]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
powerpc: Align TOC to 256 bytes
authorAnton Blanchard <anton@samba.org>
Thu, 14 May 2015 04:45:40 +0000 (14:45 +1000)
committerWilly Tarreau <w@1wt.eu>
Fri, 18 Sep 2015 11:52:01 +0000 (13:52 +0200)
commit 5e95235ccd5442d4a4fe11ec4eb99ba1b7959368 upstream.

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.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
(cherry picked from commit 303241421684cdd2f9e931bc42b9de811320e7fd)

Signed-off-by: Willy Tarreau <w@1wt.eu>
arch/powerpc/kernel/vmlinux.lds.S

index dcd01c82e7013c8e08f797eaa40c9543d5f2fc01..5c2ac91980ada3f5ad7fcb4fe447829fd539a5a3 100644 (file)
@@ -215,6 +215,7 @@ SECTIONS
                *(.opd)
        }
 
+       . = ALIGN(256);
        .got : AT(ADDR(.got) - LOAD_OFFSET) {
                __toc_start = .;
                *(.got)