summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2017-03-07 16:14:49 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2017-03-08 10:39:32 +1100
commit97ee351b50a49717543533cfb85b4bf9d88c9680 (patch)
tree1fc6fd4f091418625cf5bc13dd995aa3e21eaf2c
parentf7d6a7283aa1de430c6323a9714d1a787bc2d1ea (diff)
powerpc/boot: Fix zImage TOC alignment
Recent toolchains force the TOC to be 256 byte aligned. We need to enforce this alignment in the zImage linker script, otherwise pointers to our TOC variables (__toc_start) could be incorrect. If the actual start of the TOC and __toc_start don't have the same value we crash early in the zImage wrapper. Cc: stable@vger.kernel.org Suggested-by: Alan Modra <amodra@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/boot/zImage.lds.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/boot/zImage.lds.S b/arch/powerpc/boot/zImage.lds.S
index 861e72109df2..f080abfc2f83 100644
--- a/arch/powerpc/boot/zImage.lds.S
+++ b/arch/powerpc/boot/zImage.lds.S
@@ -68,6 +68,7 @@ SECTIONS
}
#ifdef CONFIG_PPC64_BOOT_WRAPPER
+ . = ALIGN(256);
.got :
{
__toc_start = .;