Home | History | Annotate | Download | only in emulparams
      1 # 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_READWRITE_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   .tls_vars ${RELOCATING-0} : {${RELOCATING+
     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 
     42 TEXT_START_ADDR="(DEFINED (__wrs_rtp_base) ? __wrs_rtp_base : 0)"
     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
     49