Load weak symbols too, at the recommendation of Josef Weidendorfer.
MERGE TO STABLE
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1313 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_symtab2.c b/coregrind/vg_symtab2.c
index 6283fad..9a37eea 100644
--- a/coregrind/vg_symtab2.c
+++ b/coregrind/vg_symtab2.c
@@ -1649,11 +1649,12 @@
*/
snaffle_it
= ( (ELF32_ST_BIND(o_symtab[i].st_info) == STB_GLOBAL ||
- ELF32_ST_BIND(o_symtab[i].st_info) == STB_LOCAL /* ||
- ELF32_ST_BIND(o_symtab[i].st_info) == STB_WEAK */)
+ ELF32_ST_BIND(o_symtab[i].st_info) == STB_LOCAL ||
+ ELF32_ST_BIND(o_symtab[i].st_info) == STB_WEAK)
&&
(ELF32_ST_TYPE(o_symtab[i].st_info) == STT_FUNC ||
- (VG_(needs).data_syms && ELF32_ST_TYPE(o_symtab[i].st_info) == STT_OBJECT))
+ (VG_(needs).data_syms
+ && ELF32_ST_TYPE(o_symtab[i].st_info) == STT_OBJECT))
);
/* Secondly, if it's apparently in a GOT or PLT, it's really