diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-03-07 22:38:48 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-03-07 22:38:48 +0000 |
commit | bc8728d9ce921e5029526ba54be1fb961d6dd507 (patch) | |
tree | d0f00a2ef12985b40ed5d37fbbd772da9ef05e74 /toolchain | |
parent | 172241fa1ba0a68695e46bbc32034f4e95943466 (diff) | |
download | upstream-bc8728d9ce921e5029526ba54be1fb961d6dd507.tar.gz upstream-bc8728d9ce921e5029526ba54be1fb961d6dd507.tar.bz2 upstream-bc8728d9ce921e5029526ba54be1fb961d6dd507.zip |
uClibc: add back R_PPC_REL24 relocation support, the dynamic libgcc changes depend on it for powerpc
SVN-Revision: 25944
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/uClibc/patches-0.9.32/480-powerpc_rel24_support.patch | 26 |
1 files changed, 26 insertions, 0 deletions
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 index 0000000000..831e7d3475 --- /dev/null +++ b/toolchain/uClibc/patches-0.9.32/480-powerpc_rel24_support.patch @@ -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: |