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 /opcodes/arc-opc.c | |
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 'opcodes/arc-opc.c')
-rw-r--r-- | opcodes/arc-opc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/opcodes/arc-opc.c b/opcodes/arc-opc.c index c266f4f..7f934ce 100644 --- a/opcodes/arc-opc.c +++ b/opcodes/arc-opc.c @@ -2039,8 +2039,14 @@ const struct arc_operand arc_operands[] = | ARC_OPERAND_TRUNCATE | ARC_OPERAND_PCREL, insert_simm8_a16_9_s, extract_simm8_a16_9_s}, +/* UIMM10_6_S_JLIOFF mask = 0000001111111111. */ +#define UIMM10_6_S_JLIOFF (SIMM8_A16_9_S + 1) + {12, 0, BFD_RELOC_ARC_JLI_SECTOFF, ARC_OPERAND_UNSIGNED + | ARC_OPERAND_ALIGNED32 | ARC_OPERAND_TRUNCATE, insert_uimm10_6_s, + extract_uimm10_6_s}, + /* UIMM3_23 mask = 00000000000000000000000111000000. */ -#define UIMM3_23 (SIMM8_A16_9_S + 1) +#define UIMM3_23 (UIMM10_6_S_JLIOFF + 1) {3, 0, 0, ARC_OPERAND_UNSIGNED, insert_uimm3_23, extract_uimm3_23}, /* UIMM10_6_S mask = 0000001111111111. */ |