or1k: fix pc-relative relocation against dynamic on PC relative 26 bit relocation.

bfd	* elf32-or1k.c (or1k_elf_relocate_section): Use a separate entry
	in switch case R_OR1K_INSN_REL_26 where we need to check for
	!SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL().
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ff44a7e..6fea91a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2021-07-16  Giulio Benetti  <giulio.benetti@benettiengineering.com>
+
+	* elf32-or1k.c (or1k_elf_relocate_section): Use a separate entry
+	in switch case R_OR1K_INSN_REL_26 where we need to check for
+	!SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL().
+
 2021-07-14  Clément Chigot  <clement.chigot@atos.net>
 
 	* libxcoff.h (struct xcoff_dwsect_name): Add DWARF name.
diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c
index 4ae7f32..4f90925 100644
--- a/bfd/elf32-or1k.c
+++ b/bfd/elf32-or1k.c
@@ -1543,6 +1543,18 @@
 	  break;
 
 	case R_OR1K_INSN_REL_26:
+	  /* For a non-shared link, these will reference plt or call the
+	     version of actual object.  */
+	  if (bfd_link_pic (info) && !SYMBOL_CALLS_LOCAL (info, h))
+	    {
+	      _bfd_error_handler
+		(_("%pB: pc-relative relocation against dynamic symbol %s"),
+		 input_bfd, name);
+	      ret_val = false;
+	      bfd_set_error (bfd_error_bad_value);
+	    }
+	  break;
+
 	case R_OR1K_PCREL_PG21:
 	case R_OR1K_LO13:
 	case R_OR1K_SLO13: