aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog6
-rw-r--r--include/elf/arc-reloc.def7
-rw-r--r--include/opcode/arc-func.h15
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 */