* rs6000-nat.c (vmap_ldinfo): If we don't find ldinfo for the
authorJim Kingdon <jkingdon@engr.sgi.com>
Wed, 12 Apr 1995 04:42:05 +0000 (04:42 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Wed, 12 Apr 1995 04:42:05 +0000 (04:42 +0000)
symfile_objfile, nuke it.

gdb/ChangeLog
gdb/rs6000-nat.c

index c4e679d2a7eb21687ffe6d1853cf36c98b75b20a..746b90e21d40b609b03818f8adda20f92c32213f 100644 (file)
@@ -11,8 +11,8 @@ Tue Apr 11 13:46:25 1995  Jim Kingdon  <kingdon@deneb.cygnus.com>
        Document it better.
        * utils.c (warning): Use it.
        * utils.c (error_begin): Doc fix.
-       * rs6000-nat.c (vmap_ldinfo): If symfile_objfile is not part of
-       any vmap, nuke it.
+       * rs6000-nat.c (vmap_ldinfo): If we don't find ldinfo for the
+       symfile_objfile, nuke it.
 
 Tue Apr 11 09:35:20 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
index 5a4274d054b43ab5f3fcd352f36497174e867f1d..6b9405208582e64145575e147f20671ebf6670f2 100644 (file)
@@ -465,8 +465,9 @@ vmap_ldinfo (ldi)
 {
   struct stat ii, vi;
   register struct vmap *vp;
-  register got_one, retried;
+  int got_one, retried;
   CORE_ADDR ostart;
+  int got_exec_file;
 
   /* For each *ldi, see if we have a corresponding *vp.
      If so, update the mapping, and symbol table.
@@ -530,6 +531,10 @@ vmap_ldinfo (ldi)
            vp->tend   += vp->tadj;
          }
 
+       /* The objfile is only NULL for the exec file.  */
+       if (vp->objfile == NULL)
+         got_exec_file = 1;
+
        /* relocate symbol table(s). */
        vmap_symtab (vp);
 
@@ -550,15 +555,7 @@ vmap_ldinfo (ldi)
      is unlikely that the symbol file is relocated to the proper
      address.  And we might have attached to a process which is
      running a different copy of the same executable.  */
-  for (got_one = 0, vp = vmap; vp != NULL; vp = vp->nxt)
-    {
-      if (symfile_objfile == vp->objfile)
-       {
-         got_one = 1;
-         break;
-       }
-    }
-  if (symfile_objfile != NULL && !got_one)
+  if (symfile_objfile != NULL && !got_exec_file)
     {
       warning_begin ();
       fputs_unfiltered ("Symbol file ", gdb_stderr);