+2016-04-05  Claudiu Zissulescu  <claziss@synopsys.com>
+
+        * config/tc-arc.c (assemble_insn): Prohibit pc-rel relocations for
+       JUMP instructions type.
+        * testsuite/gas/arc/relocs-errors.d: New file.
+        * testsuite/gas/arc/relocs-errors.err: Likewise.
+        * testsuite/gas/arc/relocs-errors.s: Likewise.
+
 2016-04-04  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR gas/19498
 
          switch (t->X_md)
            {
            case O_plt:
+             if (opcode->class == JUMP)
+               as_bad_where (frag_now->fr_file, frag_now->fr_line,
+                             _("Unable to use @plt relocatio for insn %s"),
+                             opcode->name);
              needGOTSymbol = TRUE;
              reloc = find_reloc ("plt", opcode->name,
                                  pflags, nflg,
              break;
            case O_pcl:
              reloc = ARC_RELOC_TABLE (t->X_md)->reloc;
-             if (ARC_SHORT (opcode->mask))
+             if (ARC_SHORT (opcode->mask) || opcode->class == JUMP)
                as_bad_where (frag_now->fr_file, frag_now->fr_line,
                              _("Unable to use @pcl relocation for insn %s"),
                              opcode->name);
 
--- /dev/null
+#error-output: relocs-errors.err
 
--- /dev/null
+[^:]*: Assembler messages:
+[^:]*:1: Error: Unable to use @plt relocatio for insn j
+[^:]*:2: Error: Unable to use @plt relocatio for insn jl
+[^:]*:3: Error: Unable to use @plt relocatio for insn j
+[^:]*:5: Error: Unable to use @pcl relocation for insn j
+[^:]*:6: Error: Unable to use @pcl relocation for insn jl
+[^:]*:7: Error: Unable to use @pcl relocation for insn j
 
--- /dev/null
+       j    sym@plt
+       jl   sym@plt
+       jeq  sym@plt
+
+       j    sym@pcl
+       jl   sym@pcl
+       jeq  sym@pcl