7bf7bf1ddf6b89d8669883818585d6baf55c08e5
[deliverable/binutils-gdb.git] / ld / emulparams / elf32_tic6x_le.sh
1 SCRIPT_NAME=elf
2 TEMPLATE_NAME=elf
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 ${RELOCATING+*(.dsbt)
19 *(.got.plt) *(.igot.plt) }*(.got)${RELOCATING+ *(.igot)}
20 }"
21 ;;
22 esac
23 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
24 ARCH=tic6x
25 OTHER_GOT_SYMBOLS="PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .);"
26 # ".bss" is near (small) BSS, ".far" is far (normal) BSS, ".const" is
27 # far read-only data, ".rodata" is near read-only data. ".neardata"
28 # is near (small) data, ".fardata" is (along with .data) far data.
29 RODATA_NAME="const"
30 SDATA_NAME="neardata"
31 SBSS_NAME="bss"
32 BSS_NAME="far"
33 OTHER_READONLY_SECTIONS="
34 .c6xabi.extab ${RELOCATING-0} : { *(.c6xabi.extab${RELOCATING+* .gnu.linkonce.c6xabiextab.*}) }
35 ${RELOCATING+ PROVIDE_HIDDEN (__exidx_start = .); }
36 .c6xabi.exidx ${RELOCATING-0} : { *(.c6xabi.exidx${RELOCATING+* .gnu.linkonce.c6xabiexidx.*}) }
37 ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }"
38 OTHER_SDATA_SECTIONS=".rodata ${RELOCATING-0} : { *(.rodata${RELOCATING+ .rodata.*}) }"
39 OTHER_READONLY_RELOC_SECTIONS="
40 .rel.rodata ${RELOCATING-0} : { *(.rel.rodata${RELOCATING+ .rel.rodata.*}) }
41 .rela.rodata ${RELOCATING-0} : { *(.rela.rodata${RELOCATING+ .rela.rodata.*}) }"
42 OTHER_READWRITE_SECTIONS=".fardata ${RELOCATING-0} : { *(.fardata${RELOCATING+ .fardata.*}) }"
43 OTHER_READWRITE_RELOC_SECTIONS="
44 .rel.fardata ${RELOCATING-0} : { *(.rel.fardata${RELOCATING+ .rel.fardata.*}) }
45 .rela.fardata ${RELOCATING-0} : { *(.rela.fardata${RELOCATING+ .rela.fardata.*}) }"
46 # For relocating operation, skip OTHER_BSS_SECTIONS, or will cause multiple definition.
47 if [ ${RELOCATING-0} ]; then
48 OTHER_BSS_SECTIONS="";
49 else
50 case ${target} in
51
52 *-elf)
53 OTHER_BSS_SECTIONS="
54 .heap :
55 {
56 . = ALIGN(4);
57 _HEAP_START = .;
58 . += 0x2000000;
59 _HEAP_MAX = .;
60 }
61 .stack :
62 {
63 . += 0x100000;
64 _STACK_START = .;
65 }"
66 ;;
67 esac
68 fi
69 ATTRS_SECTIONS='.c6xabi.attributes 0 : { KEEP (*(.c6xabi.attributes)) KEEP (*(.gnu.attributes)) }'
This page took 0.046515 seconds and 3 git commands to generate.