summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2017-03-07 06:14:49 +0100
committerMichael Ellerman <mpe@ellerman.id.au>2017-03-08 00:39:32 +0100
commit97ee351b50a49717543533cfb85b4bf9d88c9680 (patch)
tree1fc6fd4f091418625cf5bc13dd995aa3e21eaf2c
parentMerge tag 'powerpc-4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/p... (diff)
downloadlinux-97ee351b50a49717543533cfb85b4bf9d88c9680.tar.xz
linux-97ee351b50a49717543533cfb85b4bf9d88c9680.zip
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 = .;