diff options
Diffstat (limited to 'gdb/elfread.c')
-rw-r--r-- | gdb/elfread.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c index d825d9a..d8dec38 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -272,7 +272,7 @@ elf_symtab_read (struct objfile *objfile, int type, offset = ANOFFSET (objfile->section_offsets, sym->section->index); if (type == ST_DYNAMIC - && sym->section == &bfd_und_section + && sym->section == bfd_und_section_ptr && (sym->flags & BSF_FUNCTION)) { struct minimal_symbol *msym; @@ -367,7 +367,7 @@ elf_symtab_read (struct objfile *objfile, int type, symaddr = sym->value + sym->section->vma; /* Relocate all non-absolute and non-TLS symbols by the section offset. */ - if (sym->section != &bfd_abs_section + if (sym->section != bfd_abs_section_ptr && !(sym->section->flags & SEC_THREAD_LOCAL)) { symaddr += offset; @@ -375,7 +375,7 @@ elf_symtab_read (struct objfile *objfile, int type, /* For non-absolute symbols, use the type of the section they are relative to, to intuit text/data. Bfd provides no way of figuring this out for absolute symbols. */ - if (sym->section == &bfd_abs_section) + if (sym->section == bfd_abs_section_ptr) { /* This is a hack to get the minimal symbol type right for Irix 5, which has absolute addresses @@ -517,7 +517,7 @@ elf_symtab_read (struct objfile *objfile, int type, symaddr = sym->value + sym->section->vma; /* Relocate non-absolute symbols by the section offset. */ - if (sym->section != &bfd_abs_section) + if (sym->section != bfd_abs_section_ptr) symaddr += offset; sectinfo->sections[special_local_sect] = symaddr; /* The special local symbols don't go in the |