aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1994-07-12 19:29:04 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1994-07-12 19:29:04 +0000
commit6d9b8a93f981e61e061b2910363a614a186fbd62 (patch)
tree22ac220a8732ddd2d6d779fe502483423a629780 /gdb
parenta85cd2890c25d35ecc243716e332e14ef62274d0 (diff)
downloadgdb-6d9b8a93f981e61e061b2910363a614a186fbd62.zip
gdb-6d9b8a93f981e61e061b2910363a614a186fbd62.tar.gz
gdb-6d9b8a93f981e61e061b2910363a614a186fbd62.tar.bz2
* elfread.c (elf_symfile_read): Unconditionally add dynamic
symbols for all symbol files. Makes skipping over the trampoline code work when stepping from a function in a shared library into a function in a different shared library for Irix 5. Other ELF targets do not have enough information in their dynamic symbol tables to make this work. (elf_symtab_read): Relocate mst_solib_trampoline address.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/elfread.c6
2 files changed, 13 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2739000..3e91117 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+Tue Jul 12 12:23:15 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
+
+ * elfread.c (elf_symfile_read): Unconditionally add dynamic
+ symbols for all symbol files. Makes skipping over the
+ trampoline code work when stepping from a function in a shared
+ library into a function in a different shared library for Irix 5.
+ Other ELF targets do not have enough information in their
+ dynamic symbol tables to make this work.
+ (elf_symtab_read): Relocate mst_solib_trampoline address.
+
Mon Jul 11 16:38:49 1994 Stan Shebs (shebs@andros.cygnus.com)
Atari support, from Uwe Seimet (seimet@chemie.uni-kl.de).
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 95c9c0f..7b87cb2 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -350,6 +350,7 @@ elf_symtab_read (abfd, addr, objfile, dynamic)
symaddr = sym -> value;
if (symaddr == 0)
continue;
+ symaddr += addr;
}
else if (sym -> section == &bfd_abs_section)
{
@@ -560,10 +561,9 @@ elf_symfile_read (objfile, section_offsets, mainline)
offset = ANOFFSET (section_offsets, 0);
elf_symtab_read (abfd, offset, objfile, 0);
- /* Add the dynamic symbols if we are reading the main symbol table. */
+ /* Add the dynamic symbols. */
- if (mainline)
- elf_symtab_read (abfd, offset, objfile, 1);
+ elf_symtab_read (abfd, offset, objfile, 1);
/* Now process debugging information, which is contained in
special ELF sections. We first have to find them... */