summaryrefslogtreecommitdiff
path: root/ldso/ldso/mips/elfinterp.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-05-11 07:21:47 +0000
committerEric Andersen <andersen@codepoet.org>2004-05-11 07:21:47 +0000
commite2f4c03385fbb6a35b9314a056f4c8940569b17b (patch)
tree2fb1e90a83d078979081c22eefabc8c6139b0064 /ldso/ldso/mips/elfinterp.c
parentf970ce6348dd779ce14d217ba6d9c275e6b6cbb7 (diff)
Bradley D. LaRonde, brad at laronde dot org writes:
If I change that ELF_RTYPE_CLASS_COPY to ELF_RTYPE_CLASS_PLT to tell _dl_find_hash to ignore stubs when resolving undefined functions without stubs, the dlopen tests all pass. dlopen gets a pointer to the libc.so malloc instead of a pointer to the libpthread malloc stub. Yay! :-)
Diffstat (limited to 'ldso/ldso/mips/elfinterp.c')
-rw-r--r--ldso/ldso/mips/elfinterp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ldso/ldso/mips/elfinterp.c b/ldso/ldso/mips/elfinterp.c
index 5be0421e4..3cdf9d8af 100644
--- a/ldso/ldso/mips/elfinterp.c
+++ b/ldso/ldso/mips/elfinterp.c
@@ -285,7 +285,7 @@ void _dl_perform_mips_global_got_relocations(struct elf_resolve *tpnt)
*got_entry = sym->st_value + (unsigned long) tpnt->loadaddr;
else {
*got_entry = (unsigned long) _dl_find_hash(strtab +
- sym->st_name, tpnt->symbol_scope, ELF_RTYPE_CLASS_COPY);
+ sym->st_name, tpnt->symbol_scope, ELF_RTYPE_CLASS_PLT);
}
}
else if (sym->st_shndx == SHN_COMMON) {