Message ID | 1304031024-5121-2-git-send-email-nico@fluxnic.net |
---|---|
State | New |
Headers | show |
* Nicolas Pitre <nico@fluxnic.net> [110428 15:47]: > From: Nicolas Pitre <nicolas.pitre@linaro.org> > > With ARMv5+ and EABI, the compiler expects a 64-bit aligned stack so > instructions like STRD and LDRD can be used. Without this, mysterious > boot failures were seen semi randomly with the LZMA decompressor. > > While at it, let's align .bss as well. > > Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> > Tested-by: Shawn Guo <shawn.guo@linaro.org> > CC: stable@kernel.org Acked-by: Tony Lindgren <tony@atomide.com>
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 8ebbb51..0c6852d 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -74,7 +74,7 @@ ZTEXTADDR := $(CONFIG_ZBOOT_ROM_TEXT) ZBSSADDR := $(CONFIG_ZBOOT_ROM_BSS) else ZTEXTADDR := 0 -ZBSSADDR := ALIGN(4) +ZBSSADDR := ALIGN(8) endif SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/ diff --git a/arch/arm/boot/compressed/vmlinux.lds.in b/arch/arm/boot/compressed/vmlinux.lds.in index 5309909..ea80abe 100644 --- a/arch/arm/boot/compressed/vmlinux.lds.in +++ b/arch/arm/boot/compressed/vmlinux.lds.in @@ -54,6 +54,7 @@ SECTIONS .bss : { *(.bss) } _end = .; + . = ALIGN(8); /* the stack must be 64-bit aligned */ .stack : { *(.stack) } .stab 0 : { *(.stab) }