diff options
author | Elena Zannoni <ezannoni@kwikemart.cygnus.com> | 2000-05-05 19:09:27 +0000 |
---|---|---|
committer | Elena Zannoni <ezannoni@kwikemart.cygnus.com> | 2000-05-05 19:09:27 +0000 |
commit | b8d39351ea5eabfa364474f006b1556f40f0f636 (patch) | |
tree | d36d52d491774ca3773ccc98b0d3b9f48cc3c683 /gdb/elfread.c | |
parent | 6c1a54b22b5b3bd140126b93eba4436781a6983d (diff) | |
download | gdb-b8d39351ea5eabfa364474f006b1556f40f0f636.zip gdb-b8d39351ea5eabfa364474f006b1556f40f0f636.tar.gz gdb-b8d39351ea5eabfa364474f006b1556f40f0f636.tar.bz2 |
2000-05-04 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* elfread.c (elf_symtab_read): The calculation of 'offset'
must be done for each symbol, not just once. The index
used must be the index of the section where 'sym' resides,
not .text.
Diffstat (limited to 'gdb/elfread.c')
-rw-r--r-- | gdb/elfread.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c index e76d5cd..85b04ec 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -293,8 +293,7 @@ elf_symtab_read (objfile, dynamic) if (number_of_symbols < 0) error ("Can't read symbols from %s: %s", bfd_get_filename (objfile->obfd), bfd_errmsg (bfd_get_error ())); - /* FIXME: Should use section specific offset, not SECT_OFF_TEXT. */ - offset = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); + for (i = 0; i < number_of_symbols; i++) { sym = symbol_table[i]; @@ -305,6 +304,7 @@ elf_symtab_read (objfile, dynamic) continue; } + offset = ANOFFSET (objfile->section_offsets, sym->section->index); if (dynamic && sym->section == &bfd_und_section && (sym->flags & BSF_FUNCTION)) |