diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 6 | ||||
-rw-r--r-- | include/elf/arc-reloc.def | 7 | ||||
-rw-r--r-- | include/opcode/arc-func.h | 15 |
3 files changed, 27 insertions, 1 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index cecaa88..a31f62e 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +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. + 2017-07-18 Nick Clifton <nickc@redhat.com> PR 21775 diff --git a/include/elf/arc-reloc.def b/include/elf/arc-reloc.def index aa2309c..c58ca96 100644 --- a/include/elf/arc-reloc.def +++ b/include/elf/arc-reloc.def @@ -414,6 +414,13 @@ ARC_RELOC_HOWTO(ARC_S25H_PCREL_PLT, 61, \ signed, \ ( ME ( ( ( ( L + A ) - P ) >> 1 ) ) )) +ARC_RELOC_HOWTO(ARC_JLI_SECTOFF, 63, \ + 1, \ + 10, \ + replace_jli, \ + bitfield, \ + ( ( S - JLI ) >> 2)) + ARC_RELOC_HOWTO(ARC_TLS_DTPMOD, 66, \ 2, \ 32, \ diff --git a/include/opcode/arc-func.h b/include/opcode/arc-func.h index c794593..fb45b07 100644 --- a/include/opcode/arc-func.h +++ b/include/opcode/arc-func.h @@ -274,8 +274,21 @@ replace_disp12s (unsigned insn, int value ATTRIBUTE_UNUSED) insn = insn & ~0xfff; insn |= ((value >> 0) & 0x003f) << 6; insn |= ((value >> 6) & 0x003f) << 0; - return insn; } #endif /* REPLACE_disp12s */ + +/* mask = 0000001111111111. */ +#ifndef REPLACE_jli +#define REPLACE_jli +ATTRIBUTE_UNUSED static unsigned +replace_jli (unsigned insn, int value) +{ + insn = insn & ~0x3ff; + insn |= ((value >> 0) & 0x03ff) << 0; + + return insn; +} + +#endif /* REPLACE_jli */ |