import gdb-1999-09-28 snapshot
[deliverable/binutils-gdb.git] / gdb / osfsolib.c
index 831fc7526eec3c388adb043f0d44d770358dfcbd..6b05613eb76b8cc5e6e9c0e3a52f947faf56664b 100644 (file)
@@ -655,38 +655,10 @@ solib_add (arg_string, from_tty, target)
 
       if (count)
        {
-         int update_coreops;
-
-         /* We must update the to_sections field in the core_ops structure
-            here, otherwise we dereference a potential dangling pointer
-            for each call to target_read/write_memory within this routine.  */
-         update_coreops = core_ops.to_sections == target->to_sections;
-
-         /* Reallocate the target's section table including the new size.  */
-         if (target->to_sections)
-           {
-             old = target->to_sections_end - target->to_sections;
-             target->to_sections = (struct section_table *)
-               xrealloc ((char *) target->to_sections,
-                         (sizeof (struct section_table)) * (count + old));
-           }
-         else
-           {
-             old = 0;
-             target->to_sections = (struct section_table *)
-               xmalloc ((sizeof (struct section_table)) * count);
-           }
-         target->to_sections_end = target->to_sections + (count + old);
-
-         /* Update the to_sections field in the core_ops structure
-            if needed.  */
-         if (update_coreops)
-           {
-             core_ops.to_sections = target->to_sections;
-             core_ops.to_sections_end = target->to_sections_end;
-           }
-
          /* Add these section table entries to the target's table.  */
+
+         old = target_resize_to_sections (target, count);
+         
          while ((so = find_solib (so)) != NULL)
            {
              if (so->so_name[0])
This page took 0.034936 seconds and 4 git commands to generate.