1 |
38 |
julius |
# If you change this file, please also look at files which source this one:
|
2 |
|
|
# armelf_vxworks.sh elf32ebmipvxworks.sh elf32elmipvxworks.sh
|
3 |
|
|
# elf_i386_vxworks.sh elf32ppcvxworks.sh elf32_sparc_vxworks.sh
|
4 |
|
|
# shelf_vxworks.sh
|
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 = .;
|
12 |
|
|
KEEP (*(.init$00));
|
13 |
|
|
KEEP (*(.init$0[1-9]));
|
14 |
|
|
KEEP (*(.init$[1-8][0-9]));
|
15 |
|
|
KEEP (*(.init$9[0-8]));'
|
16 |
|
|
INIT_END='KEEP (*(.init$99));'
|
17 |
|
|
FINI_START='_fini = .;
|
18 |
|
|
KEEP (*(.fini$00));
|
19 |
|
|
KEEP (*(.fini$0[1-9]));
|
20 |
|
|
KEEP (*(.fini$[1-8][0-9]));
|
21 |
|
|
KEEP (*(.fini$9[0-8]));'
|
22 |
|
|
FINI_END="KEEP (*(.fini\$99));
|
23 |
|
|
PROVIDE (${SYMPREFIX}_etext = .);"
|
24 |
|
|
|
25 |
|
|
OTHER_READONLY_SECTIONS=".tls_data ${RELOCATING-0} : {${RELOCATING+
|
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);
|
33 |
|
|
___wrs_rtp_tls_data_align = ALIGNOF(.tls_data);}"
|
34 |
|
|
|
35 |
|
|
OTHER_READWRITE_SECTIONS=".tls_vars ${RELOCATING-0} : {${RELOCATING+
|
36 |
|
|
__wrs_rtp_tls_vars_start = .;
|
37 |
|
|
___wrs_rtp_tls_vars_start = .;}
|
38 |
|
|
*(.tls_vars${RELOCATING+ .tls_vars.*})
|
39 |
|
|
}${RELOCATING+
|
40 |
|
|
__wrs_rtp_tls_vars_size = SIZEOF(.tls_vars);
|
41 |
|
|
___wrs_rtp_tls_vars_size = SIZEOF(.tls_vars);}"
|
42 |
|
|
|
43 |
|
|
ETEXT_NAME=etext_unrelocated
|
44 |
|
|
OTHER_END_SYMBOLS="PROVIDE (${SYMPREFIX}_ehdr = ${TEXT_START_ADDR});"
|
45 |
|
|
DATA_END_SYMBOLS=".edata : { PROVIDE (${SYMPREFIX}_edata = .); }"
|
46 |
|
|
VXWORKS_BASE_EM_FILE=$EXTRA_EM_FILE
|
47 |
|
|
EXTRA_EM_FILE=vxworks
|
48 |
|
|
unset EMBEDDED
|