|
@@ -0,0 +1,39 @@
|
|
|
+diff -Nur binutils-2.35.orig/bfd/elf32-cris.c binutils-2.35/bfd/elf32-cris.c
|
|
|
+--- binutils-2.35.orig/bfd/elf32-cris.c 2020-07-24 11:12:19.000000000 +0200
|
|
|
++++ binutils-2.35/bfd/elf32-cris.c 2020-09-07 10:56:01.075626508 +0200
|
|
|
+@@ -1021,7 +1021,6 @@
|
|
|
+ bfd_reloc_status_type r;
|
|
|
+ const char *symname = NULL;
|
|
|
+ enum elf_cris_reloc_type r_type;
|
|
|
+- bfd_boolean resolved_to_zero;
|
|
|
+
|
|
|
+ r_type = ELF32_R_TYPE (rel->r_info);
|
|
|
+
|
|
|
+@@ -1134,9 +1133,6 @@
|
|
|
+ if (bfd_link_relocatable (info))
|
|
|
+ continue;
|
|
|
+
|
|
|
+- resolved_to_zero = (h != NULL
|
|
|
+- && UNDEFWEAK_NO_DYNAMIC_RELOC (info, h));
|
|
|
+-
|
|
|
+ switch (r_type)
|
|
|
+ {
|
|
|
+ case R_CRIS_16_GOTPLT:
|
|
|
+@@ -1439,7 +1435,6 @@
|
|
|
+ case R_CRIS_16:
|
|
|
+ case R_CRIS_32:
|
|
|
+ if (bfd_link_pic (info)
|
|
|
+- && !resolved_to_zero
|
|
|
+ && r_symndx != STN_UNDEF
|
|
|
+ && (input_section->flags & SEC_ALLOC) != 0
|
|
|
+ && ((r_type != R_CRIS_8_PCREL
|
|
|
+@@ -3357,8 +3352,7 @@
|
|
|
+ render the symbol local. */
|
|
|
+
|
|
|
+ /* No need to do anything if we're not creating a shared object. */
|
|
|
+- if (! bfd_link_pic (info)
|
|
|
+- || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h))
|
|
|
++ if (! bfd_link_pic (info))
|
|
|
+ break;
|
|
|
+
|
|
|
+ /* We may need to create a reloc section in the dynobj and made room
|