diff options
Diffstat (limited to 'ld/emulparams/armelf.sh')
-rw-r--r-- | ld/emulparams/armelf.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ld/emulparams/armelf.sh b/ld/emulparams/armelf.sh new file mode 100644 index 0000000..672b208 --- /dev/null +++ b/ld/emulparams/armelf.sh @@ -0,0 +1,35 @@ +MACHINE= +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf32-littlearm" +BIG_OUTPUT_FORMAT="elf32-bigarm" +LITTLE_OUTPUT_FORMAT="elf32-littlearm" +TEXT_START_ADDR=0x8000 +TEMPLATE_NAME=elf32 +EXTRA_EM_FILE=armelf +OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)' +OTHER_BSS_SYMBOLS='__bss_start__ = .;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' +OTHER_END_SYMBOLS='__end__ = . ;' +OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' +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='__data_start = . ;'; + +GENERATE_SHLIB_SCRIPT=yes + +ARCH=arm +MACHINE= +MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +ENTRY=_start +EMBEDDED=yes + +# 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 |