diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-06-24 07:52:08 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-06-24 07:52:08 +0000 |
commit | 998f870a192c165c53ebf62d896006824e073d60 (patch) | |
tree | ba10325897e9837ecd011088e9e8f0437b339c6d /ldso | |
parent | 860d8b8215f5205513fbe1f03ec9a93f114815b7 (diff) |
Disable support for R_ARM_PC24, just like R_PPC_REL24 these should
only occur when shared libs are not compiled with -fPIC
Diffstat (limited to 'ldso')
-rw-r--r-- | ldso/ldso/arm/elfinterp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ldso/ldso/arm/elfinterp.c b/ldso/ldso/arm/elfinterp.c index c04477561..6b43464b3 100644 --- a/ldso/ldso/arm/elfinterp.c +++ b/ldso/ldso/arm/elfinterp.c @@ -242,6 +242,7 @@ _dl_parse(struct elf_resolve *tpnt, struct dyn_elf *scope, return goof; } +#if 0 static unsigned long fix_bad_pc24 (unsigned long *const reloc_addr, unsigned long value) { @@ -265,6 +266,7 @@ fix_bad_pc24 (unsigned long *const reloc_addr, unsigned long value) return (unsigned long)fix_address; } +#endif static int _dl_do_reloc (struct elf_resolve *tpnt,struct dyn_elf *scope, @@ -307,6 +309,7 @@ _dl_do_reloc (struct elf_resolve *tpnt,struct dyn_elf *scope, *reloc_addr += symbol_addr; break; case R_ARM_PC24: +#if 0 { unsigned long addend; long newvalue, topbits; @@ -333,6 +336,10 @@ _dl_do_reloc (struct elf_resolve *tpnt,struct dyn_elf *scope, *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; |