diff options
| -rw-r--r-- | recipes-kernel/linux/linux-qoriq/0001-powerpc-Align-TOC-to-256-bytes.patch | 37 | ||||
| -rw-r--r-- | recipes-kernel/linux/linux-qoriq_3.12.bb | 1 |
2 files changed, 38 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-qoriq/0001-powerpc-Align-TOC-to-256-bytes.patch b/recipes-kernel/linux/linux-qoriq/0001-powerpc-Align-TOC-to-256-bytes.patch new file mode 100644 index 000000000..2131c9d5a --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq/0001-powerpc-Align-TOC-to-256-bytes.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From 7d4d16a6ccdd6d965b84284262a67d5b63426d50 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
| 3 | Date: Mon, 9 Nov 2015 04:36:29 -0600 | ||
| 4 | Subject: [PATCH] powerpc: Align TOC to 256 bytes | ||
| 5 | |||
| 6 | Recent toolchains(gcc-5.2) force the TOC to be 256 byte aligned. We need | ||
| 7 | to enforce this alignment in our linker script, otherwise pointers | ||
| 8 | to our TOC variables (__toc_start, __prom_init_toc_start) could | ||
| 9 | be incorrect. | ||
| 10 | |||
| 11 | If they are bad, we die a few hundred instructions into boot. | ||
| 12 | |||
| 13 | Upstream-Status: Backport | ||
| 14 | |||
| 15 | Backport from https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5e95235 | ||
| 16 | |||
| 17 | Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
| 18 | --- | ||
| 19 | arch/powerpc/kernel/vmlinux.lds.S | 2 ++ | ||
| 20 | 1 file changed, 2 insertions(+) | ||
| 21 | |||
| 22 | diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S | ||
| 23 | index f096e72..3266864 100644 | ||
| 24 | --- a/arch/powerpc/kernel/vmlinux.lds.S | ||
| 25 | +++ b/arch/powerpc/kernel/vmlinux.lds.S | ||
| 26 | @@ -213,6 +213,8 @@ SECTIONS | ||
| 27 | *(.opd) | ||
| 28 | } | ||
| 29 | |||
| 30 | + . = ALIGN(256); | ||
| 31 | + | ||
| 32 | .got : AT(ADDR(.got) - LOAD_OFFSET) { | ||
| 33 | __toc_start = .; | ||
| 34 | #ifndef CONFIG_RELOCATABLE | ||
| 35 | -- | ||
| 36 | 2.3.3 | ||
| 37 | |||
diff --git a/recipes-kernel/linux/linux-qoriq_3.12.bb b/recipes-kernel/linux/linux-qoriq_3.12.bb index 1d973cde5..23a2e004b 100644 --- a/recipes-kernel/linux/linux-qoriq_3.12.bb +++ b/recipes-kernel/linux/linux-qoriq_3.12.bb | |||
| @@ -6,6 +6,7 @@ SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;nobranch=1 \ | |||
| 6 | file://0001-ARM-8158-LLVMLinux-use-static-inline-in-ARM-ftrace.patch \ | 6 | file://0001-ARM-8158-LLVMLinux-use-static-inline-in-ARM-ftrace.patch \ |
| 7 | file://0001-ARM-LLVMLinux-Change-extern-inline-to-static-inline.patch \ | 7 | file://0001-ARM-LLVMLinux-Change-extern-inline-to-static-inline.patch \ |
| 8 | file://0003-use-static-inline-in-ARM-lifeboot.h.patch \ | 8 | file://0003-use-static-inline-in-ARM-lifeboot.h.patch \ |
| 9 | file://0001-powerpc-Align-TOC-to-256-bytes.patch \ | ||
| 9 | " | 10 | " |
| 10 | 11 | ||
| 11 | SRCREV = "f488de6741d5ba805b9fe813d2ddf32368d3a888" | 12 | SRCREV = "f488de6741d5ba805b9fe813d2ddf32368d3a888" |
