Add missing check to filter symbols
Signed-off-by: Arnaud Patard <[email protected]>
---
elf.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/elf.c b/elf.c
index aeff211..f132ea4 100644
--- a/elf.c
+++ b/elf.c
@@ -482,14 +482,16 @@ read_elf(Process *proc) {
proc->filename);
}
name=lte->dynstr+sym.st_name;
- if(ELF64_ST_TYPE(sym.st_info) != STT_FUNC){
- debug(2,"sym %s not a function",name);
- continue;
+ if (in_load_libraries(name, lte)) {
+ if(ELF64_ST_TYPE(sym.st_info) != STT_FUNC){
+ debug(2,"sym %s not a function",name);
+ continue;
+ }
+ add_library_symbol(addr, name, &library_symbols, 0,
+ ELF64_ST_BIND(sym.st_info) != 0);
+ if (!lib_tail)
+ lib_tail = &(library_symbols->next);
}
- add_library_symbol(addr, name, &library_symbols, 0,
- ELF64_ST_BIND(sym.st_info) != 0);
- if (!lib_tail)
- lib_tail = &(library_symbols->next);
}
#else
for (i = 0; i < lte->relplt_count; ++i) {
_______________________________________________
Ltrace-devel mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/ltrace-devel