From bc8728d9ce921e5029526ba54be1fb961d6dd507 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 7 Mar 2011 22:38:48 +0000
Subject: [PATCH] uClibc: add back R_PPC_REL24 relocation support, the dynamic
 libgcc changes depend on it for powerpc

SVN-Revision: 25944
---
 .../480-powerpc_rel24_support.patch           | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 toolchain/uClibc/patches-0.9.32/480-powerpc_rel24_support.patch

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:
-- 
GitLab