X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Femulparams%2Farmelf.sh;h=0e3147c1f243a64cce4f05a0016aee8180fb6594;hb=8a46e447a88d2577f4344d373b521eb6905cb869;hp=8c79b6495dafcb7abe716051754387b15501350d;hpb=0f1ee8892239c700ecce2a4a1fec84ee3660a7bc;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/emulparams/armelf.sh b/ld/emulparams/armelf.sh index 8c79b6495d..0e3147c1f2 100644 --- a/ld/emulparams/armelf.sh +++ b/ld/emulparams/armelf.sh @@ -4,19 +4,45 @@ OUTPUT_FORMAT="elf32-littlearm" BIG_OUTPUT_FORMAT="elf32-bigarm" LITTLE_OUTPUT_FORMAT="elf32-littlearm" TEXT_START_ADDR=0x8000 -TEMPLATE_NAME=armelf -OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' -OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' +TEMPLATE_NAME=elf +EXTRA_EM_FILE=armelf +OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)' +OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};" +OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};" +OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};" +OTHER_SECTIONS=' +.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } +/* This section contains data that is not initialised during load + *or* application reset. */ + .noinit (NOLOAD) : + { + . = ALIGN(2); + PROVIDE (__noinit_start = .); + *(.noinit) + . = ALIGN(2); + PROVIDE (__noinit_end = .); + } +' +ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' +OTHER_READONLY_SECTIONS=" + .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) } + ${RELOCATING+ PROVIDE_HIDDEN (__exidx_start = .); } + .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) } + ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }" + +DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};" GENERATE_SHLIB_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes ARCH=arm MACHINE= -MAXPAGESIZE=256 +MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ENTRY=_start EMBEDDED=yes -# Hmmm, there's got to be a better way. This sets the stack to the -# top of the simulator memory (2^19 bytes). -OTHER_RELOCATING_SECTIONS='.stack 0x80000 : { _stack = .; *(.stack) }' +# This sets the stack to the top of the simulator memory (2^19 bytes). +STACK_ADDR=0x80000 + +# ARM does not support .s* sections. +NO_SMALL_DATA=yes