X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=toolchain%2Fbinutils%2Fpatches%2F2.22%2F500-arm_ld_assert_fix.patch;fp=toolchain%2Fbinutils%2Fpatches%2F2.22%2F500-arm_ld_assert_fix.patch;h=0000000000000000000000000000000000000000;hp=e011c4b111d4e9af175b40580c8d15120f525750;hb=67e3c81fcd2ab7cfb910f45d3e879e72aa1c031c;hpb=773ef270d17c9d6a2352eb04eba7149d3baf6481 diff --git a/toolchain/binutils/patches/2.22/500-arm_ld_assert_fix.patch b/toolchain/binutils/patches/2.22/500-arm_ld_assert_fix.patch deleted file mode 100644 index e011c4b111..0000000000 --- a/toolchain/binutils/patches/2.22/500-arm_ld_assert_fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -See http://sourceware.org/bugzilla/show_bug.cgi?id=13990 for details. ---- ---- a/bfd/elf32-arm.c -+++ b/bfd/elf32-arm.c -@@ -12046,8 +12046,19 @@ elf32_arm_gc_sweep_hook (bfd * - if (may_need_local_target_p - && elf32_arm_get_plt_info (abfd, eh, r_symndx, &root_plt, &arm_plt)) - { -- BFD_ASSERT (root_plt->refcount > 0); -- root_plt->refcount -= 1; -+ /* If PLT refcount book-keeping is wrong and too low, we'll -+ see a zero value (going to -1) for the root PLT reference -+ count. */ -+ if (root_plt->refcount >= 0) -+ { -+ BFD_ASSERT (root_plt->refcount != 0); -+ root_plt->refcount -= 1; -+ } -+ else -+ /* A value of -1 means the symbol has become local, forced -+ or seeing a hidden definition. Any other negative value -+ is an error. */ -+ BFD_ASSERT (root_plt->refcount == -1); - - if (!call_reloc_p) - arm_plt->noncall_refcount--;