summaryrefslogtreecommitdiff
path: root/mld/symtab.c
diff options
context:
space:
mode:
Diffstat (limited to 'mld/symtab.c')
-rw-r--r--mld/symtab.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mld/symtab.c b/mld/symtab.c
index 9417673..314a1c3 100644
--- a/mld/symtab.c
+++ b/mld/symtab.c
@@ -56,6 +56,10 @@ int symtab_get(struct symbol_table *symtab, Elf32_Sym **res, const char *name,
if (strcmp(name, symname) != 0)
continue;
+ // ignore absolute symbols
+ if (B16(sym->st_shndx) == SHN_ABS)
+ continue;
+
// only allow retrevial of local variables from the
// same object
if (sym->st_info >> 4 != STB_GLOBAL && symtab->map != NULL &&