diff options
author | Anton Blanchard <anton@samba.org> | 2015-05-14 14:45:40 +1000 |
---|---|---|
committer | Sasha Levin <sasha.levin@oracle.com> | 2015-06-10 13:42:21 -0400 |
commit | 00f255cfbb795222c0bef47c019f9350197c4c2d (patch) | |
tree | c34820d616492d36d0ad9a599d71819c704b1fcb | |
parent | c67ad812758fb5f5bf76e92abbe5dbff75fe47d2 (diff) | |
download | lwn-00f255cfbb795222c0bef47c019f9350197c4c2d.tar.gz lwn-00f255cfbb795222c0bef47c019f9350197c4c2d.zip |
powerpc: Align TOC to 256 bytes
[ Upstream commit 5e95235ccd5442d4a4fe11ec4eb99ba1b7959368 ]
Recent toolchains force the TOC to be 256 byte aligned. We need
to enforce this alignment in our linker script, otherwise pointers
to our TOC variables (__toc_start, __prom_init_toc_start) could
be incorrect.
If they are bad, we die a few hundred instructions into boot.
Cc: stable@vger.kernel.org
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
-rw-r--r-- | arch/powerpc/kernel/vmlinux.lds.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index f096e72262f4..1db685104ffc 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -213,6 +213,7 @@ SECTIONS *(.opd) } + . = ALIGN(256); .got : AT(ADDR(.got) - LOAD_OFFSET) { __toc_start = .; #ifndef CONFIG_RELOCATABLE |