diff options
author | John Eric Martin <John.Martin@emmicro-us.com> | 2017-07-19 09:56:55 +0200 |
---|---|---|
committer | claziss <claziss@synopsys.com> | 2017-07-19 09:56:55 +0200 |
commit | 684d5a10b1332e2a1b03a1d6e7a899ef87b3ea16 (patch) | |
tree | 86314acf8134b81adb49a35e6f5c685607e03205 /ld/scripttempl | |
parent | e4943f2c7569a829eb6129f10f7c5401a96aaa08 (diff) | |
download | gdb-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.sc | 6 | ||||
-rw-r--r-- | ld/scripttempl/elfarcv2.sc | 5 |
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} : { |