diff options
Diffstat (limited to 'ld/emulparams')
-rw-r--r-- | ld/emulparams/elf32xtensa.sh | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/ld/emulparams/elf32xtensa.sh b/ld/emulparams/elf32xtensa.sh index 8cc8f0d..f342433 100644 --- a/ld/emulparams/elf32xtensa.sh +++ b/ld/emulparams/elf32xtensa.sh @@ -13,21 +13,30 @@ GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes GENERATE_COMBRELOC_SCRIPT=yes NO_SMALL_DATA=yes +TEXT_PLT=yes PLT="/* .plt* sections are embedded in .text */" GOT=".got ${RELOCATING-0} : { *(.got) }" OTHER_READONLY_SECTIONS=" .got.loc ${RELOCATING-0} : { *(.got.loc) } - .xt_except_table ${RELOCATING-0} : { KEEP (*(.xt_except_table)) } + .xt_except_table ${RELOCATING-0} : { KEEP (*(.xt_except_table${RELOCATING+ .xt_except_table.* .gnu.linkonce.e.*})) } " OTHER_READWRITE_SECTIONS=" .xt_except_desc ${RELOCATING-0} : { - *(.xt_except_desc${RELOCATING+ .gnu.linkonce.h.*}) + *(.xt_except_desc${RELOCATING+ .xt_except_desc.* .gnu.linkonce.h.*}) ${RELOCATING+*(.xt_except_desc_end)} } " +OTHER_SDATA_SECTIONS=" + .lit4 ${RELOCATING-0} : + { + ${RELOCATING+PROVIDE (_lit4_start = .);} + *(.lit4${RELOCATING+ .lit4.* .gnu.linkonce.lit4.*}) + ${RELOCATING+PROVIDE (_lit4_end = .);} + } +" OTHER_SECTIONS=" - .xt.lit 0 : { *(.xt.lit${RELOCATING+ .xt.lit.* .gnu.linkonce.p.*}) } - .xt.insn 0 : { *(.xt.insn${RELOCATING+ .gnu.linkonce.x.*}) } - .xt.prop 0 : { *(.xt.prop${RELOCATING+ .xt.prop.* .gnu.linkonce.prop.*}) } + .xt.lit 0 : { *(.xt.lit${RELOCATING+ .xt.lit.* .gnu.linkonce.p.*}) } + .xt.insn 0 : { *(.xt.insn${RELOCATING+ .gnu.linkonce.x.*}) } + .xt.prop 0 : { *(.xt.prop${RELOCATING+ .xt.prop.* .gnu.linkonce.prop.*}) } " |