diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-03-07 22:38:48 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-03-07 22:38:48 +0000 | 
| commit | fc3f00e50fdbb13973b48c0c0a9a179dc1003fc6 (patch) | |
| tree | 17636846b1ffa95059c506e55b92a6ab8f35c760 | |
| parent | 30f50ed35467d3e03346e6aba39760b69c4fa0f3 (diff) | |
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-a3cf2f4a3e73
| -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 000000000..831e7d347 --- /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: | 
