diff options
author | David Schleef <ds@schleef.org> | 2001-11-26 09:00:08 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2001-11-26 09:00:08 +0000 |
commit | b76b3fcd18d8c7e0ed25cccc355f6f0192c1e83b (patch) | |
tree | 1277ee361e8b55e25f055a57288ccae087594489 | |
parent | 2f8a4a06ab17ab61f645335d34061637edb31b2d (diff) |
Fix buggy R_PPC_RELATIVE relocation. Symptom was that strings
internal to a library were not relocated correctly, specifically
sys_errlist[].
-rw-r--r-- | ldso/ldso/powerpc/elfinterp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ldso/ldso/powerpc/elfinterp.c b/ldso/ldso/powerpc/elfinterp.c index 36840fac1..db53e8f46 100644 --- a/ldso/ldso/powerpc/elfinterp.c +++ b/ldso/ldso/powerpc/elfinterp.c @@ -380,7 +380,7 @@ int _dl_parse_relocation_information(struct elf_resolve *tpnt, } break; case R_PPC_RELATIVE: - *reloc_addr += (unsigned long)tpnt->loadaddr + addend; + *reloc_addr = (unsigned long)tpnt->loadaddr + addend; break; case R_PPC_ADDR32: *reloc_addr += symbol_addr; |