xref: /netbsd-src/external/gpl3/binutils/dist/ld/emulparams/elf32xtensa.sh (revision abb0f93cd77b67f080613360c65701f85e5f5cfe)
1SCRIPT_NAME=elfxtensa
2TEMPLATE_NAME=elf32
3EXTRA_EM_FILE=xtensaelf
4OUTPUT_FORMAT=undefined
5BIG_OUTPUT_FORMAT="elf32-xtensa-be"
6LITTLE_OUTPUT_FORMAT="elf32-xtensa-le"
7TEXT_START_ADDR=0x400000
8MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
9ARCH=xtensa
10MACHINE=
11GENERATE_SHLIB_SCRIPT=yes
12GENERATE_PIE_SCRIPT=yes
13GENERATE_COMBRELOC_SCRIPT=yes
14NO_SMALL_DATA=yes
15TEXT_PLT=yes
16PLT="/* .plt* sections are embedded in .text */"
17GOT=".got          ${RELOCATING-0} : { *(.got) }"
18OTHER_READONLY_SECTIONS="
19  .got.loc      ${RELOCATING-0} : { *(.got.loc) }
20  .xt_except_table ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.xt_except_table${RELOCATING+ .xt_except_table.* .gnu.linkonce.e.*})) }
21"
22OTHER_RELRO_SECTIONS="
23  .xt_except_table ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.xt_except_table${RELOCATING+ .xt_except_table.* .gnu.linkonce.e.*})) }
24"
25OTHER_READWRITE_SECTIONS="
26  .xt_except_desc ${RELOCATING-0} :
27  {
28    *(.xt_except_desc${RELOCATING+ .xt_except_desc.* .gnu.linkonce.h.*})
29    ${RELOCATING+*(.xt_except_desc_end)}
30  }
31"
32OTHER_SDATA_SECTIONS="
33  .lit4         ${RELOCATING-0} :
34  {
35    ${RELOCATING+PROVIDE (_lit4_start = .);}
36    *(.lit4${RELOCATING+ .lit4.* .gnu.linkonce.lit4.*})
37    ${RELOCATING+PROVIDE (_lit4_end = .);}
38  }
39"
40OTHER_SECTIONS="
41  .xt.lit       0 : { KEEP (*(.xt.lit${RELOCATING+ .xt.lit.* .gnu.linkonce.p.*})) }
42  .xt.insn      0 : { KEEP (*(.xt.insn${RELOCATING+ .gnu.linkonce.x.*})) }
43  .xt.prop      0 : { KEEP (*(.xt.prop${RELOCATING+ .xt.prop.* .gnu.linkonce.prop.*})) }
44"
45