diff options
Diffstat (limited to 'toolchain/binutils/patches')
-rw-r--r-- | toolchain/binutils/patches/2.35/cris32-revert.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/toolchain/binutils/patches/2.35/cris32-revert.patch b/toolchain/binutils/patches/2.35/cris32-revert.patch new file mode 100644 index 000000000..e7d631a66 --- /dev/null +++ b/toolchain/binutils/patches/2.35/cris32-revert.patch @@ -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 |