merge from gcc
[binutils.git] / ld / emulparams / vxworks.sh
blob0bd00e53afb2bc40ef268894f5910b3dd27cbfa4
1 # If you change this file, please also look at files which source this one:
2 # elf_i386_vxworks.sh elf32ppcvxworks.sh elf32ebmipvxworks.sh
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.
9 INIT_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]));'
14 INIT_END='KEEP (*(.init$99));'
15 FINI_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]));'
20 FINI_END='KEEP (*(.fini$99));
21 PROVIDE (_etext = .);'
23 ETEXT_NAME=etext_unrelocated
24 OTHER_SYMBOLS="PROVIDE (_ehdr = ${TEXT_START_ADDR});"
25 DATA_END_SYMBOLS=".edata : { PROVIDE (_edata = .); }"