| # If you change this file, please also look at files which source this one: |
| # armelf_vxworks.sh elf32ebmipvxworks.sh elf32elmipvxworks.sh |
| # elf_i386_vxworks.sh elf32ppcvxworks.sh elf32_sparc_vxworks.sh |
| # shelf_vxworks.sh |
| |
| # The Diab tools use a different init/fini convention. Initialization code |
| # is place in sections named ".init$NN". These sections are then concatenated |
| # into the .init section. It is important that .init$00 be first and .init$99 |
| # be last. The other sections should be sorted, but the current linker script |
| # parse does not seem to allow that with the SORT keyword in this context. |
| INIT_START='_init = .; |
| KEEP (*(.init$00)); |
| KEEP (*(.init$0[1-9])); |
| KEEP (*(.init$[1-8][0-9])); |
| KEEP (*(.init$9[0-8]));' |
| INIT_END='KEEP (*(.init$99));' |
| FINI_START='_fini = .; |
| KEEP (*(.fini$00)); |
| KEEP (*(.fini$0[1-9])); |
| KEEP (*(.fini$[1-8][0-9])); |
| KEEP (*(.fini$9[0-8]));' |
| FINI_END="KEEP (*(.fini\$99)); |
| PROVIDE (${SYMPREFIX}_etext = .);" |
| |
| OTHER_READWRITE_SECTIONS=".tls_data ${RELOCATING-0} : {${RELOCATING+ |
| __wrs_rtp_tls_data_start = .; |
| ___wrs_rtp_tls_data_start = .;} |
| *(.tls_data${RELOCATING+ .tls_data.*}) |
| }${RELOCATING+ |
| __wrs_rtp_tls_data_size = . - __wrs_rtp_tls_data_start; |
| ___wrs_rtp_tls_data_size = . - __wrs_rtp_tls_data_start; |
| __wrs_rtp_tls_data_align = ALIGNOF(.tls_data); |
| ___wrs_rtp_tls_data_align = ALIGNOF(.tls_data);} |
| .tls_vars ${RELOCATING-0} : {${RELOCATING+ |
| __wrs_rtp_tls_vars_start = .; |
| ___wrs_rtp_tls_vars_start = .;} |
| *(.tls_vars${RELOCATING+ .tls_vars.*}) |
| }${RELOCATING+ |
| __wrs_rtp_tls_vars_size = SIZEOF(.tls_vars); |
| ___wrs_rtp_tls_vars_size = SIZEOF(.tls_vars);}" |
| |
| TEXT_START_ADDR="(DEFINED (__wrs_rtp_base) ? __wrs_rtp_base : 0)" |
| ETEXT_NAME=etext_unrelocated |
| OTHER_END_SYMBOLS="PROVIDE (${SYMPREFIX}_ehdr = ${TEXT_START_ADDR});" |
| DATA_END_SYMBOLS=".edata : { PROVIDE (${SYMPREFIX}_edata = .); }" |
| VXWORKS_BASE_EM_FILE=$EXTRA_EM_FILE |
| EXTRA_EM_FILE=vxworks |
| unset EMBEDDED |