aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
diff options
context:
space:
mode:
Diffstat (limited to 'ld/emulparams')
-rw-r--r--ld/emulparams/elf32xtensa.sh19
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.*}) }
"