diff options
Diffstat (limited to 'gdb/elfread.c')
-rw-r--r-- | gdb/elfread.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c index 6ab3a6a..14952b8 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -357,7 +357,8 @@ elf_symtab_read (struct objfile *objfile, int type, } else if (sym->flags & BSF_SECTION_SYM) continue; - else if (sym->flags & (BSF_GLOBAL | BSF_LOCAL | BSF_WEAK)) + else if (sym->flags & (BSF_GLOBAL | BSF_LOCAL | BSF_WEAK + | BSF_GNU_UNIQUE)) { struct minimal_symbol *msym; @@ -413,7 +414,7 @@ elf_symtab_read (struct objfile *objfile, int type, } else if (sym->section->flags & SEC_CODE) { - if (sym->flags & (BSF_GLOBAL | BSF_WEAK)) + if (sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) { if (sym->flags & BSF_GNU_INDIRECT_FUNCTION) ms_type = mst_text_gnu_ifunc; @@ -443,7 +444,7 @@ elf_symtab_read (struct objfile *objfile, int type, } else if (sym->section->flags & SEC_ALLOC) { - if (sym->flags & (BSF_GLOBAL | BSF_WEAK)) + if (sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) { if (sym->section->flags & SEC_LOAD) { |