From 6d9b8a93f981e61e061b2910363a614a186fbd62 Mon Sep 17 00:00:00 2001 From: Peter Schauer Date: Tue, 12 Jul 1994 19:29:04 +0000 Subject: [PATCH] * 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. --- gdb/ChangeLog | 10 ++++++++++ gdb/elfread.c | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 27390009fe0..3e9111783e8 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 95c9c0ff903..7b87cb22370 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... */ -- 2.30.2