From 57e5df3758ac4f05a3f116491606569954a237cd Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Fri, 28 Jan 2011 02:29:01 +0000
Subject: [PATCH] binutils: backport a fix for broken relocation entries on
 mips with -fPIE, fixes dbus-server crash with sstrip

SVN-Revision: 25188
---
 .../2.20.1/310-backport_fPIE_mips_fix.patch       | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 toolchain/binutils/patches/2.20.1/310-backport_fPIE_mips_fix.patch

diff --git a/toolchain/binutils/patches/2.20.1/310-backport_fPIE_mips_fix.patch b/toolchain/binutils/patches/2.20.1/310-backport_fPIE_mips_fix.patch
new file mode 100644
index 0000000000..3a5dc6699c
--- /dev/null
+++ b/toolchain/binutils/patches/2.20.1/310-backport_fPIE_mips_fix.patch
@@ -0,0 +1,15 @@
+--- a/bfd/elfxx-mips.c
++++ b/bfd/elfxx-mips.c
+@@ -5696,9 +5696,9 @@ mips_elf_create_dynamic_relocation (bfd 
+ 
+   /* We must now calculate the dynamic symbol table index to use
+      in the relocation.  */
+-  if (h != NULL
+-      && (!h->root.def_regular
+-	  || (info->shared && !info->symbolic && !h->root.forced_local)))
++  if (!(h == NULL
++	|| (h->root.def_regular
++	    && (info->executable || info->symbolic || h->root.forced_local))))
+     {
+       indx = h->root.dynindx;
+       if (SGI_COMPAT (output_bfd))
-- 
GitLab