[ARC] Add JLI support.
authorJohn Eric Martin <John.Martin@emmicro-us.com>
Wed, 19 Jul 2017 07:56:55 +0000 (09:56 +0200)
committerclaziss <claziss@synopsys.com>
Wed, 19 Jul 2017 07:56:55 +0000 (09:56 +0200)
commit684d5a10b1332e2a1b03a1d6e7a899ef87b3ea16
tree86314acf8134b81adb49a35e6f5c685607e03205
parente4943f2c7569a829eb6129f10f7c5401a96aaa08
[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.
30 files changed:
bfd/ChangeLog
bfd/bfd-in2.h
bfd/elf32-arc.c
bfd/libbfd.h
bfd/reloc.c
gas/ChangeLog
gas/testsuite/gas/arc/jli-1.d [new file with mode: 0644]
gas/testsuite/gas/arc/jli-1.s [new file with mode: 0644]
gas/testsuite/gas/arc/taux.d
include/ChangeLog
include/elf/arc-reloc.def
include/opcode/arc-func.h
ld/ChangeLog
ld/emulparams/arcelf.sh
ld/emulparams/arcv2elf.sh
ld/emulparams/arcv2elfx.sh
ld/scripttempl/elfarc.sc
ld/scripttempl/elfarcv2.sc
ld/testsuite/ld-arc/arc.exp
ld/testsuite/ld-arc/jli-overflow.d [new file with mode: 0644]
ld/testsuite/ld-arc/jli-overflow.err [new file with mode: 0644]
ld/testsuite/ld-arc/jli-overflow.s [new file with mode: 0644]
ld/testsuite/ld-arc/jli-script.ld [new file with mode: 0644]
ld/testsuite/ld-arc/jli-simple.dd [new file with mode: 0644]
ld/testsuite/ld-arc/jli-simple.rd [new file with mode: 0644]
ld/testsuite/ld-arc/jli-simple.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/arc-opc.c
opcodes/arc-regs.h
opcodes/arc-tbl.h