* elfread.c (elf_symfile_read): Unconditionally add dynamic
authorPeter Schauer <Peter.Schauer@mytum.de>
Tue, 12 Jul 1994 19:29:04 +0000 (19:29 +0000)
committerPeter Schauer <Peter.Schauer@mytum.de>
Tue, 12 Jul 1994 19:29:04 +0000 (19:29 +0000)
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.

gdb/ChangeLog
gdb/elfread.c

index 27390009fe04ffb8dfe60eec2ebcc3b5e1af1ae5..3e9111783e8394cab689e8da29e750c7d15b8a5b 100644 (file)
@@ -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).
index 95c9c0ff903ec39fac2ce97fed7eb79b00d77b31..7b87cb22370bb4416f880856d2f09849624131b9 100644 (file)
@@ -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... */