summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2015-05-14 14:45:40 +1000
committerSasha Levin <sasha.levin@oracle.com>2015-06-10 13:42:21 -0400
commit00f255cfbb795222c0bef47c019f9350197c4c2d (patch)
treec34820d616492d36d0ad9a599d71819c704b1fcb
parentc67ad812758fb5f5bf76e92abbe5dbff75fe47d2 (diff)
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.S1
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