+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.
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;