summaryrefslogtreecommitdiff
path: root/gdb/elfread.c
diff options
context:
space:
mode:
authorElena Zannoni <ezannoni@kwikemart.cygnus.com>2000-05-05 19:09:27 +0000
committerElena Zannoni <ezannoni@kwikemart.cygnus.com>2000-05-05 19:09:27 +0000
commitb8d39351ea5eabfa364474f006b1556f40f0f636 (patch)
treed36d52d491774ca3773ccc98b0d3b9f48cc3c683 /gdb/elfread.c
parent6c1a54b22b5b3bd140126b93eba4436781a6983d (diff)
downloadbinutils-gdb-b8d39351ea5eabfa364474f006b1556f40f0f636.tar.gz
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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c
index e76d5cda7ff..85b04ec7bbe 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))