aboutsummaryrefslogtreecommitdiff
path: root/ld/scripttempl
diff options
context:
space:
mode:
authorJohn Eric Martin <John.Martin@emmicro-us.com>2017-07-19 09:56:55 +0200
committerclaziss <claziss@synopsys.com>2017-07-19 09:56:55 +0200
commit684d5a10b1332e2a1b03a1d6e7a899ef87b3ea16 (patch)
tree86314acf8134b81adb49a35e6f5c685607e03205 /ld/scripttempl
parente4943f2c7569a829eb6129f10f7c5401a96aaa08 (diff)
downloadgdb-684d5a10b1332e2a1b03a1d6e7a899ef87b3ea16.zip
gdb-684d5a10b1332e2a1b03a1d6e7a899ef87b3ea16.tar.gz
gdb-684d5a10b1332e2a1b03a1d6e7a899ef87b3ea16.tar.bz2
[ARC] Add JLI support.
The following relocation types were added to GCC/binutils: ARC_JLI_SECTOFF is a relocation type in Metaware that is now used by GCC as well to adjust the index of function calls to functions with attribute jli_call_always. bfd/ 2017-07-19 Claudiu Zissulescu <claziss@synopsys.com> John Eric Martin <John.Martin@emmicro-us.com> * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elf32-arc.c (JLI): Define. * reloc.c: Add JLI relocations. gas/ 2017-07-19 Claudiu Zissulescu <claziss@synopsys.com> * testsuite/gas/arc/jli-1.d: New file. * testsuite/gas/arc/jli-1.s: Likewise. * testsuite/gas/arc/taux.d: Update for jli_base. include/ 2017-07-19 Claudiu Zissulescu <claziss@synopsys.com> John Eric Martin <John.Martin@emmicro-us.com> * elf/arc-reloc.def: Add JLI relocs howto. * opcode/arc-func.h (replace_jli): New function. ld/ 2017-07-19 Claudiu Zissulescu <claziss@synopsys.com> John Eric Martin <John.Martin@emmicro-us.com> * emulparams/arcelf.sh (JLI_START_TABLE): Define. * scripttempl/elfarc.sc: Handle jlitab section. * scripttempl/elfarcv2.sc: Likewise. * testsuite/ld-arc/arc.exp: Add JLI test. * testsuite/ld-arc/jli-script.ld: New file. * testsuite/ld-arc/jli-simple.dd: Likewise. * testsuite/ld-arc/jli-simple.rd: Likewise. * testsuite/ld-arc/jli-simple.s: Likewise. * testsuite/ld/testsuite/ld-arc/jli-overflow.s: Likewise. * testsuite/ld/testsuite/ld-arc/jli-overflow.d: Likewise. * testsuite/ld/testsuite/ld-arc/jli-overflow.err: Likewise. opcode/ 2017-07-19 Claudiu Zissulescu <claziss@synopsys.com> John Eric Martin <John.Martin@emmicro-us.com> * arc-opc.c (UIMM10_6_S_JLIOFF): Define. (UIMM3_23): Adjust accordingly. * arc-regs.h: Add/correct jli_base register. * arc-tbl.h (jli_s): Likewise.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r--ld/scripttempl/elfarc.sc6
-rw-r--r--ld/scripttempl/elfarcv2.sc5
2 files changed, 11 insertions, 0 deletions
diff --git a/ld/scripttempl/elfarc.sc b/ld/scripttempl/elfarc.sc
index 6754c02..4d8fef0 100644
--- a/ld/scripttempl/elfarc.sc
+++ b/ld/scripttempl/elfarc.sc
@@ -262,6 +262,12 @@ cat <<EOF
} =${NOP-0}
${DATA_PLT-${BSS_PLT-${PLT}}}
+ .jlitab ${RELOCATING-0} :
+ {
+ ${RELOCATING+${JLI_START_TABLE}}
+ jlitab*.o(.jlitab*)
+ *(.jlitab*)
+ } =${NOP-0}
.text ${RELOCATING-0} :
{
${RELOCATING+${TEXT_START_SYMBOLS}}
diff --git a/ld/scripttempl/elfarcv2.sc b/ld/scripttempl/elfarcv2.sc
index 0232d81..21bc74c 100644
--- a/ld/scripttempl/elfarcv2.sc
+++ b/ld/scripttempl/elfarcv2.sc
@@ -179,6 +179,11 @@ SECTIONS
.eh_frame : { KEEP (*(.eh_frame)) } ${RELOCATING+> ${TEXT_MEMORY}}
.gcc_except_table : { *(.gcc_except_table) *(.gcc_except_table.*) } ${RELOCATING+> ${TEXT_MEMORY}}
.plt : { *(.plt) } ${RELOCATING+> ${TEXT_MEMORY}}
+ .jlitab :
+ {
+ ${RELOCATING+${JLI_START_TABLE}}
+ jlitab*.o:(.jlitab*) *(.jlitab*)
+ } ${RELOCATING+> ${TEXT_MEMORY}}
.rodata ${RELOCATING-0} :
{