1# If you change this file, please also look at files which source this one:
2# elf_i386_vxworks.sh elf32ppcvxworks.sh elf32ebmipvxworks.sh
3
4# The Diab tools use a different init/fini convention.  Initialization code
5# is place in sections named ".init$NN".  These sections are then concatenated
6# into the .init section.  It is important that .init$00 be first and .init$99
7# be last. The other sections should be sorted, but the current linker script
8# parse does not seem to allow that with the SORT keyword in this context.
9INIT_START='_init = .;
10            KEEP (*(.init$00));
11            KEEP (*(.init$0[1-9]));
12            KEEP (*(.init$[1-8][0-9]));
13            KEEP (*(.init$9[0-8]));'
14INIT_END='KEEP (*(.init$99));'
15FINI_START='_fini = .;
16            KEEP (*(.fini$00));
17            KEEP (*(.fini$0[1-9]));
18            KEEP (*(.fini$[1-8][0-9]));
19            KEEP (*(.fini$9[0-8]));'
20FINI_END='KEEP (*(.fini$99));
21          PROVIDE (_etext = .);'
22
23ETEXT_NAME=etext_unrelocated
24OTHER_SYMBOLS="PROVIDE (_ehdr = ${TEXT_START_ADDR});"
25DATA_END_SYMBOLS=".edata : { PROVIDE (_edata = .); }"
26VXWORKS_BASE_EM_FILE=$EXTRA_EM_FILE
27EXTRA_EM_FILE=vxworks
28unset EMBEDDED
29