[RFA] Tru64 - wrong list of shared libraries

Joel Brobecker brobecker@gnat.com
Mon Jun 17 22:47:00 GMT 2002


This happens on Tru64 with today's version of GDB, but compiled using
-DUSE_LDR_ROUTINES, which is not the default, but we noticed this
problem because ACT still uses the LDR routines.

Regression-tested on an alpha machine with Tru64 5.1A. The report shows
that it fixes 7 regressions. I also tested this change on Tru64 4.0f,
although I used a smaller set of tests because our Tru64 4.0f machine is
quite slow and heavily loaded.

Here is the ChangeLog entry:

2002-06-17  Joel Brobecker  <brobecker@gnat.com>

        * solib-osf.c (open_map): Compute the list of shread libraries
        loaded by the inferior, rather than the list of libraires loaded
        by GDB itself. Otherwise, GDB ends up reading the symbols from
        the wrong shared libraries...

And the regression tests summary on Tru64 5.1A:
       Number of tests 6919
       Summary 1       2
       FAIL    899     892
       PASS    6996    7003
       XFAIL   149     149
       XPASS   5       5
       Generating diff.html (Failure Table: Differences)
       Differences: 7

OK to commit?

Thanks,
-- 
Joel
-------------- next part --------------
Index: solib-osf.c
===================================================================
RCS file: /cvs/src/src/gdb/solib-osf.c,v
retrieving revision 1.3
diff -c -3 -p -r1.3 solib-osf.c
*** solib-osf.c	1 Nov 2001 16:17:08 -0000	1.3
--- solib-osf.c	18 Jun 2002 05:44:18 -0000
*************** static int
*** 359,365 ****
  open_map (struct read_map_ctxt *ctxt)
  {
  #ifdef USE_LDR_ROUTINES
!   ctxt->proc = ldr_my_process ();
    if (ldr_xattach (ctxt->proc) != 0)
      return 0;
    ctxt->next = LDR_NULL_MODULE;
--- 359,365 ----
  open_map (struct read_map_ctxt *ctxt)
  {
  #ifdef USE_LDR_ROUTINES
!   ctxt->proc = ptid_get_pid (inferior_ptid);
    if (ldr_xattach (ctxt->proc) != 0)
      return 0;
    ctxt->next = LDR_NULL_MODULE;


More information about the Gdb-patches mailing list