c6dd86c695
* ld.texinfo: Document above. * emulparams/armelf_linux.sh (OTHER_TEXT_SECTIONS): Add .vfp11_veneer section. * emulparams/armelf.sh (OTHER_TEXT_SECTIONS): Likewise. * emultempl/armelf.em (vfp11_denorm_fix): New static variable. (arm_elf_before_allocation): Call bfd_elf32_arm_set_vfp11_fix, bfd_elf32_arm_init_maps and bfd_elf32_arm_vfp11_erratum_scan. (arm_elf_after_allocation): New function. Call bfd_elf32_arm_vfp11_fix_veneer_locations for all input statements. (arm_elf_create_output_section_statements): Pass vfp11 fix command line option to BFD. (OPTION_VFP11_DENORM_FIX): New option. (PARSE_AND_LIST_LONGOPTS): Handle new option. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. (LDEMUL_AFTER_ALLOCATION): Define.
24 lines
716 B
Bash
24 lines
716 B
Bash
ARCH=arm
|
|
SCRIPT_NAME=elf
|
|
OUTPUT_FORMAT="elf32-littlearm"
|
|
BIG_OUTPUT_FORMAT="elf32-bigarm"
|
|
LITTLE_OUTPUT_FORMAT="elf32-littlearm"
|
|
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
|
|
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
|
|
TEMPLATE_NAME=elf32
|
|
EXTRA_EM_FILE=armelf
|
|
GENERATE_SHLIB_SCRIPT=yes
|
|
GENERATE_PIE_SCRIPT=yes
|
|
|
|
DATA_START_SYMBOLS='__data_start = . ;';
|
|
OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer)'
|
|
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)) }'
|
|
|
|
TEXT_START_ADDR=0x00008000
|
|
TARGET2_TYPE=got-rel
|
|
|
|
# ARM does not support .s* sections.
|
|
NO_SMALL_DATA=yes
|