Fix typos and thinkos reported by Sun Ming (and one reported by John).
[deliverable/binutils-gdb.git] / gdb / xcoffexec.c
index b17d87464a678262ce40071f4b1b9c225f3d2ab2..d4586ee8288cb328b39ddc691c17cb219cf124d7 100644 (file)
@@ -340,11 +340,12 @@ map_vmap (bfd *bf, bfd *arch)
     obj = allocate_objfile (bf, 0);
 
 #if 0
-    This is only needed if we want to load shared libraries no matter what.
-    Since we provide the choice of incremental loading of shared objects now,
-    we don't have to load them as default anymore.
+    /* This is only needed if we want to load shared libraries no matter what.
+       Since we provide the choice of incremental loading of shared objects
+       now, we do not have to load them as default anymore. */
     
     syms_from_objfile (obj, 0, 0, 0);
+    new_symfile_objfile (obj, 0, 0);
 #endif
   }
 
@@ -444,16 +445,6 @@ struct stat *vip;
     }
 
   if (vp->tstart != old_start) {
-
-#if 0
-  We don't have a valid `objfile' at this point. This is moved into the
-  previous statement; ALL_OBJFILES() for-loop.
-
-    ALL_MSYMBOLS (objfile, msymbol)
-      if (msymbol->address < TEXT_SEGMENT_BASE)
-       msymbol -> address += vp->tstart - old_start;
-#endif /* 0 */
-
     /* breakpoints need to be relocated as well. */
     fixup_breakpoints (0, TEXT_SEGMENT_BASE, vp->tstart - old_start);
   }
@@ -564,7 +555,7 @@ register struct ld_info *ldi; {
        register char *mem, *objname;
 
        /* This ldi structure was allocated using alloca() in 
-          aixcoff_relocate_symtab(). Now we need to have persistent object 
+          xcoff_relocate_symtab(). Now we need to have persistent object 
           and member names, so we should save them. */
 
        mem = ldi->ldinfo_filename + strlen(ldi->ldinfo_filename) + 1;
@@ -628,24 +619,29 @@ register struct ld_info *ldi; {
 vmap_exec ()
 {
   static bfd *execbfd;
+  int i;
+
   if (execbfd == exec_bfd)
     return;
 
   execbfd = exec_bfd;
 
-  /* First exec section is `.text', second is `.data'. If this is changed,
-     then this routine will choke. */
+  if (!vmap || !exec_ops.to_sections)
+    error ("vmap_exec: vmap or exec_ops.to_sections == 0\n");
 
-  if (!vmap || !exec_ops.to_sections ||
-       strcmp (exec_ops.to_sections[0].sec_ptr->name, ".text") ||
-       strcmp (exec_ops.to_sections[1].sec_ptr->name, ".data"))
-
-    fatal ("aix: Improper exec_ops sections.");
-
-  exec_ops.to_sections [0].addr += vmap->tstart;
-  exec_ops.to_sections [0].endaddr += vmap->tstart;
-  exec_ops.to_sections [1].addr += vmap->dstart;
-  exec_ops.to_sections [1].endaddr += vmap->dstart;
+  for (i=0; &exec_ops.to_sections[i] < exec_ops.to_sections_end; i++)
+    {
+      if (strcmp(".text", exec_ops.to_sections[i].sec_ptr->name) == 0)
+       {
+         exec_ops.to_sections[i].addr += vmap->tstart;
+         exec_ops.to_sections[i].endaddr += vmap->tstart;
+       }
+      else if (strcmp(".data", exec_ops.to_sections[i].sec_ptr->name) == 0)
+       {
+         exec_ops.to_sections[i].addr += vmap->dstart;
+         exec_ops.to_sections[i].endaddr += vmap->dstart;
+       }
+    }
 }
 
 
This page took 0.024832 seconds and 4 git commands to generate.