Home | History | Annotate | Download | only in emulparams
      1 SCRIPT_NAME=elf
      2 TEMPLATE_NAME=elf32
      3 OUTPUT_FORMAT="elf32-tic6x-le"
      4 BIG_OUTPUT_FORMAT="elf32-tic6x-be"
      5 EXTRA_EM_FILE=tic6xdsbt
      6 GENERATE_SHLIB_SCRIPT=yes
      7 # This address is an arbitrary value expected to be suitable for
      8 # semihosting simulator use, but not on hardware where it is expected
      9 # to be overridden.
     10 case ${target} in
     11     *-elf)
     12 	TEXT_START_ADDR=0x8000
     13 	;;
     14     *-uclinux)
     15 	TEXT_START_ADDR=0x0
     16 	GOT="
     17 .got ${RELOCATING-0} : {
     18   *(.dsbt)
     19   *(.got.plt) *(.igot.plt) *(.got) *(.igot)
     20 }"
     21 	;;
     22 esac
     23 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
     24 ARCH=tic6x
     25 EXECUTABLE_SYMBOLS="EXTERN (__c6xabi_DSBT_BASE);"
     26 OTHER_GOT_SYMBOLS="PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .);"
     27 # ".bss" is near (small) BSS, ".far" is far (normal) BSS, ".const" is
     28 # far read-only data, ".rodata" is near read-only data.  ".neardata"
     29 # is near (small) data, ".fardata" is (along with .data) far data.
     30 RODATA_NAME="const"
     31 SDATA_NAME="neardata"
     32 SBSS_NAME="bss"
     33 BSS_NAME="far"
     34 OTHER_READONLY_SECTIONS="
     35   .c6xabi.extab ${RELOCATING-0} : { *(.c6xabi.extab${RELOCATING+* .gnu.linkonce.c6xabiextab.*}) }
     36   ${RELOCATING+ PROVIDE_HIDDEN (__exidx_start = .); }
     37   .c6xabi.exidx ${RELOCATING-0} : { *(.c6xabi.exidx${RELOCATING+* .gnu.linkonce.c6xabiexidx.*}) }
     38   ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }"
     39 OTHER_SDATA_SECTIONS=".rodata ${RELOCATING-0} : { *(.rodata${RELOCATING+ .rodata.*}) }"
     40 OTHER_READONLY_RELOC_SECTIONS="
     41   .rel.rodata   ${RELOCATING-0} : { *(.rel.rodata${RELOCATING+ .rel.rodata.*}) }
     42   .rela.rodata  ${RELOCATING-0} : { *(.rela.rodata${RELOCATING+ .rela.rodata.*}) }"
     43 OTHER_READWRITE_SECTIONS=".fardata ${RELOCATING-0} : { *(.fardata${RELOCATING+ .fardata.*}) }"
     44 OTHER_READWRITE_RELOC_SECTIONS="
     45   .rel.fardata     ${RELOCATING-0} : { *(.rel.fardata${RELOCATING+ .rel.fardata.*}) }
     46   .rela.fardata    ${RELOCATING-0} : { *(.rela.fardata${RELOCATING+ .rela.fardata.*}) }"
     47 case ${target} in
     48     *-elf)
     49 	OTHER_BSS_SECTIONS="
     50   .heap :
     51   {
     52     . = ALIGN(4);
     53     _HEAP_START = .;
     54     . += 0x2000000;
     55     _HEAP_MAX = .;
     56   }
     57   .stack :
     58   {
     59     . +=  0x100000;
     60     _STACK_START = .;
     61   }"
     62 	;;
     63 esac
     64 ATTRS_SECTIONS='.c6xabi.attributes 0 : { KEEP (*(.c6xabi.attributes)) KEEP (*(.gnu.attributes)) }'
     65