blob: 74a11ac67c0dabc9a4edbd632e4d61aad99f0268 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# 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_READONLY_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);}"
OTHER_READWRITE_SECTIONS=".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);}"
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
|