lkml.org 
[lkml]   [2011]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[24/71] ARM: zImage: make sure the stack is 64-bit aligned
    2.6.38-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Nicolas Pitre <nicolas.pitre@linaro.org>

    commit 3bd2cbb95543acf44fe123eb9f038de54e655eb4 upstream.

    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>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    arch/arm/boot/compressed/Makefile | 2 +-
    arch/arm/boot/compressed/vmlinux.lds.in | 1 +
    2 files changed, 2 insertions(+), 1 deletion(-)

    --- a/arch/arm/boot/compressed/Makefile
    +++ b/arch/arm/boot/compressed/Makefile
    @@ -59,7 +59,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)/
    --- a/arch/arm/boot/compressed/vmlinux.lds.in
    +++ b/arch/arm/boot/compressed/vmlinux.lds.in
    @@ -57,6 +57,7 @@ SECTIONS
    .bss : { *(.bss) }
    _end = .;

    + . = ALIGN(8); /* the stack must be 64-bit aligned */
    .stack : { *(.stack) }

    .stab 0 : { *(.stab) }



    \
     
     \ /
      Last update: 2011-05-19 20:11    [W:3.395 / U:0.428 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site