uClibc: add back R_PPC_REL24 relocation support, the dynamic libgcc changes depend on it for powerpc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25944 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
0d74e4227b
commit
9973a6d45c
|
@ -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:
|
Loading…
Reference in New Issue