[uClibc-cvs] CVS update of uClibc/ldso/ldso/arm (elfinterp.c)

Erik Andersen andersen at codepoet.org
Thu Jun 24 07:52:09 UTC 2004


    Date: Thursday, June 24, 2004 @ 01:52:09
  Author: andersen
    Path: /var/cvs/uClibc/ldso/ldso/arm

Modified: elfinterp.c (1.20 -> 1.21)

Disable support for R_ARM_PC24, just like R_PPC_REL24 these should
only occur when shared libs are not compiled with -fPIC


Index: uClibc/ldso/ldso/arm/elfinterp.c
diff -u uClibc/ldso/ldso/arm/elfinterp.c:1.20 uClibc/ldso/ldso/arm/elfinterp.c:1.21
--- uClibc/ldso/ldso/arm/elfinterp.c:1.20	Sat Feb 14 04:53:48 2004
+++ uClibc/ldso/ldso/arm/elfinterp.c	Thu Jun 24 01:52:08 2004
@@ -242,6 +242,7 @@
 	  return goof;
 }
 
+#if 0
 static unsigned long
 fix_bad_pc24 (unsigned long *const reloc_addr, unsigned long value)
 {
@@ -265,6 +266,7 @@
 
   return (unsigned long)fix_address;
 }
+#endif
 
 static int
 _dl_do_reloc (struct elf_resolve *tpnt,struct dyn_elf *scope,
@@ -307,6 +309,7 @@
 				*reloc_addr += symbol_addr;
 				break;
 			case R_ARM_PC24:
+#if 0
 				{
 					unsigned long addend;
 					long newvalue, topbits;
@@ -333,6 +336,10 @@
 					*reloc_addr = symbol_addr;
 					break;
 				}
+#else
+				_dl_dprintf(2,"R_ARM_PC24: Compile shared libraries with -fPIC!\n");
+				_dl_exit(1);
+#endif
 			case R_ARM_GLOB_DAT:
 			case R_ARM_JUMP_SLOT:
 				*reloc_addr = symbol_addr;



More information about the uClibc-cvs mailing list