aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-09-19 06:33:07 +0000
committerFelix Fietkau <nbd@openwrt.org>2012-09-19 06:33:07 +0000
commit759489f67be63c20c2fd7a00aa578486a3fa0712 (patch)
tree5282d2f9cbf1ca3c2b29f5e9bfb7a68d4f6aebb4
parent87b3f288c1d38c486f00adb1f1cadc7e5f353e35 (diff)
downloadupstream-759489f67be63c20c2fd7a00aa578486a3fa0712.tar.gz
upstream-759489f67be63c20c2fd7a00aa578486a3fa0712.tar.bz2
upstream-759489f67be63c20c2fd7a00aa578486a3fa0712.zip
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
-rw-r--r--toolchain/binutils/patches/2.22/400-fix_arm_gc_sections.patch12
1 files changed, 12 insertions, 0 deletions
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 0000000000..04badab620
--- /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++;