[PATCH] ARM: Fix relocation if image end past uncompressed kernel end
Shawn Guo
shawn.guo at freescale.com
Fri Apr 22 01:36:01 EDT 2011
On Fri, Apr 22, 2011 at 01:19:14PM +0800, Shawn Guo wrote:
> > ----- >8
> >
> > From: Nicolas Pitre <nicolas.pitre at linaro.org>
> >
> > ARM: zImage: make sure the stack is 64-bit aligned
> >
> > 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 at linaro.org>
> >
> > diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
> > index 58ac434..79b5c62 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) }
> >
> So this is the [PATCH 1/3] in the same set with following two?
>
> [PATCH 2/3] ARM: zImage: don't ignore error returned from decompress()
> [PATCH 3/3] ARM: zImage: the page table memory must be considered before relocation
>
On mx51 babbage,
Tested-by: Shawn Guo <shawn.guo at linaro.org>
which is only a regression test.
--
Regards,
Shawn
More information about the linux-arm-kernel
mailing list