| From 1bfd1921110fe4bede2139f35f54e495004985e8 Mon Sep 17 00:00:00 2001 |
| From: Michael Ellerman <mpe@ellerman.id.au> |
| Date: Tue, 7 Mar 2017 16:14:49 +1100 |
| Subject: [PATCH] powerpc/boot: Fix zImage TOC alignment |
| |
| commit 97ee351b50a49717543533cfb85b4bf9d88c9680 upstream. |
| |
| 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> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| 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 = .; |
| -- |
| 2.12.0 |
| |