| From 97ee351b50a49717543533cfb85b4bf9d88c9680 Mon Sep 17 00:00:00 2001 |
| From: Michael Ellerman <mpe@ellerman.id.au> |
| Date: Tue, 7 Mar 2017 16:14:49 +1100 |
| Subject: powerpc/boot: Fix zImage TOC alignment |
| |
| From: Michael Ellerman <mpe@ellerman.id.au> |
| |
| 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. |
| |
| Suggested-by: Alan Modra <amodra@gmail.com> |
| Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/powerpc/boot/zImage.lds.S | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- 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 = .; |