summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/base/loader/elf_object.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/base/loader/elf_object.cc b/src/base/loader/elf_object.cc
index 9d9109ab4..2db206a3c 100644
--- a/src/base/loader/elf_object.cc
+++ b/src/base/loader/elf_object.cc
@@ -375,8 +375,12 @@ ElfObject::loadSomeSymbols(SymbolTable *symtab, int binding, Addr mask)
for (ii = 0; ii < count; ++ii) {
gelf_getsym(data, ii, &sym);
if (GELF_ST_BIND(sym.st_info) == binding) {
- symtab->insert(sym.st_value & mask,
- elf_strptr(elf, shdr.sh_link, sym.st_name));
+ char *sym_name = elf_strptr(elf, shdr.sh_link, sym.st_name);
+ if (sym_name && sym_name[0] != '$') {
+ DPRINTF(Loader, "Symbol: %-40s value %#x\n",
+ sym_name, sym.st_value);
+ symtab->insert(sym.st_value & mask, sym_name);
+ }
}
}
}