* solib-osf.c (open_map): Compute the list of shared libraries

loaded by the inferior, rather than the list of libraries loaded
        by GDB itself.  Otherwise, GDB ends up reading the symbols from
        the wrong shared libraries...
This commit is contained in:
Joel Brobecker 2002-07-02 17:05:28 +00:00
parent b7d15bf718
commit 7a5a05349e
2 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2002-07-02 Joel Brobecker <brobecker@gnat.com>
* solib-osf.c (open_map): Compute the list of shared libraries
loaded by the inferior, rather than the list of libraries loaded
by GDB itself. Otherwise, GDB ends up reading the symbols from
the wrong shared libraries...
2002-07-02 Mark Kettenis <kettenis@gnu.org>
* i386-linux-tdep.c (i386_linux_sigcontext_addr): Make static.

View file

@ -359,7 +359,14 @@ static int
open_map (struct read_map_ctxt *ctxt)
{
#ifdef USE_LDR_ROUTINES
ctxt->proc = ldr_my_process ();
/* Note: As originally written, ldr_my_process() was used to obtain
the value for ctxt->proc. This is incorrect, however, since
ldr_my_process() retrieves the "unique identifier" associated
with the current process (i.e. GDB) and not the one being
debugged. Presumably, the pid of the process being debugged is
compatible with the "unique identifier" used by the ldr_
routines, so we use that. */
ctxt->proc = ptid_get_pid (inferior_ptid);
if (ldr_xattach (ctxt->proc) != 0)
return 0;
ctxt->next = LDR_NULL_MODULE;