uClibc: add back R_PPC_REL24 relocation support, the dynamic libgcc changes depend...
authorFelix Fietkau <nbd@openwrt.org>
Mon, 7 Mar 2011 22:38:48 +0000 (22:38 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 7 Mar 2011 22:38:48 +0000 (22:38 +0000)
SVN-Revision: 25944

toolchain/uClibc/patches-0.9.32/480-powerpc_rel24_support.patch [new file with mode: 0644]

diff --git a/toolchain/uClibc/patches-0.9.32/480-powerpc_rel24_support.patch b/toolchain/uClibc/patches-0.9.32/480-powerpc_rel24_support.patch
new file mode 100644 (file)
index 0000000..831e7d3
--- /dev/null
@@ -0,0 +1,26 @@
+--- a/ldso/ldso/powerpc/elfinterp.c
++++ b/ldso/ldso/powerpc/elfinterp.c
+@@ -293,22 +293,17 @@
+               break;
+ #endif
+       case R_PPC_REL24:
+-#if 0
+               {
+                       Elf32_Sword delta = finaladdr - (Elf32_Word)reloc_addr;
+                       if (unlikely(delta<<6>>6 != delta)) {
+                               _dl_dprintf(2, "%s: symbol '%s' R_PPC_REL24 is out of range.\n\t"
+                                               "Compile shared libraries with -fPIC!\n",
+                                               _dl_progname, symname);
+-                              _dl_exit(1);
++                              return -1;
+                       }
+                       *reloc_addr = (*reloc_addr & 0xfc000003) | (delta & 0x3fffffc);
+                       break;
+               }
+-#else
+-              _dl_dprintf(2,"R_PPC_REL24: Compile shared libraries with -fPIC!\n");
+-              return -1;
+-#endif
+       case R_PPC_NONE:
+               goto out_nocode; /* No code code modified */
+       default: