Commit | Line | Data |
---|---|---|
eac338cf | 1 | # If you change this file, please also look at files which source this one: |
54530ea4 AM |
2 | # armelf_vxworks.sh elf32ebmipvxworks.sh elf32elmipvxworks.sh |
3 | # elf_i386_vxworks.sh elf32ppcvxworks.sh elf32_sparc_vxworks.sh | |
4 | # shelf_vxworks.sh | |
eac338cf PB |
5 | |
6 | # The Diab tools use a different init/fini convention. Initialization code | |
7 | # is place in sections named ".init$NN". These sections are then concatenated | |
8 | # into the .init section. It is important that .init$00 be first and .init$99 | |
9 | # be last. The other sections should be sorted, but the current linker script | |
10 | # parse does not seem to allow that with the SORT keyword in this context. | |
11 | INIT_START='_init = .; | |
6c19b93b AM |
12 | KEEP (*(.init$00)); |
13 | KEEP (*(.init$0[1-9])); | |
14 | KEEP (*(.init$[1-8][0-9])); | |
15 | KEEP (*(.init$9[0-8]));' | |
eac338cf PB |
16 | INIT_END='KEEP (*(.init$99));' |
17 | FINI_START='_fini = .; | |
6c19b93b AM |
18 | KEEP (*(.fini$00)); |
19 | KEEP (*(.fini$0[1-9])); | |
20 | KEEP (*(.fini$[1-8][0-9])); | |
21 | KEEP (*(.fini$9[0-8]));' | |
55e6e397 | 22 | FINI_END="KEEP (*(.fini\$99)); |
6c19b93b | 23 | PROVIDE (${SYMPREFIX}_etext = .);" |
eac338cf | 24 | |
64c1b14e | 25 | OTHER_READWRITE_SECTIONS=".tls_data ${RELOCATING-0} : {${RELOCATING+ |
abbda6d0 NS |
26 | __wrs_rtp_tls_data_start = .; |
27 | ___wrs_rtp_tls_data_start = .;} | |
28 | *(.tls_data${RELOCATING+ .tls_data.*}) | |
29 | }${RELOCATING+ | |
30 | __wrs_rtp_tls_data_size = . - __wrs_rtp_tls_data_start; | |
31 | ___wrs_rtp_tls_data_size = . - __wrs_rtp_tls_data_start; | |
32 | __wrs_rtp_tls_data_align = ALIGNOF(.tls_data); | |
64c1b14e NS |
33 | ___wrs_rtp_tls_data_align = ALIGNOF(.tls_data);} |
34 | .tls_vars ${RELOCATING-0} : {${RELOCATING+ | |
abbda6d0 NS |
35 | __wrs_rtp_tls_vars_start = .; |
36 | ___wrs_rtp_tls_vars_start = .;} | |
37 | *(.tls_vars${RELOCATING+ .tls_vars.*}) | |
38 | }${RELOCATING+ | |
39 | __wrs_rtp_tls_vars_size = SIZEOF(.tls_vars); | |
40 | ___wrs_rtp_tls_vars_size = SIZEOF(.tls_vars);}" | |
41 | ||
1f7f5cbe | 42 | TEXT_START_ADDR="(DEFINED (__wrs_rtp_base) ? __wrs_rtp_base : 0)" |
eac338cf | 43 | ETEXT_NAME=etext_unrelocated |
55e6e397 RS |
44 | OTHER_END_SYMBOLS="PROVIDE (${SYMPREFIX}_ehdr = ${TEXT_START_ADDR});" |
45 | DATA_END_SYMBOLS=".edata : { PROVIDE (${SYMPREFIX}_edata = .); }" | |
4f471f39 RS |
46 | VXWORKS_BASE_EM_FILE=$EXTRA_EM_FILE |
47 | EXTRA_EM_FILE=vxworks | |
00a97672 | 48 | unset EMBEDDED |