mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +00:00

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> CC: stable@kernel.org
68 lines
1.4 KiB
Text
68 lines
1.4 KiB
Text
/*
|
|
* linux/arch/arm/boot/compressed/vmlinux.lds.in
|
|
*
|
|
* Copyright (C) 2000 Russell King
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
OUTPUT_ARCH(arm)
|
|
ENTRY(_start)
|
|
SECTIONS
|
|
{
|
|
/DISCARD/ : {
|
|
*(.ARM.exidx*)
|
|
*(.ARM.extab*)
|
|
/*
|
|
* Discard any r/w data - this produces a link error if we have any,
|
|
* which is required for PIC decompression. Local data generates
|
|
* GOTOFF relocations, which prevents it being relocated independently
|
|
* of the text/got segments.
|
|
*/
|
|
*(.data)
|
|
}
|
|
|
|
. = TEXT_START;
|
|
_text = .;
|
|
|
|
.text : {
|
|
_start = .;
|
|
*(.start)
|
|
*(.text)
|
|
*(.text.*)
|
|
*(.fixup)
|
|
*(.gnu.warning)
|
|
*(.rodata)
|
|
*(.rodata.*)
|
|
*(.glue_7)
|
|
*(.glue_7t)
|
|
*(.piggydata)
|
|
. = ALIGN(4);
|
|
}
|
|
|
|
_etext = .;
|
|
|
|
_got_start = .;
|
|
.got : { *(.got) }
|
|
_got_end = .;
|
|
.got.plt : { *(.got.plt) }
|
|
_edata = .;
|
|
|
|
. = BSS_START;
|
|
__bss_start = .;
|
|
.bss : { *(.bss) }
|
|
_end = .;
|
|
|
|
. = ALIGN(8); /* the stack must be 64-bit aligned */
|
|
.stack : { *(.stack) }
|
|
|
|
.stab 0 : { *(.stab) }
|
|
.stabstr 0 : { *(.stabstr) }
|
|
.stab.excl 0 : { *(.stab.excl) }
|
|
.stab.exclstr 0 : { *(.stab.exclstr) }
|
|
.stab.index 0 : { *(.stab.index) }
|
|
.stab.indexstr 0 : { *(.stab.indexstr) }
|
|
.comment 0 : { *(.comment) }
|
|
}
|
|
|