aboutsummaryrefslogtreecommitdiff
path: root/gdb/elfread.c
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1992-04-01 03:09:02 +0000
committerFred Fish <fnf@specifix.com>1992-04-01 03:09:02 +0000
commit6b80138803cbc1a623bf0df050cf2bfd23df5baa (patch)
treed15b0eb1e707e896685eaf172809887024a5ec6c /gdb/elfread.c
parent3bec9cddbeab16be981194c0d59f58bcbc6337ec (diff)
downloadgdb-6b80138803cbc1a623bf0df050cf2bfd23df5baa.zip
gdb-6b80138803cbc1a623bf0df050cf2bfd23df5baa.tar.gz
gdb-6b80138803cbc1a623bf0df050cf2bfd23df5baa.tar.bz2
Changes in procfs.c to fix bug with inferior's siginfo struct getting
needlessly stomped. Changes in elfread.c and solib.c to fix DWARF processing, broken by other recent changes.
Diffstat (limited to 'gdb/elfread.c')
-rw-r--r--gdb/elfread.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 3788fb4..c2d133c 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -281,10 +281,19 @@ elf_symfile_read (objfile, addr, mainline)
bfd *abfd = objfile->obfd;
struct elfinfo ei;
struct cleanup *back_to;
+ asection *text_sect;
init_minimal_symbol_collection ();
back_to = make_cleanup (discard_minimal_symbols, 0);
+ /* Compute the amount to relocate all symbols by. The value passed in
+ as ADDR is typically either the actual address of the text section,
+ or a user specified address. By subtracting off the actual address
+ of the text section, we can compute the relocation amount. */
+
+ text_sect = bfd_get_section_by_name (objfile -> obfd, ".text");
+ addr -= bfd_section_vma (objfile -> obfd, text_sect);
+
/* Process the normal ELF symbol table first. */
elf_symtab_read (abfd, addr, objfile);