From 3eccd5d2f980e28c05b03d7ceb1bb7deb9b24aed Mon Sep 17 00:00:00 2001 From: nbd Date: Wed, 19 Sep 2012 06:33:07 +0000 Subject: binutils: backport ld patch to fix ARM specific issues with --gc-sections git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33461 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../binutils/patches/2.22/400-fix_arm_gc_sections.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 toolchain/binutils/patches/2.22/400-fix_arm_gc_sections.patch diff --git a/toolchain/binutils/patches/2.22/400-fix_arm_gc_sections.patch b/toolchain/binutils/patches/2.22/400-fix_arm_gc_sections.patch new file mode 100644 index 000000000..04badab62 --- /dev/null +++ b/toolchain/binutils/patches/2.22/400-fix_arm_gc_sections.patch @@ -0,0 +1,12 @@ +--- a/bfd/elf32-arm.c ++++ b/bfd/elf32-arm.c +@@ -12408,7 +12408,8 @@ elf32_arm_check_relocs (bfd *abfd, struc + + /* If the symbol is a function that doesn't bind locally, + this relocation will need a PLT entry. */ +- root_plt->refcount += 1; ++ if (root_plt->refcount != -1) ++ root_plt->refcount += 1; + + if (!call_reloc_p) + arm_plt->noncall_refcount++; -- cgit v1.2.3