This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[PATCH RFC,RFA] free() -> xfree(), part 2


Below are the automatic (script generated) changes needed for the
free() -> xfree() substitutions.  At Andrew's suggestion, I've
modified the script to remove the (PTR) and (char *) casts when
xfree() is called.

I will post the updated script separately.

	* alpha-tdep.c, altos-xdep.c, arch-utils.c, arm-xdep.c,
	ax-general.c, bcache.c, blockframe.c, breakpoint.c,
	buildsym.c, c-typeprint.c, coffread.c, command.c,
	convex-tdep.c, convex-xdep.c, corefile.c, corelow.c,
	cp-valprint.c, cxux-nat.c, d10v-tdep.c, d30v-tdep.c,
	dbxread.c, dcache.c, defs.h, demangle.c, dstread.c,
	dve3900-rom.c, dwarf2read.c, dwarfread.c, elfread.c,
	environ.c, event-loop.c, event-top.c, exec.c, f-lang.c,
	gdb-events.c, gdbarch.c, gdbtypes.c, gnu-nat.c, h8500-tdep.c,
	hp-psymtab-read.c, hppah-nat.c, infcmd.c, inflow.c, infrun.c,
	infttrace.c, irix5-nat.c, jv-typeprint.c, kod-cisco.c, kod.c,
	language.c, lin-lwp.c, lin-thread.c, linespec.c,
	linux-thread.c, main.c, maint.c, mdebugread.c, minsyms.c,
	mips-tdep.c, monitor.c, nlmread.c, objfiles.c, osfsolib.c,
	p-valprint.c, pa64solib.c, parse.c, printcmd.c,
	proc-service.c, procfs.c, pyr-xdep.c, remote-adapt.c,
	remote-bug.c, remote-eb.c, remote-es.c, remote-mips.c,
	remote-mm.c, remote-nindy.c, remote-rdi.c, remote-rdp.c,
	remote-udi.c, remote-vx.c, remote.c, rs6000-nat.c, ser-pipe.c,
	serial.c, solib-svr4.c, solib.c, somread.c, somsolib.c,
	source.c, sparcl-tdep.c, stabsread.c, stack.c, sun386-nat.c,
	symfile.c, symmisc.c, symtab.c, target.c, thread-db.c,
	thread.c, top.c, tracepoint.c, ui-file.c, ui-out.c,
	umax-xdep.c, utils.c, valops.c, valprint.c, values.c,
	varobj.c, win32-nat.c, wince.c, xcoffread.c,
	mi/mi-cmd-disas.c, mi/mi-cmd-var.c, mi/mi-console.c,
	mi/mi-main.c, mi/mi-parse.c, tui/tui-file.c, tui/tui.c,
	tui/tuiData.c, tui/tuiLayout.c: Replace occurrences of
	free() with xfree().

Index: alpha-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/alpha-tdep.c,v
retrieving revision 1.4
diff -u -p -r1.4 alpha-tdep.c
--- alpha-tdep.c	2000/08/03 02:48:09	1.4
+++ alpha-tdep.c	2000/11/30 08:53:43
@@ -1153,7 +1153,7 @@ alpha_pop_frame (void)
       else
 	linked_proc_desc_table = pi_ptr->next;
 
-      free (pi_ptr);
+      xfree (pi_ptr);
     }
 }
 
Index: altos-xdep.c
===================================================================
RCS file: /cvs/src/src/gdb/altos-xdep.c,v
retrieving revision 1.1.1.4
diff -u -p -r1.1.1.4 altos-xdep.c
--- altos-xdep.c	1999/07/07 20:04:08	1.1.1.4
+++ altos-xdep.c	2000/11/30 08:53:43
@@ -59,7 +59,7 @@
 /* OBSOLETE      and mark data and stack spaces as empty.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE   if (corefile) */
-/* OBSOLETE     free (corefile); */
+/* OBSOLETE     xfree (corefile); */
 /* OBSOLETE   corefile = 0; */
 /* OBSOLETE  */
 /* OBSOLETE   if (corechan >= 0) */
@@ -76,7 +76,7 @@
 /* OBSOLETE   if (filename) */
 /* OBSOLETE     { */
 /* OBSOLETE       filename = tilde_expand (filename); */
-/* OBSOLETE       make_cleanup (free, filename); */
+/* OBSOLETE       make_cleanup (xfree, filename); */
 /* OBSOLETE        */
 /* OBSOLETE       if (have_inferior_p ()) */
 /* OBSOLETE     error ("To look at a core file, you must kill the program with \"kill\"."); */
Index: arch-utils.c
===================================================================
RCS file: /cvs/src/src/gdb/arch-utils.c,v
retrieving revision 1.16
diff -u -p -r1.16 arch-utils.c
--- arch-utils.c	2000/10/27 19:17:56	1.16
+++ arch-utils.c	2000/11/30 08:53:44
@@ -528,7 +528,7 @@ info_architecture (char *args, int from_
 	{
 	  printf_filtered (" %s", *arch);
 	}
-      free (arches);
+      xfree (arches);
     }
   else
     {
Index: arm-xdep.c
===================================================================
RCS file: /cvs/src/src/gdb/arm-xdep.c,v
retrieving revision 1.1.1.6
diff -u -p -r1.1.1.6 arm-xdep.c
--- arm-xdep.c	1999/12/22 21:45:03	1.1.1.6
+++ arm-xdep.c	2000/11/30 08:53:55
@@ -172,7 +172,7 @@
 /* OBSOLETE      and mark data and stack spaces as empty.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE   if (corefile) */
-/* OBSOLETE     free (corefile); */
+/* OBSOLETE     xfree (corefile); */
 /* OBSOLETE   corefile = 0; */
 /* OBSOLETE  */
 /* OBSOLETE   if (corechan >= 0) */
@@ -189,7 +189,7 @@
 /* OBSOLETE   if (filename) */
 /* OBSOLETE     { */
 /* OBSOLETE       filename = tilde_expand (filename); */
-/* OBSOLETE       make_cleanup (free, filename); */
+/* OBSOLETE       make_cleanup (xfree, filename); */
 /* OBSOLETE  */
 /* OBSOLETE       if (have_inferior_p ()) */
 /* OBSOLETE 	error ("To look at a core file, you must kill the program with \"kill\"."); */
@@ -320,7 +320,7 @@
 /* OBSOLETE      Mark text segment as empty.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE   if (execfile) */
-/* OBSOLETE     free (execfile); */
+/* OBSOLETE     xfree (execfile); */
 /* OBSOLETE   execfile = 0; */
 /* OBSOLETE   data_start = 0; */
 /* OBSOLETE   data_end -= exec_data_start; */
@@ -343,7 +343,7 @@
 /* OBSOLETE   if (filename) */
 /* OBSOLETE     { */
 /* OBSOLETE       filename = tilde_expand (filename); */
-/* OBSOLETE       make_cleanup (free, filename); */
+/* OBSOLETE       make_cleanup (xfree, filename); */
 /* OBSOLETE  */
 /* OBSOLETE       execchan = openp (getenv ("PATH"), 1, filename, O_RDONLY, 0, */
 /* OBSOLETE 			&execfile); */
Index: ax-general.c
===================================================================
RCS file: /cvs/src/src/gdb/ax-general.c,v
retrieving revision 1.4
diff -u -p -r1.4 ax-general.c
--- ax-general.c	2000/07/30 01:48:24	1.4
+++ ax-general.c	2000/11/30 08:53:57
@@ -56,8 +56,8 @@ new_agent_expr (CORE_ADDR scope)
 void
 free_agent_expr (struct agent_expr *x)
 {
-  free (x->buf);
-  free (x);
+  xfree (x->buf);
+  xfree (x);
 }
 
 static void
@@ -416,7 +416,7 @@ ax_reqs (struct agent_expr *ax, struct a
       if (ax->buf[i] > (sizeof (aop_map) / sizeof (aop_map[0])))
 	{
 	  reqs->flaw = agent_flaw_bad_instruction;
-	  free (reg_mask);
+	  xfree (reg_mask);
 	  return;
 	}
 
@@ -425,14 +425,14 @@ ax_reqs (struct agent_expr *ax, struct a
       if (!op->name)
 	{
 	  reqs->flaw = agent_flaw_bad_instruction;
-	  free (reg_mask);
+	  xfree (reg_mask);
 	  return;
 	}
 
       if (i + 1 + op->op_size > ax->len)
 	{
 	  reqs->flaw = agent_flaw_incomplete_instruction;
-	  free (reg_mask);
+	  xfree (reg_mask);
 	  return;
 	}
 
@@ -441,7 +441,7 @@ ax_reqs (struct agent_expr *ax, struct a
       if (targets[i] && (heights[i] != height))
 	{
 	  reqs->flaw = agent_flaw_height_mismatch;
-	  free (reg_mask);
+	  xfree (reg_mask);
 	  return;
 	}
 
@@ -468,7 +468,7 @@ ax_reqs (struct agent_expr *ax, struct a
 	  if (target < 0 || target >= ax->len)
 	    {
 	      reqs->flaw = agent_flaw_bad_jump;
-	      free (reg_mask);
+	      xfree (reg_mask);
 	      return;
 	    }
 	  /* Have we already found other jumps to the same location?  */
@@ -477,7 +477,7 @@ ax_reqs (struct agent_expr *ax, struct a
 	      if (heights[i] != height)
 		{
 		  reqs->flaw = agent_flaw_height_mismatch;
-		  free (reg_mask);
+		  xfree (reg_mask);
 		  return;
 		}
 	    }
@@ -496,7 +496,7 @@ ax_reqs (struct agent_expr *ax, struct a
 	  if (!targets[i + 3])
 	    {
 	      reqs->flaw = agent_flaw_hole;
-	      free (reg_mask);
+	      xfree (reg_mask);
 	      return;
 	    }
 
@@ -531,7 +531,7 @@ ax_reqs (struct agent_expr *ax, struct a
     if (targets[i] && !boundary[i])
       {
 	reqs->flaw = agent_flaw_bad_jump;
-	free (reg_mask);
+	xfree (reg_mask);
 	return;
       }
 
Index: bcache.c
===================================================================
RCS file: /cvs/src/src/gdb/bcache.c,v
retrieving revision 1.4
diff -u -p -r1.4 bcache.c
--- bcache.c	2000/06/05 20:49:53	1.4
+++ bcache.c	2000/11/30 08:53:57
@@ -111,7 +111,7 @@ expand_hash_table (struct bcache *bcache
 
   /* Plug in the new table.  */
   if (bcache->bucket)
-    free (bcache->bucket);
+    xfree (bcache->bucket);
   bcache->bucket = new_buckets;
   bcache->num_buckets = new_num_buckets;
 }
@@ -173,7 +173,7 @@ free_bcache (struct bcache *bcache)
 {
   obstack_free (&bcache->cache, 0);
   if (bcache->bucket)
-    free (bcache->bucket);
+    xfree (bcache->bucket);
 
   /* This isn't necessary, but at least the bcache is always in a
      consistent state.  */
Index: blockframe.c
===================================================================
RCS file: /cvs/src/src/gdb/blockframe.c,v
retrieving revision 1.7
diff -u -p -r1.7 blockframe.c
--- blockframe.c	2000/09/01 23:39:11	1.7
+++ blockframe.c	2000/11/30 08:53:58
@@ -1137,8 +1137,8 @@ generic_push_dummy_frame (void)
     if (INNER_THAN (dummy_frame->fp, fp))	/* stale -- destroy! */
       {
 	dummy_frame_stack = dummy_frame->next;
-	free (dummy_frame->registers);
-	free (dummy_frame);
+	xfree (dummy_frame->registers);
+	xfree (dummy_frame);
 	dummy_frame = dummy_frame_stack;
       }
     else
@@ -1193,8 +1193,8 @@ generic_pop_dummy_frame (void)
   write_register_bytes (0, dummy_frame->registers, REGISTER_BYTES);
   flush_cached_frames ();
 
-  free (dummy_frame->registers);
-  free (dummy_frame);
+  xfree (dummy_frame->registers);
+  xfree (dummy_frame);
 }
 
 /* Function: frame_chain_valid 
Index: breakpoint.c
===================================================================
RCS file: /cvs/src/src/gdb/breakpoint.c,v
retrieving revision 1.20
diff -u -p -r1.20 breakpoint.c
--- breakpoint.c	2000/11/27 02:18:44	1.20
+++ breakpoint.c	2000/11/30 08:54:10
@@ -537,11 +537,11 @@ condition_command (char *arg, int from_t
     {
       if (b->cond)
 	{
-	  free ((PTR) b->cond);
+	  xfree (b->cond);
 	  b->cond = 0;
 	}
       if (b->cond_string != NULL)
-	free ((PTR) b->cond_string);
+	xfree (b->cond_string);
 
       if (*p == 0)
 	{
@@ -1654,7 +1654,7 @@ bpstat_clear (bpstat *bsp)
       q = p->next;
       if (p->old_val != NULL)
 	value_free (p->old_val);
-      free ((PTR) p);
+      xfree (p);
       p = q;
     }
   *bsp = NULL;
@@ -3043,7 +3043,7 @@ bpstat_get_triggered_catchpoints (bpstat
          catchpoint triggers.  Clients who may wish to know the name
          later must get it from the catchpoint itself.) */
       if (ep->triggered_dll_pathname != NULL)
-	free (ep->triggered_dll_pathname);
+	xfree (ep->triggered_dll_pathname);
       if (ep->type == bp_catch_load)
 	dll_pathname = SOLIB_LOADED_LIBRARY_PATHNAME (inferior_pid);
       else
@@ -4058,13 +4058,13 @@ solib_load_unload_1 (char *hookname, int
 
   /* Make sure that all storage allocated in decode_line_1 gets freed
      in case the following errors out.  */
-  old_chain = make_cleanup (free, sals.sals);
+  old_chain = make_cleanup (xfree, sals.sals);
   if (canonical != (char **) NULL)
     {
-      make_cleanup (free, canonical);
+      make_cleanup (xfree, canonical);
       canonical_strings_chain = make_cleanup (null_cleanup, 0);
       if (canonical[0] != NULL)
-	make_cleanup (free, canonical[0]);
+	make_cleanup (xfree, canonical[0]);
     }
 
   resolve_sal_pc (&sals.sals[0]);
@@ -4677,18 +4677,18 @@ break_command_1 (char *arg, int flag, in
   old_chain = make_cleanup (null_cleanup, 0);
 
   /* Make sure that all storage allocated to SALS gets freed.  */
-  make_cleanup (free, sals.sals);
+  make_cleanup (xfree, sals.sals);
 
   /* Cleanup the addr_string array but not its contents. */
-  make_cleanup (free, addr_string);
+  make_cleanup (xfree, addr_string);
 
   /* Allocate space for all the cond expressions. */
   cond = xcalloc (sals.nelts, sizeof (struct expression *));
-  make_cleanup (free, cond);
+  make_cleanup (xfree, cond);
 
   /* Allocate space for all the cond strings. */
   cond_string = xcalloc (sals.nelts, sizeof (char **));
-  make_cleanup (free, cond_string);
+  make_cleanup (xfree, cond_string);
 
   /* ----------------------------- SNIP -----------------------------
      Anything added to the cleanup chain beyond this point is assumed
@@ -4702,7 +4702,7 @@ break_command_1 (char *arg, int flag, in
   for (i = 0; i < sals.nelts; i++)
     {
       if (addr_string[i] != NULL)
-	make_cleanup (free, addr_string[i]);
+	make_cleanup (xfree, addr_string[i]);
     }
 
   /* Resolve all line numbers to PC's and verify that the addresses
@@ -4736,10 +4736,10 @@ break_command_1 (char *arg, int flag, in
 	    {
 	      tok = cond_start = end_tok + 1;
 	      cond[i] = parse_exp_1 (&tok, block_for_pc (sals.sals[i].pc), 0);
-	      make_cleanup (free, cond[i]);
+	      make_cleanup (xfree, cond[i]);
 	      cond_end = tok;
 	      cond_string[i] = savestring (cond_start, cond_end - cond_start);
-	      make_cleanup (free, cond_string[i]);
+	      make_cleanup (xfree, cond_string[i]);
 	    }
 	  else if (toklen >= 1 && strncmp (tok, "thread", toklen) == 0)
 	    {
@@ -4818,18 +4818,18 @@ do_captured_breakpoint (void *data)
   old_chain = make_cleanup (null_cleanup, 0);
 
   /* Always have a addr_string array, even if it is empty. */
-  make_cleanup (free, addr_string);
+  make_cleanup (xfree, addr_string);
 
   /* Make sure that all storage allocated to SALS gets freed.  */
-  make_cleanup (free, sals.sals);
+  make_cleanup (xfree, sals.sals);
 
   /* Allocate space for all the cond expressions. */
   cond = xcalloc (sals.nelts, sizeof (struct expression *));
-  make_cleanup (free, cond);
+  make_cleanup (xfree, cond);
 
   /* Allocate space for all the cond strings. */
   cond_string = xcalloc (sals.nelts, sizeof (char **));
-  make_cleanup (free, cond_string);
+  make_cleanup (xfree, cond_string);
 
   /* ----------------------------- SNIP -----------------------------
      Anything added to the cleanup chain beyond this point is assumed
@@ -4843,7 +4843,7 @@ do_captured_breakpoint (void *data)
   for (i = 0; i < sals.nelts; i++)
     {
       if (addr_string[i] != NULL)
-	make_cleanup (free, addr_string[i]);
+	make_cleanup (xfree, addr_string[i]);
     }
 
   /* Wait until now before checking for garbage at the end of the
@@ -4865,7 +4865,7 @@ do_captured_breakpoint (void *data)
 	  cond[i] = parse_exp_1 (&tok, block_for_pc (sals.sals[i].pc), 0);
 	  if (*tok != '\0')
 	    error ("Garbage %s follows condition", tok);
-	  make_cleanup (free, cond[i]);
+	  make_cleanup (xfree, cond[i]);
 	  cond_string[i] = xstrdup (args->condition);
 	}
     }
@@ -4967,7 +4967,7 @@ break_at_finish_at_depth_command_1 (char
 	  else
 	    sprintf (addr_string, "*0x%s", paddr_nz (high));
 	  break_command_1 (addr_string, flag, from_tty);
-	  free (addr_string);
+	  xfree (addr_string);
 	}
       else
 	error ("No function contains the specified address");
@@ -5036,8 +5036,8 @@ break_at_finish_command_1 (char *arg, in
   sals = decode_line_1 (&addr_string, 1, (struct symtab *) NULL, 0,
 			(char ***) NULL);
 
-  free (beg_addr_string);
-  old_chain = make_cleanup (free, sals.sals);
+  xfree (beg_addr_string);
+  old_chain = make_cleanup (xfree, sals.sals);
   for (i = 0; (i < sals.nelts); i++)
     {
       sal = sals.sals[i];
@@ -5049,7 +5049,7 @@ break_at_finish_command_1 (char *arg, in
 	  else
 	    sprintf (break_string, "*0x%s", paddr_nz (high));
 	  break_command_1 (break_string, flag, from_tty);
-	  free (break_string);
+	  xfree (break_string);
 	}
       else
 	error ("No function contains the specified address");
@@ -5567,7 +5567,7 @@ until_break_command (char *arg, int from
     error ("Couldn't get information on specified line.");
 
   sal = sals.sals[0];
-  free ((PTR) sals.sals);	/* malloc'd, so freed */
+  xfree (sals.sals);	/* malloc'd, so freed */
 
   if (*arg)
     error ("Junk at end of arguments.");
@@ -6308,7 +6308,7 @@ handle_gnu_4_16_catch_command (char *arg
       warning ("Multiple breakpoints were set.");
       warning ("Use the \"delete\" command to delete unwanted breakpoints.");
     }
-  free ((PTR) sals.sals);
+  xfree (sals.sals);
 }
 
 #if 0
@@ -6643,7 +6643,7 @@ clear_command (char *arg, int from_tty)
       if (from_tty)
 	putchar_unfiltered ('\n');
     }
-  free ((PTR) sals.sals);
+  xfree (sals.sals);
 }
 
 /* Delete breakpoint in BS if they are `delete' breakpoints and
@@ -6802,25 +6802,25 @@ delete_breakpoint (struct breakpoint *bp
 
   free_command_lines (&bpt->commands);
   if (bpt->cond)
-    free (bpt->cond);
+    xfree (bpt->cond);
   if (bpt->cond_string != NULL)
-    free (bpt->cond_string);
+    xfree (bpt->cond_string);
   if (bpt->addr_string != NULL)
-    free (bpt->addr_string);
+    xfree (bpt->addr_string);
   if (bpt->exp != NULL)
-    free (bpt->exp);
+    xfree (bpt->exp);
   if (bpt->exp_string != NULL)
-    free (bpt->exp_string);
+    xfree (bpt->exp_string);
   if (bpt->val != NULL)
     value_free (bpt->val);
   if (bpt->source_file != NULL)
-    free (bpt->source_file);
+    xfree (bpt->source_file);
   if (bpt->dll_pathname != NULL)
-    free (bpt->dll_pathname);
+    xfree (bpt->dll_pathname);
   if (bpt->triggered_dll_pathname != NULL)
-    free (bpt->triggered_dll_pathname);
+    xfree (bpt->triggered_dll_pathname);
   if (bpt->exec_pathname != NULL)
-    free (bpt->exec_pathname);
+    xfree (bpt->exec_pathname);
 
   /* Be sure no bpstat's are pointing at it after it's been freed.  */
   /* FIXME, how can we find all bpstat's?
@@ -6842,7 +6842,7 @@ delete_breakpoint (struct breakpoint *bp
      bp, we mark it as deleted before freeing its storage. */
   bpt->type = bp_none;
 
-  free ((PTR) bpt);
+  xfree (bpt);
 }
 
 static void
@@ -6952,7 +6952,7 @@ breakpoint_re_set_one (PTR bint)
 	    {
 	      s = b->cond_string;
 	      if (b->cond)
-		free ((PTR) b->cond);
+		xfree (b->cond);
 	      b->cond = parse_exp_1 (&s, block_for_pc (sals.sals[i].pc), 0);
 	    }
 
@@ -6971,7 +6971,7 @@ breakpoint_re_set_one (PTR bint)
 	    )
 	    {
 	      if (b->source_file != NULL)
-		free (b->source_file);
+		xfree (b->source_file);
 	      if (sals.sals[i].symtab == NULL)
 		b->source_file = NULL;
 	      else
@@ -7000,7 +7000,7 @@ breakpoint_re_set_one (PTR bint)
 	  check_duplicates (b->address, b->section);
 
 	}
-      free ((PTR) sals.sals);
+      xfree (sals.sals);
       break;
 
     case bp_watchpoint:
@@ -7018,7 +7018,7 @@ breakpoint_re_set_one (PTR bint)
 
       /* So for now, just use a global context.  */
       if (b->exp)
-	free ((PTR) b->exp);
+	xfree (b->exp);
       b->exp = parse_expression (b->exp_string);
       b->exp_valid_block = innermost_block;
       mark = value_mark ();
@@ -7033,7 +7033,7 @@ breakpoint_re_set_one (PTR bint)
 	{
 	  s = b->cond_string;
 	  if (b->cond)
-	    free ((PTR) b->cond);
+	    xfree (b->cond);
 	  b->cond = parse_exp_1 (&s, (struct block *) 0, 0);
 	}
       if (b->enable == enabled)
Index: buildsym.c
===================================================================
RCS file: /cvs/src/src/gdb/buildsym.c,v
retrieving revision 1.6
diff -u -p -r1.6 buildsym.c
--- buildsym.c	2000/07/30 01:48:24	1.6
+++ buildsym.c	2000/11/30 08:54:10
@@ -171,7 +171,7 @@ really_free_pendings (PTR dummy)
   for (next = free_pendings; next; next = next1)
     {
       next1 = next->next;
-      free ((void *) next);
+      xfree ((void *) next);
     }
   free_pendings = NULL;
 
@@ -180,14 +180,14 @@ really_free_pendings (PTR dummy)
   for (next = file_symbols; next != NULL; next = next1)
     {
       next1 = next->next;
-      free ((void *) next);
+      xfree ((void *) next);
     }
   file_symbols = NULL;
 
   for (next = global_symbols; next != NULL; next = next1)
     {
       next1 = next->next;
-      free ((void *) next);
+      xfree ((void *) next);
     }
   global_symbols = NULL;
 }
@@ -205,7 +205,7 @@ free_pending_blocks (void)
   for (bnext = pending_blocks; bnext; bnext = bnext1)
     {
       bnext1 = bnext->next;
-      free ((void *) bnext);
+      xfree ((void *) bnext);
     }
 #endif
   pending_blocks = NULL;
@@ -486,7 +486,7 @@ make_blockvector (struct objfile *objfil
   for (next = pending_blocks; next; next = next1)
     {
       next1 = next->next;
-      free (next);
+      xfree (next);
     }
 #endif
   pending_blocks = NULL;
@@ -684,7 +684,7 @@ pop_subfile (void)
     }
   name = link->name;
   subfile_stack = link->next;
-  free ((void *) link);
+  xfree ((void *) link);
   return (name);
 }
 
@@ -993,23 +993,23 @@ end_symtab (CORE_ADDR end_addr, struct o
 	}
       if (subfile->name != NULL)
 	{
-	  free ((void *) subfile->name);
+	  xfree ((void *) subfile->name);
 	}
       if (subfile->dirname != NULL)
 	{
-	  free ((void *) subfile->dirname);
+	  xfree ((void *) subfile->dirname);
 	}
       if (subfile->line_vector != NULL)
 	{
-	  free ((void *) subfile->line_vector);
+	  xfree ((void *) subfile->line_vector);
 	}
       if (subfile->debugformat != NULL)
 	{
-	  free ((void *) subfile->debugformat);
+	  xfree ((void *) subfile->debugformat);
 	}
 
       nextsub = subfile->next;
-      free ((void *) subfile);
+      xfree ((void *) subfile);
     }
 
   /* Set this for the main source file.  */
Index: c-typeprint.c
===================================================================
RCS file: /cvs/src/src/gdb/c-typeprint.c,v
retrieving revision 1.3
diff -u -p -r1.3 c-typeprint.c
--- c-typeprint.c	2000/09/04 08:29:25	1.3
+++ c-typeprint.c	2000/11/30 08:54:13
@@ -995,15 +995,15 @@ c_type_print_base (struct type *type, st
 			  strncpy (demangled_no_static, demangled_no_class, length);
 			  *(demangled_no_static + length) = '\0';
 			  fputs_filtered (demangled_no_static, stream);
-			  free (demangled_no_static);
+			  xfree (demangled_no_static);
 			}
 		      else
 			fputs_filtered (demangled_no_class, stream);
-		      free (demangled_name);
+		      xfree (demangled_name);
 		    }
 
 		  if (TYPE_FN_FIELD_STUB (f, j))
-		    free (mangled_name);
+		    xfree (mangled_name);
 
 		  fprintf_filtered (stream, ";\n");
 		}
Index: coffread.c
===================================================================
RCS file: /cvs/src/src/gdb/coffread.c,v
retrieving revision 1.12
diff -u -p -r1.12 coffread.c
--- coffread.c	2000/10/24 21:13:08	1.12
+++ coffread.c	2000/11/30 08:54:21
@@ -304,7 +304,7 @@ coff_locate_sections (bfd *abfd, asectio
 	  /* This will be run after coffstab_build_psymtabs is called
 	     in coff_symfile_read, at which point we no longer need
 	     the information.  */
-	  make_cleanup (free, n);
+	  make_cleanup (xfree, n);
 	}
     }
 }
@@ -450,7 +450,7 @@ static void
 complete_symtab (char *name, CORE_ADDR start_addr, unsigned int size)
 {
   if (last_source_file != NULL)
-    free (last_source_file);
+    xfree (last_source_file);
   last_source_file = savestring (name, strlen (name));
   current_source_start_addr = start_addr;
   current_source_end_addr = start_addr + size;
@@ -782,7 +782,7 @@ coff_symtab_read (long symtab_offset, un
   memset (opaque_type_chain, 0, sizeof opaque_type_chain);
 
   if (type_vector)		/* Get rid of previous one */
-    free ((PTR) type_vector);
+    xfree (type_vector);
   type_vector_length = 160;
   type_vector = (struct type **)
     xmalloc (type_vector_length * sizeof (struct type *));
@@ -1251,7 +1251,7 @@ static void
 free_stringtab (void)
 {
   if (stringtab)
-    free (stringtab);
+    xfree (stringtab);
   stringtab = NULL;
 }
 
@@ -1353,7 +1353,7 @@ static void
 free_linetab (void)
 {
   if (linetab)
-    free (linetab);
+    xfree (linetab);
   linetab = NULL;
 }
 
@@ -1421,7 +1421,7 @@ patch_type (struct type *type, struct ty
   if (TYPE_NAME (real_target))
     {
       if (TYPE_NAME (target))
-	free (TYPE_NAME (target));
+	xfree (TYPE_NAME (target));
       TYPE_NAME (target) = concat (TYPE_NAME (real_target), NULL);
     }
 }
Index: command.c
===================================================================
RCS file: /cvs/src/src/gdb/command.c,v
retrieving revision 1.20
diff -u -p -r1.20 command.c
--- command.c	2000/11/06 22:44:34	1.20
+++ command.c	2000/11/30 08:54:22
@@ -374,7 +374,7 @@ delete_cmd (char *name, struct cmd_list_
       if ((*list)->hookee_post)
       (*list)->hookee_post->hook_post = 0; /* Hook slips out of its bottom  */
       p = (*list)->next;
-      free ((PTR) * list);
+      xfree (* list);
       *list = p;
     }
 
@@ -389,7 +389,7 @@ delete_cmd (char *name, struct cmd_list_
             c->next->hookee_post->hook_post = 0; /* remove post hook */
                                                /* :( no fishing metaphore */
 	    p = c->next->next;
-	    free ((PTR) c->next);
+	    xfree (c->next);
 	    c->next = p;
 	  }
 	else
@@ -645,7 +645,7 @@ print_doc_line (struct ui_file *stream, 
   if (p - str > line_size - 1)
     {
       line_size = p - str + 1;
-      free ((PTR) line_buffer);
+      xfree (line_buffer);
       line_buffer = (char *) xmalloc (line_size);
     }
   strncpy (line_buffer, str, p - str);
@@ -1420,7 +1420,7 @@ complete_on_cmdlist (struct cmd_list_ele
 
   if (matches == 0)
     {
-      free ((PTR) matchlist);
+      xfree (matchlist);
       matchlist = 0;
     }
   else
@@ -1491,7 +1491,7 @@ complete_on_enum (const char *enumlist[]
 
   if (matches == 0)
     {
-      free ((PTR) matchlist);
+      xfree (matchlist);
       matchlist = 0;
     }
   else
@@ -1612,7 +1612,7 @@ do_setshow_command (char *arg, int from_
 	    *q++ = '\0';
 	    new = (char *) xrealloc (new, q - new);
 	    if (*(char **) c->var != NULL)
-	      free (*(char **) c->var);
+	      xfree (*(char **) c->var);
 	    *(char **) c->var = new;
 	  }
 	  break;
@@ -1620,14 +1620,14 @@ do_setshow_command (char *arg, int from_
 	  if (arg == NULL)
 	    arg = "";
 	  if (*(char **) c->var != NULL)
-	    free (*(char **) c->var);
+	    xfree (*(char **) c->var);
 	  *(char **) c->var = savestring (arg, strlen (arg));
 	  break;
 	case var_filename:
 	  if (arg == NULL)
 	    error_no_arg ("filename to set it to.");
 	  if (*(char **) c->var != NULL)
-	    free (*(char **) c->var);
+	    xfree (*(char **) c->var);
 	  *(char **) c->var = tilde_expand (arg);
 	  break;
 	case var_boolean:
Index: convex-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/convex-tdep.c,v
retrieving revision 1.2
diff -u -p -r1.2 convex-tdep.c
--- convex-tdep.c	2000/02/09 08:52:45	1.2
+++ convex-tdep.c	2000/11/30 08:54:23
@@ -114,7 +114,7 @@
 /* OBSOLETE      Mark text segment as empty.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE   if (execfile) */
-/* OBSOLETE     free (execfile); */
+/* OBSOLETE     xfree (execfile); */
 /* OBSOLETE   execfile = 0; */
 /* OBSOLETE   data_start = 0; */
 /* OBSOLETE   data_end = 0; */
@@ -133,7 +133,7 @@
 /* OBSOLETE   if (filename) */
 /* OBSOLETE     { */
 /* OBSOLETE       filename = tilde_expand (filename); */
-/* OBSOLETE       make_cleanup (free, filename); */
+/* OBSOLETE       make_cleanup (xfree, filename); */
 /* OBSOLETE        */
 /* OBSOLETE       execchan = openp (getenv ("PATH"), 1, filename, O_RDONLY, 0, */
 /* OBSOLETE                     &execfile); */
Index: convex-xdep.c
===================================================================
RCS file: /cvs/src/src/gdb/convex-xdep.c,v
retrieving revision 1.2
diff -u -p -r1.2 convex-xdep.c
--- convex-xdep.c	2000/02/09 08:52:45	1.2
+++ convex-xdep.c	2000/11/30 08:54:25
@@ -806,7 +806,7 @@
 /* OBSOLETE      and mark data and stack spaces as empty.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE   if (corefile) */
-/* OBSOLETE     free (corefile); */
+/* OBSOLETE     xfree (corefile); */
 /* OBSOLETE   corefile = 0; */
 /* OBSOLETE  */
 /* OBSOLETE   if (corechan >= 0) */
@@ -824,7 +824,7 @@
 /* OBSOLETE   if (filename) */
 /* OBSOLETE     { */
 /* OBSOLETE       filename = tilde_expand (filename); */
-/* OBSOLETE       make_cleanup (free, filename); */
+/* OBSOLETE       make_cleanup (xfree, filename); */
 /* OBSOLETE        */
 /* OBSOLETE       if (have_inferior_p ()) */
 /* OBSOLETE     error ("To look at a core file, you must kill the program with \"kill\"."); */
Index: corefile.c
===================================================================
RCS file: /cvs/src/src/gdb/corefile.c,v
retrieving revision 1.7
diff -u -p -r1.7 corefile.c
--- corefile.c	2000/08/10 00:58:09	1.7
+++ corefile.c	2000/11/30 08:54:26
@@ -90,7 +90,7 @@ core_file_command (char *filename, int f
 	      {
 		char *symfile_copy = xstrdup (symfile);
 
-		make_cleanup (free, symfile_copy);
+		make_cleanup (xfree, symfile_copy);
 		symbol_file_command (symfile_copy, from_tty);
 	      }
 	    else
@@ -182,7 +182,7 @@ reopen_exec_file (void)
 
   /* If the timestamp of the exec file has changed, reopen it. */
   filename = xstrdup (bfd_get_filename (exec_bfd));
-  make_cleanup (free, filename);
+  make_cleanup (xfree, filename);
   mtime = bfd_get_mtime (exec_bfd);
   res = stat (filename, &st);
 
@@ -396,7 +396,7 @@ void
 set_gnutarget (char *newtarget)
 {
   if (gnutarget_string != NULL)
-    free (gnutarget_string);
+    xfree (gnutarget_string);
   gnutarget_string = savestring (newtarget, strlen (newtarget));
   set_gnutarget_command (NULL, 0, NULL);
 }
Index: corelow.c
===================================================================
RCS file: /cvs/src/src/gdb/corelow.c,v
retrieving revision 1.10
diff -u -p -r1.10 corelow.c
--- corelow.c	2000/10/23 22:49:28	1.10
+++ corelow.c	2000/11/30 08:54:28
@@ -194,11 +194,11 @@ core_close (int quitting)
       if (!bfd_close (core_bfd))
 	warning ("cannot close \"%s\": %s",
 		 name, bfd_errmsg (bfd_get_error ()));
-      free (name);
+      xfree (name);
       core_bfd = NULL;
       if (core_ops.to_sections)
 	{
-	  free ((PTR) core_ops.to_sections);
+	  xfree (core_ops.to_sections);
 	  core_ops.to_sections = NULL;
 	  core_ops.to_sections_end = NULL;
 	}
@@ -273,11 +273,11 @@ core_open (char *filename, int from_tty)
   if (filename[0] != '/')
     {
       temp = concat (current_directory, "/", filename, NULL);
-      free (filename);
+      xfree (filename);
       filename = temp;
     }
 
-  old_chain = make_cleanup (free, filename);
+  old_chain = make_cleanup (xfree, filename);
 
   scratch_chan = open (filename, O_BINARY | ( write_files ? O_RDWR : O_RDONLY ), 0);
   if (scratch_chan < 0)
Index: cp-valprint.c
===================================================================
RCS file: /cvs/src/src/gdb/cp-valprint.c,v
retrieving revision 1.5
diff -u -p -r1.5 cp-valprint.c
--- cp-valprint.c	2000/09/01 23:43:26	1.5
+++ cp-valprint.c	2000/11/30 08:54:29
@@ -152,7 +152,7 @@ common:
       else
 	{
 	  fputs_filtered (demangled_name, stream);
-	  free (demangled_name);
+	  xfree (demangled_name);
 	}
     }
   else
@@ -793,5 +793,5 @@ _initialize_cp_valprint (void)
   obstack_begin (&dont_print_vb_obstack, 32 * sizeof (struct type *));
   obstack_specify_allocation (&dont_print_statmem_obstack,
 			      32 * sizeof (CORE_ADDR), sizeof (CORE_ADDR),
-			      xmalloc, free);
+			      xmalloc, xfree);
 }
Index: cxux-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/cxux-nat.c,v
retrieving revision 1.5
diff -u -p -r1.5 cxux-nat.c
--- cxux-nat.c	2000/08/13 01:22:17	1.5
+++ cxux-nat.c	2000/11/30 08:54:29
@@ -386,7 +386,7 @@ add_shared_symbol_files (void)
 	      section_addrs.other[0].addr = lms.l_addr;
               section_addrs.other[0].name = ".text";
 	      symbol_file_add (path_name, 1, &section_addrs, 0, 0);
-	      free (path_name);
+	      xfree (path_name);
 	    }
 	}
       /* traverse links in reverse order so that we get the
Index: d10v-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/d10v-tdep.c,v
retrieving revision 1.12
diff -u -p -r1.12 d10v-tdep.c
--- d10v-tdep.c	2000/09/01 23:45:13	1.12
+++ d10v-tdep.c	2000/11/30 08:54:30
@@ -986,8 +986,8 @@ pop_stack_item (struct stack_item *si)
 {
   struct stack_item *dead = si;
   si = si->prev;
-  free (dead->data);
-  free (dead);
+  xfree (dead->data);
+  xfree (dead);
   return si;
 }
 
@@ -1346,7 +1346,7 @@ d10v_eva_get_trace_data (void)
   oldsize = trace_data.size;
   trace_data.size += count;
 
-  free (tmpspace);
+  xfree (tmpspace);
 
   if (trace_display)
     display_trace (oldsize, trace_data.size);
Index: d30v-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/d30v-tdep.c,v
retrieving revision 1.5
diff -u -p -r1.5 d30v-tdep.c
--- d30v-tdep.c	2000/08/13 01:22:17	1.5
+++ d30v-tdep.c	2000/11/30 08:54:30
@@ -1221,7 +1221,7 @@ d30v_eva_get_trace_data (void)
   oldsize = trace_data.size;
   trace_data.size += count;
 
-  free (tmpspace);
+  xfree (tmpspace);
 
   if (trace_display)
     display_trace (oldsize, trace_data.size);
Index: dbxread.c
===================================================================
RCS file: /cvs/src/src/gdb/dbxread.c,v
retrieving revision 1.9
diff -u -p -r1.9 dbxread.c
--- dbxread.c	2000/09/01 23:45:13	1.9
+++ dbxread.c	2000/11/30 08:54:35
@@ -323,7 +323,7 @@ free_header_files (void)
 {
   if (this_object_header_files)
     {
-      free ((PTR) this_object_header_files);
+      xfree (this_object_header_files);
       this_object_header_files = NULL;
     }
   n_allocated_this_object_header_files = 0;
@@ -767,10 +767,10 @@ dbx_symfile_finish (struct objfile *objf
 
 	  while (--i >= 0)
 	    {
-	      free (hfiles[i].name);
-	      free (hfiles[i].vector);
+	      xfree (hfiles[i].name);
+	      xfree (hfiles[i].vector);
 	    }
-	  free ((PTR) hfiles);
+	  xfree (hfiles);
 	}
       mfree (objfile->md, objfile->sym_stab_info);
     }
@@ -1093,7 +1093,7 @@ read_dbx_dynamic_symtab (struct objfile 
     return;
 
   dynsyms = (asymbol **) xmalloc (dynsym_size);
-  back_to = make_cleanup (free, dynsyms);
+  back_to = make_cleanup (xfree, dynsyms);
 
   dynsym_count = bfd_canonicalize_dynamic_symtab (abfd, dynsyms);
   if (dynsym_count < 0)
@@ -1156,7 +1156,7 @@ read_dbx_dynamic_symtab (struct objfile 
     }
 
   dynrels = (arelent **) xmalloc (dynrel_size);
-  make_cleanup (free, dynrels);
+  make_cleanup (xfree, dynrels);
 
   dynrel_count = bfd_canonicalize_dynamic_reloc (abfd, dynrels, dynsyms);
   if (dynrel_count < 0)
Index: dcache.c
===================================================================
RCS file: /cvs/src/src/gdb/dcache.c,v
retrieving revision 1.10
diff -u -p -r1.10 dcache.c
--- dcache.c	2000/11/03 22:00:56	1.10
+++ dcache.c	2000/11/30 08:54:35
@@ -435,8 +435,8 @@ dcache_free (DCACHE *dcache)
   if (last_cache == dcache)
     last_cache = NULL;
 
-  free (dcache->the_cache);
-  free (dcache);
+  xfree (dcache->the_cache);
+  xfree (dcache);
 }
 
 /* Read or write LEN bytes from inferior memory at MEMADDR, transferring
Index: demangle.c
===================================================================
RCS file: /cvs/src/src/gdb/demangle.c,v
retrieving revision 1.4
diff -u -p -r1.4 demangle.c
--- demangle.c	2000/11/14 16:46:24	1.4
+++ demangle.c	2000/11/30 08:54:35
@@ -109,7 +109,7 @@ set_demangling_command (char *ignore, in
 			     dem->demangling_style_doc);
 	  if (dem->demangling_style == current_demangling_style)
 	    {
-	      free (current_demangling_style_string);
+	      xfree (current_demangling_style_string);
 	      current_demangling_style_string =
 		savestring (dem->demangling_style_name,
 			    strlen (dem->demangling_style_name));
@@ -138,7 +138,7 @@ set_demangling_style (char *style)
 {
   if (current_demangling_style_string != NULL)
     {
-      free (current_demangling_style_string);
+      xfree (current_demangling_style_string);
     }
   current_demangling_style_string = savestring (style, strlen (style));
   set_demangling_command ((char *) NULL, 0, (struct cmd_list_element *) NULL);
Index: dstread.c
===================================================================
RCS file: /cvs/src/src/gdb/dstread.c,v
retrieving revision 1.5
diff -u -p -r1.5 dstread.c
--- dstread.c	2000/08/23 16:37:23	1.5
+++ dstread.c	2000/11/30 08:54:39
@@ -107,7 +107,7 @@ dst_start_symtab (void)
   /* Initialize the source file line number information for this file.  */
 
   if (line_vector)		/* Unlikely, but maybe possible? */
-    free ((PTR) line_vector);
+    xfree (line_vector);
   line_vector_index = 0;
   line_vector_length = 1000;
   prev_line_number = -2;	/* Force first line number to be explicit */
@@ -861,13 +861,13 @@ decode_dst_structure (struct objfile *ob
   type = find_dst_structure (name);
   if (type)
     {
-      free ((PTR) name);
+      xfree (name);
       return type;
     }
   type = create_new_type (objfile);
   TYPE_NAME (type) = obstack_copy0 (&objfile->symbol_obstack,
 				    name, strlen (name));
-  free ((PTR) name);
+  xfree (name);
   TYPE_CODE (type) = code;
   TYPE_LENGTH (type) = DST_record (entry).size;
   TYPE_NFIELDS (type) = DST_record (entry).nfields;
@@ -1401,7 +1401,7 @@ process_dst_block (struct objfile *objfi
 
       block->sym[symnum] = symlist->symbol;
 
-      free ((PTR) symlist);
+      xfree (symlist);
       symlist = nextsym;
       symnum++;
     }
@@ -1497,7 +1497,7 @@ read_dst_symtab (struct objfile *objfile
 	      global_block->sym[symnum] =
 		dst_global_symbols->symbol;
 
-	      free ((PTR) dst_global_symbols);
+	      xfree (dst_global_symbols);
 	      dst_global_symbols = nextsym;
 	    }
 	  dst_global_symbols = NULL;
@@ -1534,7 +1534,7 @@ read_dst_symtab (struct objfile *objfile
     {
       element = struct_list;
       struct_list = element->next;
-      free ((PTR) element);
+      xfree (element);
     }
 }
 
Index: dve3900-rom.c
===================================================================
RCS file: /cvs/src/src/gdb/dve3900-rom.c,v
retrieving revision 1.4
diff -u -p -r1.4 dve3900-rom.c
--- dve3900-rom.c	2000/07/30 01:48:25	1.4
+++ dve3900-rom.c	2000/11/30 08:54:40
@@ -833,7 +833,7 @@ load_section (bfd *abfd, asection *s, un
       buffer = (unsigned char *) xmalloc (section_size);
       bfd_get_section_contents (abfd, s, buffer, 0, section_size);
       process_read_request (buffer, section_size);
-      free (buffer);
+      xfree (buffer);
     }
 }
 
Index: dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.18
diff -u -p -r1.18 dwarf2read.c
--- dwarf2read.c	2000/11/08 02:50:51	1.18
+++ dwarf2read.c	2000/11/30 08:54:44
@@ -1735,7 +1735,7 @@ dwarf2_add_field (struct field_info *fip
 
   /* Allocate a new field list entry and link it in.  */
   new_field = (struct nextfield *) xmalloc (sizeof (struct nextfield));
-  make_cleanup (free, new_field);
+  make_cleanup (xfree, new_field);
   memset (new_field, 0, sizeof (struct nextfield));
   new_field->next = fip->fields;
   fip->fields = new_field;
@@ -2022,7 +2022,7 @@ dwarf2_add_member_fn (struct field_info 
   /* Create a new member function field and chain it to the field list
      entry. */
   new_fnfield = (struct nextfnfield *) xmalloc (sizeof (struct nextfnfield));
-  make_cleanup (free, new_fnfield);
+  make_cleanup (xfree, new_fnfield);
   memset (new_fnfield, 0, sizeof (struct nextfnfield));
   new_fnfield->next = flp->head;
   flp->head = new_fnfield;
@@ -2382,7 +2382,7 @@ read_enumeration (struct die_info *die, 
 	    TYPE_ALLOC (type, sizeof (struct field) * num_fields);
 	  memcpy (TYPE_FIELDS (type), fields,
 		  sizeof (struct field) * num_fields);
-	  free (fields);
+	  xfree (fields);
 	}
       if (unsigned_enum)
 	TYPE_FLAGS (type) |= TYPE_FLAG_UNSIGNED;
@@ -2945,8 +2945,8 @@ free_die_list (struct die_info *dies)
   while (die)
     {
       next = die->next;
-      free (die->attrs);
-      free (die);
+      xfree (die->attrs);
+      xfree (die);
       die = next;
     }
 }
@@ -3079,8 +3079,8 @@ dwarf2_empty_abbrev_table (PTR ignore)
       while (abbrev)
 	{
 	  next = abbrev->next;
-	  free (abbrev->attrs);
-	  free (abbrev);
+	  xfree (abbrev->attrs);
+	  xfree (abbrev);
 	  abbrev = next;
 	}
       dwarf2_abbrevs[i] = NULL;
@@ -4060,11 +4060,11 @@ dwarf2_start_subfile (char *filename, ch
 	  if (STREQ (subfile->name, fullname))
 	    {
 	      current_subfile = subfile;
-	      free (fullname);
+	      xfree (fullname);
 	      return;
 	    }
 	}
-      free (fullname);
+      xfree (fullname);
     }
   start_subfile (filename, dirname);
 }
Index: dwarfread.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarfread.c,v
retrieving revision 1.3
diff -u -p -r1.3 dwarfread.c
--- dwarfread.c	2000/07/30 01:48:25	1.3
+++ dwarfread.c	2000/11/30 08:54:47
@@ -701,10 +701,10 @@ dwarf_build_psymtabs (struct objfile *ob
   if ((bfd_seek (abfd, dbfoff, SEEK_SET) != 0) ||
       (bfd_read (dbbase, dbsize, 1, abfd) != dbsize))
     {
-      free (dbbase);
+      xfree (dbbase);
       error ("can't read DWARF data from '%s'", bfd_get_filename (abfd));
     }
-  back_to = make_cleanup (free, dbbase);
+  back_to = make_cleanup (xfree, dbbase);
 
   /* If we are reinitializing, or if we have never loaded syms yet, init.
      Since we have no idea how many DIES we are looking at, we just guess
@@ -874,7 +874,7 @@ alloc_utype (DIE_REF die_ref, struct typ
 static void
 free_utypes (PTR dummy)
 {
-  free (utypes);
+  xfree (utypes);
   utypes = NULL;
   numutypes = 0;
 }
@@ -2270,10 +2270,10 @@ read_ofile_symtab (struct partial_symtab
   if (bfd_seek (abfd, foffset, SEEK_SET) ||
       (bfd_read (dbbase, dbsize, 1, abfd) != dbsize))
     {
-      free (dbbase);
+      xfree (dbbase);
       error ("can't read DWARF data");
     }
-  back_to = make_cleanup (free, dbbase);
+  back_to = make_cleanup (xfree, dbbase);
 
   /* If there is a line number table associated with this compilation unit
      then read the size of this fragment in bytes, from the fragment itself.
@@ -2295,10 +2295,10 @@ read_ofile_symtab (struct partial_symtab
       if (bfd_seek (abfd, LNFOFF (pst), SEEK_SET) ||
 	  (bfd_read (lnbase, lnsize, 1, abfd) != lnsize))
 	{
-	  free (lnbase);
+	  xfree (lnbase);
 	  error ("can't read DWARF line numbers");
 	}
-      make_cleanup (free, lnbase);
+      make_cleanup (xfree, lnbase);
     }
 
   process_dies (dbbase, dbbase + dbsize, pst->objfile);
Index: elfread.c
===================================================================
RCS file: /cvs/src/src/gdb/elfread.c,v
retrieving revision 1.11
diff -u -p -r1.11 elfread.c
--- elfread.c	2000/08/07 15:02:48	1.11
+++ elfread.c	2000/11/30 08:54:48
@@ -268,7 +268,7 @@ elf_symtab_read (struct objfile *objfile
   if (storage_needed > 0)
     {
       symbol_table = (asymbol **) xmalloc (storage_needed);
-      back_to = make_cleanup (free, symbol_table);
+      back_to = make_cleanup (xfree, symbol_table);
       if (dynamic)
 	number_of_symbols = bfd_canonicalize_dynamic_symtab (objfile->obfd,
 							     symbol_table);
Index: environ.c
===================================================================
RCS file: /cvs/src/src/gdb/environ.c,v
retrieving revision 1.2
diff -u -p -r1.2 environ.c
--- environ.c	2000/07/30 01:48:25	1.2
+++ environ.c	2000/11/30 08:54:48
@@ -48,9 +48,9 @@ free_environ (register struct environ *e
   register char **vector = e->vector;
 
   while (*vector)
-    free (*vector++);
+    xfree (*vector++);
 
-  free (e);
+  xfree (e);
 }
 
 /* Copy the environment given to this process into E.
@@ -137,7 +137,7 @@ set_in_environ (struct environ *e, const
       vector[i + 1] = 0;
     }
   else
-    free (s);
+    xfree (s);
 
   s = (char *) xmalloc (len + strlen (value) + 2);
   strcpy (s, var);
@@ -171,7 +171,7 @@ unset_in_environ (struct environ *e, cha
     {
       if (STREQN (s, var, len) && s[len] == '=')
 	{
-	  free (s);
+	  xfree (s);
 	  /* Walk through the vector, shuffling args down by one, including
 	     the NULL terminator.  Can't use memcpy() here since the regions
 	     overlap, and memmove() might not be available. */
Index: event-loop.c
===================================================================
RCS file: /cvs/src/src/gdb/event-loop.c,v
retrieving revision 1.8
diff -u -p -r1.8 event-loop.c
--- event-loop.c	2000/09/01 23:52:09	1.8
+++ event-loop.c	2000/11/30 08:54:51
@@ -377,7 +377,7 @@ process_event (void)
 	  if (event_ptr->next_event == NULL)
 	    event_queue.last_event = prev_ptr;
 	}
-      free ((char *) event_ptr);
+      xfree (event_ptr);
 
       /* Now call the procedure associated with the event. */
       (*proc) (fd);
@@ -620,7 +620,7 @@ delete_file_handler (int fd)
 	      j++;
 	    }
 	}
-      free (gdb_notifier.poll_fds);
+      xfree (gdb_notifier.poll_fds);
       gdb_notifier.poll_fds = new_poll_fds;
       gdb_notifier.num_fds--;
 #else
@@ -668,7 +668,7 @@ delete_file_handler (int fd)
 	;
       prev_ptr->next_file = file_ptr->next_file;
     }
-  free ((char *) file_ptr);
+  xfree (file_ptr);
 }
 
 /* Handle the given event by calling the procedure associated to the
@@ -973,7 +973,7 @@ delete_async_signal_handler (async_signa
       if (sighandler_list.last_handler == (*async_handler_ptr))
 	sighandler_list.last_handler = prev_ptr;
     }
-  free ((char *) (*async_handler_ptr));
+  xfree ((*async_handler_ptr));
   (*async_handler_ptr) = NULL;
 }
 
@@ -1080,7 +1080,7 @@ delete_timer (int id)
 	;
       prev_timer->next = timer_ptr->next;
     }
-  free ((char *) timer_ptr);
+  xfree (timer_ptr);
 
   gdb_notifier.timeout_valid = 0;
 }
@@ -1111,7 +1111,7 @@ handle_timer_event (int dummy)
       timer_ptr = timer_ptr->next;
       /* Call the procedure associated with that timer. */
       (*saved_timer->proc) (saved_timer->client_data);
-      free (saved_timer);
+      xfree (saved_timer);
     }
 
   gdb_notifier.timeout_valid = 0;
Index: event-top.c
===================================================================
RCS file: /cvs/src/src/gdb/event-top.c,v
retrieving revision 1.9
diff -u -p -r1.9 event-top.c
--- event-top.c	2000/09/01 23:53:02	1.9
+++ event-top.c	2000/11/30 08:54:51
@@ -393,13 +393,13 @@ pop_prompt (void)
        in effect, until the user does another 'set prompt'. */
     if (strcmp (PROMPT (0), PROMPT (-1)))
       {
-	free (PROMPT (-1));
+	xfree (PROMPT (-1));
 	PROMPT (-1) = savestring (PROMPT (0), strlen (PROMPT (0)));
       }
 
-  free (PREFIX (0));
-  free (PROMPT (0));
-  free (SUFFIX (0));
+  xfree (PREFIX (0));
+  xfree (PROMPT (0));
+  xfree (SUFFIX (0));
   the_prompts.top--;
 }
 
@@ -643,7 +643,7 @@ command_line_handler (char *rl)
     {
       strcpy (linebuffer, readline_input_state.linebuffer);
       p = readline_input_state.linebuffer_ptr;
-      free (readline_input_state.linebuffer);
+      xfree (readline_input_state.linebuffer);
       more_to_come = 0;
       pop_prompt ();
     }
@@ -690,7 +690,7 @@ command_line_handler (char *rl)
   while (*p1)
     *p++ = *p1++;
 
-  free (rl);			/* Allocated in readline.  */
+  xfree (rl);			/* Allocated in readline.  */
 
   if (*(p - 1) == '\\')
     {
@@ -749,7 +749,7 @@ command_line_handler (char *rl)
 	  /* If there was an error, call this function again.  */
 	  if (expanded < 0)
 	    {
-	      free (history_value);
+	      xfree (history_value);
 	      return;
 	    }
 	  if (strlen (history_value) > linelength)
@@ -759,7 +759,7 @@ command_line_handler (char *rl)
 	    }
 	  strcpy (linebuffer, history_value);
 	  p = linebuffer + strlen (linebuffer);
-	  free (history_value);
+	  xfree (history_value);
 	}
     }
 
@@ -868,7 +868,7 @@ gdb_readline2 (gdb_client_data client_da
 	       if we are called again fgetc will still return EOF and
 	       we'll return NULL then.  */
 	    break;
-	  free (result);
+	  xfree (result);
 	  (*input_handler) (0);
 	}
 
Index: exec.c
===================================================================
RCS file: /cvs/src/src/gdb/exec.c,v
retrieving revision 1.6
diff -u -p -r1.6 exec.c
--- exec.c	2000/07/30 01:48:25	1.6
+++ exec.c	2000/11/30 08:54:52
@@ -125,7 +125,7 @@ exec_close (int quitting)
          FIXME-as-well: free_objfile already free'd vp->name, so it isn't
          valid here.  */
       free_named_symtabs (vp->name);
-      free (vp);
+      xfree (vp);
     }
 
   vmap = NULL;
@@ -137,13 +137,13 @@ exec_close (int quitting)
       if (!bfd_close (exec_bfd))
 	warning ("cannot close \"%s\": %s",
 		 name, bfd_errmsg (bfd_get_error ()));
-      free (name);
+      xfree (name);
       exec_bfd = NULL;
     }
 
   if (exec_ops.to_sections)
     {
-      free ((PTR) exec_ops.to_sections);
+      xfree (exec_ops.to_sections);
       exec_ops.to_sections = NULL;
       exec_ops.to_sections_end = NULL;
     }
@@ -198,7 +198,7 @@ exec_file_attach (char *args, int from_t
 	error ("No executable file name was specified");
 
       filename = tilde_expand (*argv);
-      make_cleanup (free, filename);
+      make_cleanup (xfree, filename);
 
       scratch_chan = openp (getenv ("PATH"), 1, filename,
 		   write_files ? O_RDWR | O_BINARY : O_RDONLY | O_BINARY, 0,
@@ -225,7 +225,7 @@ exec_file_attach (char *args, int from_t
          via the exec_bfd->name pointer, so we need to make another copy and
          leave exec_bfd as the new owner of the original copy. */
       scratch_pathname = xstrdup (scratch_pathname);
-      make_cleanup (free, scratch_pathname);
+      make_cleanup (xfree, scratch_pathname);
 
       if (!bfd_check_format (exec_bfd, bfd_object))
 	{
@@ -363,7 +363,7 @@ build_section_table (bfd *some_bfd, stru
 
   count = bfd_count_sections (some_bfd);
   if (*start)
-    free ((PTR) * start);
+    xfree (* start);
   *start = (struct section_table *) xmalloc (count * sizeof (**start));
   *end = *start;
   bfd_map_over_sections (some_bfd, add_to_section_table, (char *) end);
Index: f-lang.c
===================================================================
RCS file: /cvs/src/src/gdb/f-lang.c,v
retrieving revision 1.5
diff -u -p -r1.5 f-lang.c
--- f-lang.c	2000/08/11 01:02:35	1.5
+++ f-lang.c	2000/11/30 08:54:53
@@ -635,7 +635,7 @@ add_common_block (char *name, CORE_ADDR 
       STREQ (name, BLANK_COMMON_NAME_MF77))
     {
 
-      free (name);
+      xfree (name);
       name = alloca (strlen (BLANK_COMMON_NAME_LOCAL) + 1);
       strcpy (name, BLANK_COMMON_NAME_LOCAL);
     }
@@ -809,7 +809,7 @@ patch_all_commons_by_name (char *name, C
   if ((STREQ (name, BLANK_COMMON_NAME_ORIGINAL)) ||
       (STREQ (name, BLANK_COMMON_NAME_MF77)))
     {
-      free (name);
+      xfree (name);
       name = alloca (strlen (BLANK_COMMON_NAME_LOCAL) + 1);
       strcpy (name, BLANK_COMMON_NAME_LOCAL);
     }
@@ -875,7 +875,7 @@ clear_bf_list (void)
   while (tmp != NULL)
     {
       next = tmp->next;
-      free (tmp);
+      xfree (tmp);
       tmp = next;
     }
   saved_bf_list = NULL;
@@ -946,7 +946,7 @@ clear_function_list (void)
   while (tmp != NULL)
     {
       next = tmp->next;
-      free (tmp);
+      xfree (tmp);
       tmp = next;
     }
 
Index: gdb-events.c
===================================================================
RCS file: /cvs/src/src/gdb/gdb-events.c,v
retrieving revision 1.3
diff -u -p -r1.3 gdb-events.c
--- gdb-events.c	2000/04/03 04:43:26	1.3
+++ gdb-events.c	2000/11/30 08:54:56
@@ -179,7 +179,7 @@ gdb_events_deliver (struct gdb_events *v
     {
       struct event *event = delivering_events;
       delivering_events = event->next;
-      free (event);
+      xfree (event);
     }
   /* Process any pending events.  Because one of the deliveries could
      bail out we move everything off of the pending queue onto an
@@ -206,7 +206,7 @@ gdb_events_deliver (struct gdb_events *v
 	  break;
 	}
       delivering_events = event->next;
-      free (event);
+      xfree (event);
     }
 }
 
Index: gdbarch.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbarch.c,v
retrieving revision 1.47
diff -u -p -r1.47 gdbarch.c
--- gdbarch.c	2000/11/30 03:30:52	1.47
+++ gdbarch.c	2000/11/30 08:54:59
@@ -448,7 +448,7 @@ void
 gdbarch_free (struct gdbarch *arch)
 {
   /* At the moment, this is trivial.  */
-  free (arch);
+  xfree (arch);
 }
 
 
Index: gdbtypes.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtypes.c,v
retrieving revision 1.15
diff -u -p -r1.15 gdbtypes.c
--- gdbtypes.c	2000/11/27 02:18:44	1.15
+++ gdbtypes.c	2000/11/30 08:55:00
@@ -1352,7 +1352,7 @@ cfront_mangle_name (struct type *type, i
 	printf ("add_mangled_type: %s\n", extras.str);	/* FIXME */
       arm_mangled_name = malloc (strlen (mangled_name) + extras.len);
       sprintf (arm_mangled_name, "%s%s", mangled_name, extras.str);
-      free (mangled_name);
+      xfree (mangled_name);
       mangled_name = arm_mangled_name;
     }
 }
@@ -1484,7 +1484,7 @@ check_stub_method (struct type *type, in
       argtypes[argcount] = NULL;	/* Ellist terminator */
     }
 
-  free (demangled_name);
+  xfree (demangled_name);
 
   f = TYPE_FN_FIELDLIST1 (type, method_id);
 
@@ -1835,7 +1835,7 @@ virtual_base_list (struct type *dclass)
   while (tmp_vbase)
     {
       tmp_vbase = tmp_vbase->next;
-      free (tmp_vbase_2);
+      xfree (tmp_vbase_2);
       tmp_vbase_2 = tmp_vbase;
     }
 
Index: gnu-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/gnu-nat.c,v
retrieving revision 1.8
diff -u -p -r1.8 gnu-nat.c
--- gnu-nat.c	2000/10/30 21:50:57	1.8
+++ gnu-nat.c	2000/11/30 08:55:02
@@ -627,7 +627,7 @@ _proc_free (struct proc *proc)
       mach_port_deallocate (mach_task_self (), proc->port);
     }
 
-  free (proc);
+  xfree (proc);
   return next;
 }
 
Index: h8500-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/h8500-tdep.c,v
retrieving revision 1.2
diff -u -p -r1.2 h8500-tdep.c
--- h8500-tdep.c	2000/07/30 01:48:25	1.2
+++ h8500-tdep.c	2000/11/30 08:55:04
@@ -510,7 +510,7 @@ h8500_value_of_trapped_internalvar (stru
   get_saved_register (regbuf, NULL, NULL, selected_frame, regnum, NULL);
   regval |= regbuf[0] << 8 | regbuf[1];		/* XXX host/target byte order */
 
-  free (var->value);		/* Free up old value */
+  xfree (var->value);		/* Free up old value */
 
   var->value = value_from_longest (builtin_type_unsigned_long, regval);
   release_value (var->value);	/* Unchain new value */
Index: hp-psymtab-read.c
===================================================================
RCS file: /cvs/src/src/gdb/hp-psymtab-read.c,v
retrieving revision 1.7
diff -u -p -r1.7 hp-psymtab-read.c
--- hp-psymtab-read.c	2000/10/30 21:50:57	1.7
+++ hp-psymtab-read.c	2000/11/30 08:55:05
@@ -381,7 +381,7 @@ clear_pst_syms (void)
 {
   pst_syms_count = 0;
   pst_syms_size = 0;
-  free (pst_syms_array);
+  xfree (pst_syms_array);
   pst_syms_array = 0;
 }
 
@@ -1025,7 +1025,7 @@ hpread_quick_traverse (struct objfile *o
 	      /* Prepare for the next psymtab. */
 	      global_syms = objfile->global_psymbols.next;
 	      static_syms = objfile->static_psymbols.next;
-	      free (class_entered);
+	      xfree (class_entered);
 
 	      curr_fd++;
 	    }			/* Psymtab for file */
@@ -1254,7 +1254,7 @@ hpread_quick_traverse (struct objfile *o
 	      /* Prepare for the next psymtab. */
 	      global_syms = objfile->global_psymbols.next;
 	      static_syms = objfile->static_psymbols.next;
-	      free (class_entered);
+	      xfree (class_entered);
 
 	      curr_md++;
 	      curr_fd++;
Index: hppah-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/hppah-nat.c,v
retrieving revision 1.5
diff -u -p -r1.5 hppah-nat.c
--- hppah-nat.c	2000/09/02 00:07:32	1.5
+++ hppah-nat.c	2000/11/30 08:55:12
@@ -340,7 +340,7 @@ child_xfer_memory (CORE_ADDR memaddr, ch
 	      /* No, we still fail.  Okay, time to punt. */
 	      if ((pt_status == -1) && errno)
 		{
-		  free (buffer);
+		  xfree (buffer);
 		  return 0;
 		}
 	    }
@@ -356,7 +356,7 @@ child_xfer_memory (CORE_ADDR memaddr, ch
 				   inferior_pid, (PTRACE_ARG3_TYPE) addr, 0);
 	  if (errno)
 	    {
-	      free (buffer);
+	      xfree (buffer);
 	      return 0;
 	    }
 	  QUIT;
@@ -365,7 +365,7 @@ child_xfer_memory (CORE_ADDR memaddr, ch
       /* Copy appropriate bytes out of the buffer.  */
       memcpy (myaddr, (char *) buffer + (memaddr & (sizeof (int) - 1)), len);
     }
-  free (buffer);
+  xfree (buffer);
   return len;
 }
 
Index: infcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/infcmd.c,v
retrieving revision 1.13
diff -u -p -r1.13 infcmd.c
--- infcmd.c	2000/11/10 19:27:45	1.13
+++ infcmd.c	2000/11/30 08:55:23
@@ -300,7 +300,7 @@ Start it from the beginning? "))
       if (args)
 	{
 	  cmd = concat ("set args ", args, NULL);
-	  make_cleanup (free, cmd);
+	  make_cleanup (xfree, cmd);
 	  execute_command (cmd, from_tty);
 	}
     }
@@ -696,7 +696,7 @@ jump_command (char *arg, int from_tty)
     }
 
   sal = sals.sals[0];
-  free ((PTR) sals.sals);
+  xfree (sals.sals);
 
   if (sal.symtab == 0 && sal.pc == 0)
     error ("No source file has been specified.");
@@ -1375,7 +1375,7 @@ set_environment_command (char *arg, int 
     }
   else
     set_in_environ (inferior_environ, var, val);
-  free (var);
+  xfree (var);
 }
 
 static void
@@ -1423,7 +1423,7 @@ path_command (char *dirname, int from_tt
   exec_path = strsave (env);
   mod_path (dirname, &exec_path);
   set_in_environ (inferior_environ, path_var_name, exec_path);
-  free (exec_path);
+  xfree (exec_path);
   if (from_tty)
     path_info ((char *) NULL, from_tty);
 }
Index: inflow.c
===================================================================
RCS file: /cvs/src/src/gdb/inflow.c,v
retrieving revision 1.3
diff -u -p -r1.3 inflow.c
--- inflow.c	2000/07/30 01:48:25	1.3
+++ inflow.c	2000/11/30 08:55:23
@@ -185,7 +185,7 @@ terminal_init_inferior_with_pgrp (int pg
       /* We could just as well copy our_ttystate (if we felt like adding
          a new function SERIAL_COPY_TTY_STATE).  */
       if (inferior_ttystate)
-	free (inferior_ttystate);
+	xfree (inferior_ttystate);
       inferior_ttystate = SERIAL_GET_TTY_STATE (stdin_serial);
 
 #ifdef PROCESS_GROUP_TYPE
@@ -331,7 +331,7 @@ terminal_ours_1 (int output_only)
 #endif
 
       if (inferior_ttystate)
-	free (inferior_ttystate);
+	xfree (inferior_ttystate);
       inferior_ttystate = SERIAL_GET_TTY_STATE (stdin_serial);
 #ifdef HAVE_TERMIOS
       inferior_process_group = tcgetpgrp (0);
Index: infrun.c
===================================================================
RCS file: /cvs/src/src/gdb/infrun.c,v
retrieving revision 1.22
diff -u -p -r1.22 infrun.c
--- infrun.c	2000/11/10 19:27:45	1.22
+++ infrun.c	2000/11/30 08:55:26
@@ -646,7 +646,7 @@ follow_vfork (int parent_pid, int child_
       pending_follow.fork_event.saw_child_exec = 0;
       pending_follow.kind = TARGET_WAITKIND_SPURIOUS;
       follow_exec (inferior_pid, pending_follow.execd_pathname);
-      free (pending_follow.execd_pathname);
+      xfree (pending_follow.execd_pathname);
     }
 }
 
@@ -1715,7 +1715,7 @@ handle_inferior_event (struct execution_
 	/* This causes the eventpoints and symbol table to be reset.  Must
 	   do this now, before trying to determine whether to stop. */
 	follow_exec (inferior_pid, pending_follow.execd_pathname);
-	free (pending_follow.execd_pathname);
+	xfree (pending_follow.execd_pathname);
 
 	stop_pc = read_pc_pid (ecs->pid);
 	ecs->saved_inferior_pid = inferior_pid;
@@ -3891,7 +3891,7 @@ xdb_handle_command (char *args, int from
 	  else
 	    printf_filtered ("Invalid signal handling flag.\n");
 	  if (argBuf)
-	    free (argBuf);
+	    xfree (argBuf);
 	}
     }
   do_cleanups (old_chain);
@@ -3982,9 +3982,9 @@ xmalloc_inferior_status (void)
 static void
 free_inferior_status (struct inferior_status *inf_status)
 {
-  free (inf_status->registers);
-  free (inf_status->stop_registers);
-  free (inf_status);
+  xfree (inf_status->registers);
+  xfree (inf_status->stop_registers);
+  xfree (inf_status);
 }
 
 void
Index: infttrace.c
===================================================================
RCS file: /cvs/src/src/gdb/infttrace.c,v
retrieving revision 1.6
diff -u -p -r1.6 infttrace.c
--- infttrace.c	2000/10/24 13:10:18	1.6
+++ infttrace.c	2000/11/30 08:55:29
@@ -686,7 +686,7 @@ clear_thread_info (void)
     {
       q = p;
       p = p->next;
-      free (q);
+      xfree (q);
     }
 
   thread_head.head = NULL;
@@ -698,7 +698,7 @@ clear_thread_info (void)
     {
       q = p;
       p = p->next;
-      free (q);
+      xfree (q);
     }
 
   deleted_threads.head = NULL;
@@ -3868,7 +3868,7 @@ kill_inferior (void)
       t = t->next;
     }
 
-  free (paranoia);
+  xfree (paranoia);
 
   call_ttrace (TT_PROC_STOP,
 	       inferior_pid,
@@ -5336,7 +5336,7 @@ remove_dictionary_entry_of_page (int pid
 
   memory_page_dictionary.page_count--;
 
-  free (page);
+  xfree (page);
 }
 
 
Index: irix5-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/irix5-nat.c,v
retrieving revision 1.9
diff -u -p -r1.9 irix5-nat.c
--- irix5-nat.c	2000/09/11 07:36:07	1.9
+++ irix5-nat.c	2000/11/30 08:55:30
@@ -409,7 +409,7 @@ solib_map_sections (void *arg)
   bfd *abfd;
 
   filename = tilde_expand (so->so_name);
-  old_chain = make_cleanup (free, filename);
+  old_chain = make_cleanup (xfree, filename);
 
   scratch_chan = openp (getenv ("PATH"), 1, filename, O_RDONLY, 0,
 			&scratch_pathname);
@@ -1056,7 +1056,7 @@ clear_solib (void)
     {
       if (so_list_head->sections)
 	{
-	  free ((PTR) so_list_head->sections);
+	  xfree (so_list_head->sections);
 	}
       if (so_list_head->abfd)
 	{
@@ -1071,9 +1071,9 @@ clear_solib (void)
 
       next = so_list_head->next;
       if (bfd_filename)
-	free ((PTR) bfd_filename);
-      free (so_list_head->so_name);
-      free ((PTR) so_list_head);
+	xfree (bfd_filename);
+      xfree (so_list_head->so_name);
+      xfree (so_list_head);
       so_list_head = next;
     }
   debug_base = 0;
Index: jv-typeprint.c
===================================================================
RCS file: /cvs/src/src/gdb/jv-typeprint.c,v
retrieving revision 1.2
diff -u -p -r1.2 jv-typeprint.c
--- jv-typeprint.c	2000/07/30 01:48:26	1.2
+++ jv-typeprint.c	2000/11/30 08:55:31
@@ -122,7 +122,7 @@ java_type_print_base (struct type *type,
 	{			/* array type */
 	  char *name = java_demangle_type_signature (TYPE_TAG_NAME (type));
 	  fputs_filtered (name, stream);
-	  free (name);
+	  xfree (name);
 	  break;
 	}
 
@@ -299,11 +299,11 @@ java_type_print_base (struct type *type,
 		      }
 
 		    fputs_filtered (demangled_no_class, stream);
-		    free (demangled_name);
+		    xfree (demangled_name);
 		  }
 
 		  if (TYPE_FN_FIELD_STUB (f, j))
-		    free (mangled_name);
+		    xfree (mangled_name);
 
 		  fprintf_filtered (stream, ";\n");
 		}
Index: kod-cisco.c
===================================================================
RCS file: /cvs/src/src/gdb/kod-cisco.c,v
retrieving revision 1.3
diff -u -p -r1.3 kod-cisco.c
--- kod-cisco.c	2000/11/29 14:41:34	1.3
+++ kod-cisco.c	2000/11/30 08:55:31
@@ -312,6 +312,6 @@ cisco_kod_request (char *arg, int from_t
 
   /* Free memory.  */
   for (i = 0; i < sync_next; ++i)
-    free (sync_ids[i]);
-  free (sync_ids);
+    xfree (sync_ids[i]);
+  xfree (sync_ids);
 }
Index: kod.c
===================================================================
RCS file: /cvs/src/src/gdb/kod.c,v
retrieving revision 1.2
diff -u -p -r1.2 kod.c
--- kod.c	2000/07/30 01:48:26	1.2
+++ kod.c	2000/11/30 08:55:31
@@ -143,7 +143,7 @@ kod_set_os (char *arg, int from_tty, str
   if (old_operating_system)
     {
       delete_cmd (old_operating_system, &infolist);
-      free (old_operating_system);
+      xfree (old_operating_system);
     }
   old_operating_system = xstrdup (operating_system);
 
@@ -175,7 +175,7 @@ kod_set_os (char *arg, int from_tty, str
 	p = "Unknown KOD library";
       printf_filtered ("%s - %s\n", operating_system, p);
 
-      free (kodlib);
+      xfree (kodlib);
     }
 }
 
Index: language.c
===================================================================
RCS file: /cvs/src/src/gdb/language.c,v
retrieving revision 1.10
diff -u -p -r1.10 language.c
--- language.c	2000/09/15 07:08:11	1.10
+++ language.c	2000/11/30 08:55:32
@@ -231,7 +231,7 @@ set_language_command (char *ignore, int 
   /* Reset the language (esp. the global string "language") to the 
      correct values. */
   err_lang = savestring (language, strlen (language));
-  make_cleanup (free, err_lang);	/* Free it after error */
+  make_cleanup (xfree, err_lang);	/* Free it after error */
   set_language (current_language->la_language);
   error ("Unknown language `%s'.", err_lang);
 }
@@ -421,7 +421,7 @@ set_lang_str (void)
   char *prefix = "";
 
   if (language)
-    free (language);
+    xfree (language);
   if (language_mode == language_mode_auto)
     prefix = "auto; currently ";
 
@@ -434,7 +434,7 @@ set_type_str (void)
   char *tmp = NULL, *prefix = "";
 
   if (type)
-    free (type);
+    xfree (type);
   if (type_mode == type_mode_auto)
     prefix = "auto; currently ";
 
@@ -480,7 +480,7 @@ set_range_str (void)
     }
 
   if (range)
-    free (range);
+    xfree (range);
   range = concat (pref, tmp, NULL);
 }
 
@@ -504,7 +504,7 @@ set_case_str()
      error ("Unrecognized case-sensitive setting.");
    }
 
-   free (case_sensitive);
+   xfree (case_sensitive);
    case_sensitive = concat (prefix, tmp, NULL);
 }
 
Index: lin-lwp.c
===================================================================
RCS file: /cvs/src/src/gdb/lin-lwp.c,v
retrieving revision 1.3
diff -u -p -r1.3 lin-lwp.c
--- lin-lwp.c	2000/09/18 13:09:12	1.3
+++ lin-lwp.c	2000/11/30 08:55:32
@@ -164,7 +164,7 @@ init_lwp_list (void)
   for (lp = lwp_list; lp; lp = lpnext)
     {
       lpnext = lp->next;
-      free (lp);
+      xfree (lp);
     }
 
   lwp_list = NULL;
@@ -222,7 +222,7 @@ delete_lwp (int pid)
   else
     lwp_list = lp->next;
 
-  free (lp);
+  xfree (lp);
 }
 
 /* Return a pointer to the structure describing the LWP corresponding
@@ -268,7 +268,7 @@ restore_inferior_pid (void *arg)
 {
   int *saved_pid_ptr = arg;
   inferior_pid = *saved_pid_ptr;
-  free (arg);
+  xfree (arg);
 }
 
 static struct cleanup *
Index: lin-thread.c
===================================================================
RCS file: /cvs/src/src/gdb/lin-thread.c,v
retrieving revision 1.8
diff -u -p -r1.8 lin-thread.c
--- lin-thread.c	2000/09/13 01:55:17	1.8
+++ lin-thread.c	2000/11/30 08:55:34
@@ -665,7 +665,7 @@ restore_inferior_pid (void *arg)
 {
   int *saved_pid_ptr = arg;
   inferior_pid = *saved_pid_ptr;
-  free (arg);
+  xfree (arg);
 }
 
 /*
Index: linespec.c
===================================================================
RCS file: /cvs/src/src/gdb/linespec.c,v
retrieving revision 1.2
diff -u -p -r1.2 linespec.c
--- linespec.c	2000/11/19 17:27:38	1.2
+++ linespec.c	2000/11/30 08:55:34
@@ -162,7 +162,7 @@ find_methods (struct type *t, char *name
 						field_counter);
 		    phys_name = alloca (strlen (tmp_name) + 1);
 		    strcpy (phys_name, tmp_name);
-		    free (tmp_name);
+		    xfree (tmp_name);
 		  }
 		else
 		  phys_name = TYPE_FN_FIELD_PHYSNAME (f, field_counter);
@@ -305,12 +305,12 @@ decode_line_2 (struct symbol *sym_arr[],
     alloca (nelts * sizeof (struct symtab_and_line));
   return_values.sals = (struct symtab_and_line *)
     xmalloc (nelts * sizeof (struct symtab_and_line));
-  old_chain = make_cleanup (free, return_values.sals);
+  old_chain = make_cleanup (xfree, return_values.sals);
 
   if (canonical)
     {
       canonical_arr = (char **) xmalloc (nelts * sizeof (char *));
-      make_cleanup (free, canonical_arr);
+      make_cleanup (xfree, canonical_arr);
       memset (canonical_arr, 0, nelts * sizeof (char *));
       *canonical = canonical_arr;
     }
@@ -391,7 +391,7 @@ decode_line_2 (struct symbol *sym_arr[],
 	      if (canonical_arr)
 		{
 		  symname = SYMBOL_NAME (sym_arr[num]);
-		  make_cleanup (free, symname);
+		  make_cleanup (xfree, symname);
 		  canonical_arr[i] = savestring (symname, strlen (symname));
 		}
 	      return_values.sals[i++] = values.sals[num];
Index: linux-thread.c
===================================================================
RCS file: /cvs/src/src/gdb/linux-thread.c,v
retrieving revision 1.9
diff -u -p -r1.9 linux-thread.c
--- linux-thread.c	2000/09/13 01:55:17	1.9
+++ linux-thread.c	2000/11/30 08:55:35
@@ -379,7 +379,7 @@ restore_inferior_pid (void *arg)
 {
   int *saved_pid_ptr = arg;
   inferior_pid = *saved_pid_ptr;
-  free (arg);
+  xfree (arg);
 }
 
 /* Register a cleanup to restore the value of inferior_pid.  */
Index: main.c
===================================================================
RCS file: /cvs/src/src/gdb/main.c,v
retrieving revision 1.4
diff -u -p -r1.4 main.c
--- main.c	2000/10/23 22:49:28	1.4
+++ main.c	2000/11/30 08:55:50
@@ -583,7 +583,7 @@ extern int gdbtk_test (char *);
 
   for (i = 0; i < ndir; i++)
     catch_command_errors (directory_command, dirarg[i], 0, RETURN_MASK_ALL);
-  free ((PTR) dirarg);
+  xfree (dirarg);
 
   if (execarg != NULL
       && symarg != NULL
@@ -665,7 +665,7 @@ extern int gdbtk_test (char *);
 #endif
       catch_command_errors (source_command, cmdarg[i], !batch, RETURN_MASK_ALL);
     }
-  free ((PTR) cmdarg);
+  xfree (cmdarg);
 
   /* Read in the old history after all the command files have been read. */
   init_history ();
Index: maint.c
===================================================================
RCS file: /cvs/src/src/gdb/maint.c,v
retrieving revision 1.11
diff -u -p -r1.11 maint.c
--- maint.c	2000/07/30 01:48:26	1.11
+++ maint.c	2000/11/30 08:55:50
@@ -141,7 +141,7 @@ maintenance_demangle (char *args, int fr
       if (demangled != NULL)
 	{
 	  printf_unfiltered ("%s\n", demangled);
-	  free (demangled);
+	  xfree (demangled);
 	}
       else
 	{
@@ -444,7 +444,7 @@ maintenance_do_deprecate (char *text, in
     {
 
       if (alias->flags & MALLOCED_REPLACEMENT)
-	free (alias->replacement);
+	xfree (alias->replacement);
 
       if (deprecate)
 	alias->flags |= (DEPRECATED_WARN_USER | CMD_DEPRECATED);
@@ -457,7 +457,7 @@ maintenance_do_deprecate (char *text, in
   else if (cmd)
     {
       if (cmd->flags & MALLOCED_REPLACEMENT)
-	free (cmd->replacement);
+	xfree (cmd->replacement);
 
       if (deprecate)
 	cmd->flags |= (DEPRECATED_WARN_USER | CMD_DEPRECATED);
Index: mdebugread.c
===================================================================
RCS file: /cvs/src/src/gdb/mdebugread.c,v
retrieving revision 1.7
diff -u -p -r1.7 mdebugread.c
--- mdebugread.c	2000/09/24 04:42:12	1.7
+++ mdebugread.c	2000/11/30 08:55:57
@@ -2291,7 +2291,7 @@ parse_partial_symbols (struct objfile *o
      Minor hack: -O3 images might claim some global data belongs
      to FDR -1. We`ll go along with that */
   fdr_to_pst = (struct pst_map *) xzalloc ((hdr->ifdMax + 1) * sizeof *fdr_to_pst);
-  old_chain = make_cleanup (free, fdr_to_pst);
+  old_chain = make_cleanup (xfree, fdr_to_pst);
   fdr_to_pst++;
   {
     struct partial_symtab *pst = new_psymtab ("", objfile);
@@ -2309,7 +2309,7 @@ parse_partial_symbols (struct objfile *o
 
   /* Pass 0 over external syms: swap them in.  */
   ext_block = (EXTR *) xmalloc (hdr->iextMax * sizeof (EXTR));
-  make_cleanup (free, ext_block);
+  make_cleanup (xfree, ext_block);
 
   ext_out = (char *) debug_info->external_ext;
   ext_out_end = ext_out + hdr->iextMax * external_ext_size;
@@ -2709,7 +2709,7 @@ parse_partial_symbols (struct objfile *o
 
 		if (stabstring
 		    && stabstring != debug_info->ss + fh->issBase + sh.iss)
-		  free (stabstring);
+		  xfree (stabstring);
 	      }
 	      /* end - Handle continuation */
 	    }
@@ -3399,7 +3399,7 @@ psymtab_to_symtab_1 (struct partial_symt
 	  PDR *pdr_in_end;
 
 	  pr_block = (PDR *) xmalloc (fh->cpd * sizeof (PDR));
-	  old_chain = make_cleanup (free, pr_block);
+	  old_chain = make_cleanup (xfree, pr_block);
 
 	  pdr_ptr = ((char *) debug_info->external_pdr
 		     + fh->ipdFirst * external_pdr_size);
@@ -3508,7 +3508,7 @@ psymtab_to_symtab_1 (struct partial_symt
 
 	      pr_block = (PDR *) xmalloc (fh->cpd * sizeof (PDR));
 
-	      old_chain = make_cleanup (free, pr_block);
+	      old_chain = make_cleanup (xfree, pr_block);
 
 	      pdr_ptr = ((char *) debug_info->external_pdr
 			 + fh->ipdFirst * external_pdr_size);
Index: minsyms.c
===================================================================
RCS file: /cvs/src/src/gdb/minsyms.c,v
retrieving revision 1.11
diff -u -p -r1.11 minsyms.c
--- minsyms.c	2000/08/04 18:41:05	1.11
+++ minsyms.c	2000/11/30 08:55:57
@@ -729,7 +729,7 @@ do_discard_minimal_symbols_cleanup (void
   while (msym_bunch != NULL)
     {
       next = msym_bunch->next;
-      free ((PTR) msym_bunch);
+      xfree (msym_bunch);
       msym_bunch = next;
     }
 }
Index: mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.34
diff -u -p -r1.34 mips-tdep.c
--- mips-tdep.c	2000/10/30 21:50:57	1.34
+++ mips-tdep.c	2000/11/30 08:56:00
@@ -2559,7 +2559,7 @@ mips_pop_frame (void)
       else
 	linked_proc_desc_table = pi_ptr->next;
 
-      free (pi_ptr);
+      xfree (pi_ptr);
 
       write_register (HI_REGNUM,
 		      read_memory_integer (new_sp - 2 * MIPS_SAVED_REGSIZE,
Index: monitor.c
===================================================================
RCS file: /cvs/src/src/gdb/monitor.c,v
retrieving revision 1.14
diff -u -p -r1.14 monitor.c
--- monitor.c	2000/11/03 22:00:56	1.14
+++ monitor.c	2000/11/30 08:56:02
@@ -752,7 +752,7 @@ monitor_open (char *args, struct monitor
   unpush_target (targ_ops);
 
   if (dev_name)
-    free (dev_name);
+    xfree (dev_name);
   dev_name = strsave (args);
 
   monitor_desc = SERIAL_OPEN (dev_name);
@@ -851,7 +851,7 @@ monitor_close (int quitting)
   /* Free breakpoint memory */
   if (breakaddr != NULL)
     {
-      free (breakaddr);
+      xfree (breakaddr);
       breakaddr = NULL;
     }
 
Index: nlmread.c
===================================================================
RCS file: /cvs/src/src/gdb/nlmread.c,v
retrieving revision 1.4
diff -u -p -r1.4 nlmread.c
--- nlmread.c	2000/07/30 01:48:26	1.4
+++ nlmread.c	2000/11/30 08:56:03
@@ -108,7 +108,7 @@ nlm_symtab_read (bfd *abfd, CORE_ADDR ad
   if (storage_needed > 0)
     {
       symbol_table = (asymbol **) xmalloc (storage_needed);
-      back_to = make_cleanup (free, symbol_table);
+      back_to = make_cleanup (xfree, symbol_table);
       number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table);
       if (number_of_symbols < 0)
 	error ("Can't read symbols from %s: %s", bfd_get_filename (abfd),
Index: objfiles.c
===================================================================
RCS file: /cvs/src/src/gdb/objfiles.c,v
retrieving revision 1.11
diff -u -p -r1.11 objfiles.c
--- objfiles.c	2000/11/03 19:00:06	1.11
+++ objfiles.c	2000/11/30 08:56:04
@@ -262,13 +262,13 @@ allocate_objfile (bfd *abfd, int flags)
       memset (objfile, 0, sizeof (struct objfile));
       objfile->md = NULL;
       obstack_specify_allocation (&objfile->psymbol_cache.cache, 0, 0,
-				  xmalloc, free);
+				  xmalloc, xfree);
       obstack_specify_allocation (&objfile->psymbol_obstack, 0, 0, xmalloc,
-				  free);
+				  xfree);
       obstack_specify_allocation (&objfile->symbol_obstack, 0, 0, xmalloc,
-				  free);
+				  xfree);
       obstack_specify_allocation (&objfile->type_obstack, 0, 0, xmalloc,
-				  free);
+				  xfree);
       flags &= ~OBJF_MAPPED;
     }
 
@@ -413,7 +413,7 @@ free_objfile (struct objfile *objfile)
       if (!bfd_close (objfile->obfd))
 	warning ("cannot close \"%s\": %s",
 		 name, bfd_errmsg (bfd_get_error ()));
-      free (name);
+      xfree (name);
     }
 
   /* Remove it from the chain of all objfiles. */
@@ -855,7 +855,7 @@ open_mapped_file (char *filename, long m
   symsfilename = concat ("./", basename (filename), ".syms", (char *) NULL);
   if ((fd = open_existing_mapped_file (symsfilename, mtime, flags)) < 0)
     {
-      free (symsfilename);
+      xfree (symsfilename);
       symsfilename = concat (filename, ".syms", (char *) NULL);
       fd = open_existing_mapped_file (symsfilename, mtime, flags);
     }
@@ -871,7 +871,7 @@ open_mapped_file (char *filename, long m
 
   if ((fd < 0) && (flags & OBJF_MAPPED))
     {
-      free (symsfilename);
+      xfree (symsfilename);
       symsfilename = concat ("./", basename (filename), ".syms",
 			     (char *) NULL);
       if ((fd = open (symsfilename, O_RDWR | O_CREAT | O_TRUNC, 0666)) < 0)
@@ -884,7 +884,7 @@ open_mapped_file (char *filename, long m
 	}
     }
 
-  free (symsfilename);
+  xfree (symsfilename);
   return (fd);
 }
 
Index: osfsolib.c
===================================================================
RCS file: /cvs/src/src/gdb/osfsolib.c,v
retrieving revision 1.6
diff -u -p -r1.6 osfsolib.c
--- osfsolib.c	2000/09/27 17:43:07	1.6
+++ osfsolib.c	2000/11/30 08:56:06
@@ -126,7 +126,7 @@ ldr_read_memory (CORE_ADDR memaddr, char
       target_read_string (memaddr, &buffer, len, &result);
       if (result == 0)
 	strcpy (myaddr, buffer);
-      free (buffer);
+      xfree (buffer);
     }
   else
     result = target_read_memory (memaddr, myaddr, len);
@@ -228,7 +228,7 @@ solib_map_sections (char *arg)
   bfd *abfd;
 
   filename = tilde_expand (so->so_name);
-  old_chain = make_cleanup (free, filename);
+  old_chain = make_cleanup (xfree, filename);
 
   scratch_chan = openp (getenv ("PATH"), 1, filename, O_RDONLY, 0,
 			&scratch_pathname);
@@ -445,7 +445,7 @@ xfer_link_map_member (struct so_list *so
 	error ("xfer_link_map_member: Can't read pathname for load map: %s\n",
 	       safe_strerror (errcode));
       strncpy (so_list_ptr->so_name, buffer, MAX_PATH_SIZE - 1);
-      free (buffer);
+      xfree (buffer);
       so_list_ptr->so_name[MAX_PATH_SIZE - 1] = '\0';
 
       for (i = 0; i < lm->module_info.region_count; i++)
@@ -472,7 +472,7 @@ xfer_link_map_member (struct so_list *so
 		region_name = "??";
 	      warning ("cannot handle shared library relocation for %s (%s)",
 		       so_list_ptr->so_name, region_name);
-	      free (buffer);
+	      xfree (buffer);
 	    }
 	}
 #endif
@@ -797,7 +797,7 @@ clear_solib (void)
     {
       if (so_list_head->sections)
 	{
-	  free ((PTR) so_list_head->sections);
+	  xfree (so_list_head->sections);
 	}
       if (so_list_head->abfd)
 	{
@@ -812,8 +812,8 @@ clear_solib (void)
 
       next = so_list_head->next;
       if (bfd_filename)
-	free ((PTR) bfd_filename);
-      free ((PTR) so_list_head);
+	xfree (bfd_filename);
+      xfree (so_list_head);
       so_list_head = next;
     }
 }
Index: p-valprint.c
===================================================================
RCS file: /cvs/src/src/gdb/p-valprint.c,v
retrieving revision 1.2
diff -u -p -r1.2 p-valprint.c
--- p-valprint.c	2000/07/30 01:48:26	1.2
+++ p-valprint.c	2000/11/30 08:56:08
@@ -669,7 +669,7 @@ common:
       else
 	{
 	  fputs_filtered (demangled_name, stream);
-	  free (demangled_name);
+	  xfree (demangled_name);
 	}
     }
   else
Index: pa64solib.c
===================================================================
RCS file: /cvs/src/src/gdb/pa64solib.c,v
retrieving revision 1.8
diff -u -p -r1.8 pa64solib.c
--- pa64solib.c	2000/11/20 17:44:07	1.8
+++ pa64solib.c	2000/11/30 08:56:09
@@ -168,7 +168,7 @@ pa64_solib_sizeof_symbol_table (char *fi
   if (!abfd)
     {
       close (desc);
-      make_cleanup (free, filename);
+      make_cleanup (xfree, filename);
       error ("\"%s\": can't open to read symbols: %s.", filename,
 	     bfd_errmsg (bfd_get_error ()));
     }
@@ -176,7 +176,7 @@ pa64_solib_sizeof_symbol_table (char *fi
   if (!bfd_check_format (abfd, bfd_object))
     {
       bfd_close (abfd);
-      make_cleanup (free, filename);
+      make_cleanup (xfree, filename);
       error ("\"%s\": can't read symbols: %s.", filename,
 	     bfd_errmsg (bfd_get_error ()));
     }
@@ -192,7 +192,7 @@ pa64_solib_sizeof_symbol_table (char *fi
     }
 
   bfd_close (abfd);
-  free (filename);
+  xfree (filename);
 
   /* Unfortunately, just summing the sizes of various debug info
      sections isn't a very accurate measurement of how much heap
@@ -573,7 +573,7 @@ get_out:
       struct so_list *temp;
 
       temp = so_list_head;
-      free (so_list_head);
+      xfree (so_list_head);
       so_list_head = temp->next;
     }
   clear_symtab_users ();
@@ -860,7 +860,7 @@ pa64_solib_restart (void)
   while (sl)
     {
       struct so_list *next_sl = sl->next;
-      free (sl);
+      xfree (sl);
       sl = next_sl;
     }
   so_list_head = NULL;
@@ -1213,7 +1213,7 @@ bfd_lookup_symbol (bfd *abfd, char *symn
   if (storage_needed > 0)
     {
       symbol_table = (asymbol **) xmalloc (storage_needed);
-      back_to = make_cleanup (free, (PTR) symbol_table);
+      back_to = make_cleanup (xfree, (PTR) symbol_table);
       number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table);
 
       for (i = 0; i < number_of_symbols; i++)
Index: parse.c
===================================================================
RCS file: /cvs/src/src/gdb/parse.c,v
retrieving revision 1.9
diff -u -p -r1.9 parse.c
--- parse.c	2000/08/07 14:27:36	1.9
+++ parse.c	2000/11/30 08:56:11
@@ -176,7 +176,7 @@ end_arglist (void)
   register struct funcall *call = funcall_chain;
   funcall_chain = call->next;
   arglist_len = call->arglist_len;
-  free ((PTR) call);
+  xfree (call);
   return val;
 }
 
@@ -191,7 +191,7 @@ free_funcalls (void *ignore)
   for (call = funcall_chain; call; call = next)
     {
       next = call->next;
-      free ((PTR) call);
+      xfree (call);
     }
 }
 
Index: printcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/printcmd.c,v
retrieving revision 1.13
diff -u -p -r1.13 printcmd.c
--- printcmd.c	2000/08/25 20:51:19	1.13
+++ printcmd.c	2000/11/30 08:56:15
@@ -1438,8 +1438,8 @@ display_command (char *exp, int from_tty
 static void
 free_display (struct display *d)
 {
-  free ((PTR) d->exp);
-  free ((PTR) d);
+  xfree (d->exp);
+  xfree (d);
 }
 
 /* Clear out the display_chain.
@@ -1453,9 +1453,9 @@ clear_displays (void)
 
   while ((d = display_chain) != NULL)
     {
-      free ((PTR) d->exp);
+      xfree (d->exp);
       display_chain = d->next;
-      free ((PTR) d);
+      xfree (d);
     }
 }
 
Index: proc-service.c
===================================================================
RCS file: /cvs/src/src/gdb/proc-service.c,v
retrieving revision 1.1
diff -u -p -r1.1 proc-service.c
--- proc-service.c	2000/09/03 18:41:28	1.1
+++ proc-service.c	2000/11/30 08:56:17
@@ -65,7 +65,7 @@ restore_inferior_pid (void *arg)
 {
   int *saved_pid_ptr = arg;
   inferior_pid = *saved_pid_ptr;
-  free (arg);
+  xfree (arg);
 }
 
 static struct cleanup *
Index: procfs.c
===================================================================
RCS file: /cvs/src/src/gdb/procfs.c,v
retrieving revision 1.20
diff -u -p -r1.20 procfs.c
--- procfs.c	2000/09/30 02:39:10	1.20
+++ procfs.c	2000/11/30 08:56:19
@@ -631,7 +631,7 @@ destroy_one_procinfo (procinfo **list, p
   close_procinfo_files (pi);
 
   /* Step three: free the memory. */
-  free (pi);
+  xfree (pi);
 }
 
 static void
@@ -2879,7 +2879,7 @@ proc_update_threads (procinfo *pi)
        malloc (sizeof (gdb_prstatus_t) * (nlwp + 1))) == 0)
     perror_with_name ("procfs: malloc failed in update_threads");
 
-  old_chain = make_cleanup (free, prstatus);
+  old_chain = make_cleanup (xfree, prstatus);
   if (ioctl (pi->ctl_fd, PIOCLSTATUS, prstatus) < 0)
     proc_error (pi, "update_threads (PIOCLSTATUS)", __LINE__);
 
Index: pyr-xdep.c
===================================================================
RCS file: /cvs/src/src/gdb/pyr-xdep.c,v
retrieving revision 1.1.1.4
diff -u -p -r1.1.1.4 pyr-xdep.c
--- pyr-xdep.c	1999/07/07 20:08:51	1.1.1.4
+++ pyr-xdep.c	2000/11/30 08:56:19
@@ -205,7 +205,7 @@
 /* OBSOLETE      and mark data and stack spaces as empty.  *x/ */
 /* OBSOLETE  */
 /* OBSOLETE   if (corefile) */
-/* OBSOLETE     free (corefile); */
+/* OBSOLETE     xfree (corefile); */
 /* OBSOLETE   corefile = 0; */
 /* OBSOLETE  */
 /* OBSOLETE   if (corechan >= 0) */
@@ -227,7 +227,7 @@
 /* OBSOLETE   if (filename) */
 /* OBSOLETE     { */
 /* OBSOLETE       filename = tilde_expand (filename); */
-/* OBSOLETE       make_cleanup (free, filename); */
+/* OBSOLETE       make_cleanup (xfree, filename); */
 /* OBSOLETE        */
 /* OBSOLETE       if (have_inferior_p ()) */
 /* OBSOLETE     error ("To look at a core file, you must kill the program with \"kill\"."); */
Index: remote-adapt.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-adapt.c,v
retrieving revision 1.5
diff -u -p -r1.5 remote-adapt.c
--- remote-adapt.c	2000/10/02 00:49:55	1.5
+++ remote-adapt.c	2000/11/30 08:56:21
@@ -610,7 +610,7 @@ the baud rate, and the name of the progr
     /*EMPTY */ ;
 
   if (prog_name != NULL)
-    free (prog_name);
+    xfree (prog_name);
   prog_name = savestring (p, strlen (p));
 
   adapt_close (0);
Index: remote-bug.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-bug.c,v
retrieving revision 1.8
diff -u -p -r1.8 remote-bug.c
--- remote-bug.c	2000/11/03 22:00:56	1.8
+++ remote-bug.c	2000/11/30 08:56:23
@@ -156,7 +156,7 @@ bug_load (char *args, int fromtty)
 	      gdb_flush (gdb_stdout);
 	    }
 	  printf_filtered ("\n");
-	  free (buffer);
+	  xfree (buffer);
 	}
       s = s->next;
     }
Index: remote-eb.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-eb.c,v
retrieving revision 1.5
diff -u -p -r1.5 remote-eb.c
--- remote-eb.c	2000/10/06 21:50:56	1.5
+++ remote-eb.c	2000/11/30 08:56:23
@@ -426,7 +426,7 @@ the baud rate, and the name of the progr
     /*EMPTY */ ;
 
   if (prog_name != NULL)
-    free (prog_name);
+    xfree (prog_name);
   prog_name = savestring (p, strlen (p));
 
   eb_close (0);
Index: remote-es.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-es.c,v
retrieving revision 1.6
diff -u -p -r1.6 remote-es.c
--- remote-es.c	2000/10/30 21:50:57	1.6
+++ remote-es.c	2000/11/30 08:56:24
@@ -433,7 +433,7 @@ es1800_close (int quitting)
     }
   if (savename != NULL)
     {
-      free (savename);
+      xfree (savename);
     }
   savename = NULL;
 
@@ -1235,7 +1235,7 @@ es1800_load (char *filename, int from_tt
     }
 
   filename = tilde_expand (filename);
-  make_cleanup (free, filename);
+  make_cleanup (xfree, filename);
 
   switch (es1800_load_format)
     {
Index: remote-mips.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-mips.c,v
retrieving revision 1.10
diff -u -p -r1.10 remote-mips.c
--- remote-mips.c	2000/09/12 17:20:09	1.10
+++ remote-mips.c	2000/11/30 08:56:26
@@ -1576,9 +1576,9 @@ device is attached to the target board (
 	     the user didn't specify a local name, assume it's the same
 	     as the part of the remote name after the "host:".  */
 	  if (tftp_name)
-	    free (tftp_name);
+	    xfree (tftp_name);
 	  if (tftp_localname)
-	    free (tftp_localname);
+	    xfree (tftp_localname);
 	  if (local_name == NULL)
 	    if ((local_name = strchr (remote_name, ':')) != NULL)
 	      local_name++;	/* skip over the colon */
@@ -1624,7 +1624,7 @@ device is attached to the target board (
   set_current_frame (create_new_frame (read_fp (), stop_pc));
   select_frame (get_current_frame (), 0);
   print_stack_frame (selected_frame, -1, 1);
-  free (serial_port_name);
+  xfree (serial_port_name);
 }
 
 static void
@@ -3230,7 +3230,7 @@ pmon_end_download (int final, int bintot
       strcat (cmd, tftp_name);
       strcat (cmd, "\r");
       mips_send_command (cmd, 0);
-      free (cmd);
+      xfree (cmd);
       if (!mips_expect_download ("Downloading from "))
 	return;
       if (!mips_expect_download (tftp_name))
Index: remote-mm.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-mm.c,v
retrieving revision 1.4
diff -u -p -r1.4 remote-mm.c
--- remote-mm.c	2000/10/06 21:50:56	1.4
+++ remote-mm.c	2000/11/30 08:56:27
@@ -333,7 +333,7 @@ mm_open (char *name, int from_tty)
     /*EMPTY */ ;
 
   if (prog_name != NULL)
-    free (prog_name);
+    xfree (prog_name);
   prog_name = savestring (p, strlen (p));
 
 
@@ -1086,7 +1086,7 @@ mm_load (char *arg_string, int from_tty)
     error ("The load command takes a file name");
 
   arg_string = tilde_expand (arg_string);
-  make_cleanup (free, arg_string);
+  make_cleanup (xfree, arg_string);
   QUIT;
   immediate_quit++;
   error ("File loading is not yet supported for MiniMon.");
Index: remote-nindy.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-nindy.c,v
retrieving revision 1.9
diff -u -p -r1.9 remote-nindy.c
--- remote-nindy.c	2000/11/03 22:00:56	1.9
+++ remote-nindy.c	2000/11/30 08:56:28
@@ -161,7 +161,7 @@ nindy_close (int quitting)
   nindy_serial = NULL;
 
   if (savename)
-    free (savename);
+    xfree (savename);
   savename = 0;
 }
 
@@ -285,7 +285,7 @@ clean_up_tty (PTR ptrarg)
 {
   struct clean_up_tty_args *args = (struct clean_up_tty_args *) ptrarg;
   SERIAL_SET_TTY_STATE (args->serial, args->state);
-  free (args->state);
+  xfree (args->state);
   warning ("\n\nYou may need to reset the 80960 and/or reload your program.\n");
 }
 
@@ -299,7 +299,7 @@ static void
 clean_up_int (void)
 {
   SERIAL_SET_TTY_STATE (tty_args.serial, tty_args.state);
-  free (tty_args.state);
+  xfree (tty_args.state);
 
   signal (SIGINT, old_ctrlc);
 #ifdef SIGTSTP
@@ -392,7 +392,7 @@ nindy_wait (int pid, struct target_waits
     }
 
   SERIAL_SET_TTY_STATE (tty_args.serial, tty_args.state);
-  free (tty_args.state);
+  xfree (tty_args.state);
   discard_cleanups (old_cleanups);
 
   if (stop_exit)
@@ -603,7 +603,7 @@ nindy_load (char *filename, int from_tty
 		  s->_raw_size,
 		  s->vma);
 	  ninMemPut (s->vma, buffer, s->_raw_size);
-	  free (buffer);
+	  xfree (buffer);
 	}
     }
   bfd_close (file);
Index: remote-rdi.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-rdi.c,v
retrieving revision 1.9
diff -u -p -r1.9 remote-rdi.c
--- remote-rdi.c	2000/10/12 22:56:31	1.9
+++ remote-rdi.c	2000/11/30 08:56:29
@@ -331,7 +331,7 @@ device is attached to the remote system 
     for (entry = local_bp_list; entry != NULL; entry = entry->next)
       {
 	if (preventry)
-	  free (preventry);
+	  xfree (preventry);
       }
   }
 
@@ -773,7 +773,7 @@ arm_rdi_remove_breakpoint (CORE_ADDR add
 	{
 	  preventry->next = entry->next;
 	}
-      free (entry);
+      xfree (entry);
     }
   return 0;
 }
@@ -982,7 +982,7 @@ rdilogfile_command (char *arg, int from_
     }
 
   if (log_filename)
-    free (log_filename);
+    xfree (log_filename);
 
   log_filename = xstrdup (arg);
 
Index: remote-rdp.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-rdp.c,v
retrieving revision 1.7
diff -u -p -r1.7 remote-rdp.c
--- remote-rdp.c	2000/10/30 21:50:57	1.7
+++ remote-rdp.c	2000/11/30 08:56:29
@@ -696,7 +696,7 @@ rdp_set_command_line (char *command, cha
    */
 
   if (commandline != NULL)
-    free (commandline);
+    xfree (commandline);
 
   commandline = malloc (strlen (command) + strlen (args) + 2);
   if (commandline != NULL)
Index: remote-udi.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-udi.c,v
retrieving revision 1.7
diff -u -p -r1.7 remote-udi.c
--- remote-udi.c	2000/08/02 05:17:27	1.7
+++ remote-udi.c	2000/11/30 08:56:32
@@ -131,7 +131,7 @@ udi_create_inferior (char *execfile, cha
   if (execfile)
     {
       if (prog_name != NULL)
-	free (prog_name);
+	xfree (prog_name);
       prog_name = savestring (execfile, strlen (execfile));
     }
   else if (entry.Offset)
@@ -229,7 +229,7 @@ udi_open (char *name, int from_tty)
     bkpt_table[cnt].Type = 0;
 
   if (udi_config_id)
-    free (udi_config_id);
+    xfree (udi_config_id);
 
   if (!name)
     error ("Usage: target udi config_id, where config_id appears in udi_soc file");
@@ -1081,7 +1081,7 @@ download (char *load_arg_string, int fro
     error ("Must specify at least a file name with the load command");
 
   filename = tilde_expand (filename);
-  make_cleanup (free, filename);
+  make_cleanup (xfree, filename);
 
   while (token = strtok (NULL, " \t"))
     {
Index: remote-vx.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-vx.c,v
retrieving revision 1.9
diff -u -p -r1.9 remote-vx.c
--- remote-vx.c	2000/10/30 21:50:57	1.9
+++ remote-vx.c	2000/11/30 08:56:33
@@ -700,7 +700,7 @@ vx_load_command (char *arg_string, int f
     error ("The load command takes a file name");
 
   arg_string = tilde_expand (arg_string);
-  make_cleanup (free, arg_string);
+  make_cleanup (xfree, arg_string);
 
   dont_repeat ();
 
@@ -1209,7 +1209,7 @@ vx_attach (char *args, int from_tty)
   push_target (&vx_run_ops);
 
   if (vx_running)
-    free (vx_running);
+    xfree (vx_running);
   vx_running = 0;
 }
 
@@ -1294,7 +1294,7 @@ vx_proc_close (int quitting)
 {
   inferior_pid = 0;		/* No longer have a process.  */
   if (vx_running)
-    free (vx_running);
+    xfree (vx_running);
   vx_running = 0;
 }
 
@@ -1325,7 +1325,7 @@ vx_close (int quitting)
   pClient = 0;
 
   if (vx_host)
-    free (vx_host);		/* The hostname */
+    xfree (vx_host);		/* The hostname */
   vx_host = 0;
 }
 
Index: remote.c
===================================================================
RCS file: /cvs/src/src/gdb/remote.c,v
retrieving revision 1.30
diff -u -p -r1.30 remote.c
--- remote.c	2000/11/27 02:18:44	1.30
+++ remote.c	2000/11/30 08:56:36
@@ -4596,7 +4596,7 @@ compare_sections_command (char *args, in
 
       /* be clever; compute the host_crc before waiting for target reply */
       sectdata = xmalloc (size);
-      old_chain = make_cleanup (free, sectdata);
+      old_chain = make_cleanup (xfree, sectdata);
       bfd_get_section_contents (exec_bfd, s, sectdata, 0, size);
       host_crc = crc32 ((unsigned char *) sectdata, size, 0xffffffff);
 
Index: rs6000-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-nat.c,v
retrieving revision 1.11
diff -u -p -r1.11 rs6000-nat.c
--- rs6000-nat.c	2000/11/09 09:49:00	1.11
+++ rs6000-nat.c	2000/11/30 08:56:36
@@ -977,7 +977,7 @@ xcoff_relocate_symtab (unsigned int pid)
 	}
     } while (rc == -1);
   if (ldi)
-    free (ldi);
+    xfree (ldi);
 }
 
 /* Core file stuff.  */
Index: ser-pipe.c
===================================================================
RCS file: /cvs/src/src/gdb/ser-pipe.c,v
retrieving revision 1.2
diff -u -p -r1.2 ser-pipe.c
--- ser-pipe.c	2000/02/09 08:52:47	1.2
+++ ser-pipe.c	2000/11/30 08:56:40
@@ -120,7 +120,7 @@ pipe_close (serial_t scb)
       int pid = state->pid;
       close (scb->fd);
       scb->fd = -1;
-      free (state);
+      xfree (state);
       scb->state = NULL;
       kill (pid, SIGTERM);
       /* Might be useful to check that the child does die. */
Index: serial.c
===================================================================
RCS file: /cvs/src/src/gdb/serial.c,v
retrieving revision 1.4
diff -u -p -r1.4 serial.c
--- serial.c	2000/06/08 00:52:56	1.4
+++ serial.c	2000/11/30 08:56:40
@@ -209,7 +209,7 @@ serial_open (const char *name)
 
   if (scb->ops->open (scb, open_name))
     {
-      free (scb);
+      xfree (scb);
       return NULL;
     }
 
@@ -310,7 +310,7 @@ do_serial_close (serial_t scb, int reall
     scb->ops->close (scb);
 
   if (scb->name)
-    free (scb->name);
+    xfree (scb->name);
 
   if (scb_base == scb)
     scb_base = scb_base->next;
@@ -324,7 +324,7 @@ do_serial_close (serial_t scb, int reall
 	break;
       }
 
-  free (scb);
+  xfree (scb);
 }
 
 void
@@ -397,7 +397,7 @@ serial_printf (serial_t desc, const char
   vasprintf (&buf, format, args);
   SERIAL_WRITE (desc, buf, strlen (buf));
 
-  free (buf);
+  xfree (buf);
   va_end (args);
 }
 
@@ -551,7 +551,7 @@ cleanup_tty (serial_ttystate ttystate)
 {
   printf_unfiltered ("\r\n[Exiting connect mode]\r\n");
   SERIAL_SET_TTY_STATE (tty_desc, ttystate);
-  free (ttystate);
+  xfree (ttystate);
   SERIAL_CLOSE (tty_desc);
 }
 
Index: solib-svr4.c
===================================================================
RCS file: /cvs/src/src/gdb/solib-svr4.c,v
retrieving revision 1.4
diff -u -p -r1.4 solib-svr4.c
--- solib-svr4.c	2000/11/21 01:09:54	1.4
+++ solib-svr4.c	2000/11/30 08:56:45
@@ -308,13 +308,13 @@ allocate_rt_common_objfile (void)
   memset (objfile, 0, sizeof (struct objfile));
   objfile->md = NULL;
   obstack_specify_allocation (&objfile->psymbol_cache.cache, 0, 0,
-			      xmalloc, free);
+			      xmalloc, xfree);
   obstack_specify_allocation (&objfile->psymbol_obstack, 0, 0, xmalloc,
-			      free);
+			      xfree);
   obstack_specify_allocation (&objfile->symbol_obstack, 0, 0, xmalloc,
-			      free);
+			      xfree);
   obstack_specify_allocation (&objfile->type_obstack, 0, 0, xmalloc,
-			      free);
+			      xfree);
   objfile->name = mstrsave (objfile->md, "rt_common");
 
   /* Add this file onto the tail of the linked list of other such files. */
@@ -351,7 +351,7 @@ solib_add_common_symbols (CORE_ADDR rtc_
     {
       obstack_free (&rt_common_objfile->symbol_obstack, 0);
       obstack_specify_allocation (&rt_common_objfile->symbol_obstack, 0, 0,
-				  xmalloc, free);
+				  xmalloc, xfree);
       rt_common_objfile->minimal_symbol_count = 0;
       rt_common_objfile->msymbols = NULL;
     }
@@ -384,7 +384,7 @@ solib_add_common_symbols (CORE_ADDR rtc_
 
 	  prim_record_minimal_symbol (name, inferior_rtc_nlist.n_value,
 				      mst_bss, rt_common_objfile);
-	  free (name);
+	  xfree (name);
 	}
       rtc_symp = SOLIB_EXTRACT_ADDRESS (inferior_rtc_symb.rtc_next);
     }
@@ -439,7 +439,7 @@ bfd_lookup_symbol (bfd *abfd, char *symn
   if (storage_needed > 0)
     {
       symbol_table = (asymbol **) xmalloc (storage_needed);
-      back_to = make_cleanup (free, (PTR) symbol_table);
+      back_to = make_cleanup (xfree, (PTR) symbol_table);
       number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table);
 
       for (i = 0; i < number_of_symbols; i++)
@@ -466,7 +466,7 @@ bfd_lookup_symbol (bfd *abfd, char *symn
   if (storage_needed > 0)
     {
       symbol_table = (asymbol **) xmalloc (storage_needed);
-      back_to = make_cleanup (free, (PTR) symbol_table);
+      back_to = make_cleanup (xfree, (PTR) symbol_table);
       number_of_symbols = bfd_canonicalize_dynamic_symtab (abfd, symbol_table);
 
       for (i = 0; i < number_of_symbols; i++)
@@ -853,7 +853,7 @@ first_link_map_member (void)
 #else /* SVR4_SHARED_LIBS */
   struct link_map_offsets *lmo = SVR4_FETCH_LINK_MAP_OFFSETS ();
   char *r_map_buf = xmalloc (lmo->r_map_size);
-  struct cleanup *cleanups = make_cleanup (free, r_map_buf);
+  struct cleanup *cleanups = make_cleanup (xfree, r_map_buf);
 
   read_memory (debug_base + lmo->r_map_offset, r_map_buf, lmo->r_map_size);
 
@@ -902,7 +902,7 @@ open_symbol_file_object (void *from_ttyp
   int from_tty = *(int *)from_ttyp;
   struct link_map_offsets *lmo = SVR4_FETCH_LINK_MAP_OFFSETS ();
   char *l_name_buf = xmalloc (lmo->l_name_size);
-  struct cleanup *cleanups = make_cleanup (free, l_name_buf);
+  struct cleanup *cleanups = make_cleanup (xfree, l_name_buf);
 
   if (symfile_objfile)
     if (!query ("Attempt to reload symbols from process? "))
@@ -937,7 +937,7 @@ open_symbol_file_object (void *from_ttyp
       return 0;
     }
 
-  make_cleanup (free, filename);
+  make_cleanup (xfree, filename);
   /* Have a pathname: read the symbol file.  */
   symbol_file_command (filename, from_tty);
 
@@ -1000,15 +1000,15 @@ svr4_current_sos (void)
       struct link_map_offsets *lmo = SVR4_FETCH_LINK_MAP_OFFSETS ();
       struct so_list *new
 	= (struct so_list *) xmalloc (sizeof (struct so_list));
-      struct cleanup *old_chain = make_cleanup (free, new);
+      struct cleanup *old_chain = make_cleanup (xfree, new);
 
       memset (new, 0, sizeof (*new));
 
       new->lm_info = xmalloc (sizeof (struct lm_info));
-      make_cleanup (free, new->lm_info);
+      make_cleanup (xfree, new->lm_info);
 
       new->lm_info->lm = xmalloc (lmo->link_map_size);
-      make_cleanup (free, new->lm_info->lm);
+      make_cleanup (xfree, new->lm_info->lm);
       memset (new->lm_info->lm, 0, lmo->link_map_size);
 
       read_memory (lm, new->lm_info->lm, lmo->link_map_size);
@@ -1039,7 +1039,7 @@ svr4_current_sos (void)
 	    {
 	      strncpy (new->so_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
 	      new->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
-	      free (buffer);
+	      xfree (buffer);
 	      strcpy (new->so_original_name, new->so_name);
 	    }
 
@@ -1522,7 +1522,7 @@ svr4_relocate_main_executable (void)
 
       new_offsets = xcalloc (sizeof (struct section_offsets),
 			     symfile_objfile->num_sections);
-      old_chain = make_cleanup (free, new_offsets);
+      old_chain = make_cleanup (xfree, new_offsets);
 
       for (i = 0; i < symfile_objfile->num_sections; i++)
 	{
@@ -1667,8 +1667,8 @@ svr4_clear_solib (void)
 static void
 svr4_free_so (struct so_list *so)
 {
-  free (so->lm_info->lm);
-  free (so->lm_info);
+  xfree (so->lm_info->lm);
+  xfree (so->lm_info);
 }
 
 static void
Index: solib.c
===================================================================
RCS file: /cvs/src/src/gdb/solib.c,v
retrieving revision 1.29
diff -u -p -r1.29 solib.c
--- solib.c	2000/11/27 02:18:44	1.29
+++ solib.c	2000/11/30 08:56:45
@@ -187,7 +187,7 @@ solib_map_sections (PTR arg)
 
   filename = tilde_expand (so->so_name);
 
-  old_chain = make_cleanup (free, filename);
+  old_chain = make_cleanup (xfree, filename);
   scratch_chan = solib_open (filename, &scratch_pathname);
 
   if (scratch_chan < 0)
@@ -270,7 +270,7 @@ free_so (struct so_list *so)
   char *bfd_filename = 0;
 
   if (so->sections)
-    free (so->sections);
+    xfree (so->sections);
       
   if (so->abfd)
     {
@@ -281,11 +281,11 @@ free_so (struct so_list *so)
     }
 
   if (bfd_filename)
-    free (bfd_filename);
+    xfree (bfd_filename);
 
   TARGET_SO_FREE_SO (so);
 
-  free (so);
+  xfree (so);
 }
 
 
Index: somread.c
===================================================================
RCS file: /cvs/src/src/gdb/somread.c,v
retrieving revision 1.8
diff -u -p -r1.8 somread.c
--- somread.c	2000/10/30 21:50:58	1.8
+++ somread.c	2000/11/30 08:56:46
@@ -597,7 +597,7 @@ init_import_symbols (struct objfile *obj
     }
 
   objfile->import_list_size = import_list_size;
-  free (string_buffer);
+  xfree (string_buffer);
   return import_list_size;
 }
 
@@ -728,7 +728,7 @@ init_export_symbols (struct objfile *obj
     }
 
   objfile->export_list_size = export_list_size;
-  free (string_buffer);
+  xfree (string_buffer);
   return export_list_size;
 }
 
Index: somsolib.c
===================================================================
RCS file: /cvs/src/src/gdb/somsolib.c,v
retrieving revision 1.6
diff -u -p -r1.6 somsolib.c
--- somsolib.c	2000/08/27 22:30:29	1.6
+++ somsolib.c	2000/11/30 08:56:47
@@ -230,7 +230,7 @@ som_solib_sizeof_symbol_table (char *fil
   if (!abfd)
     {
       close (desc);
-      make_cleanup (free, filename);
+      make_cleanup (xfree, filename);
       error ("\"%s\": can't open to read symbols: %s.", filename,
 	     bfd_errmsg (bfd_get_error ()));
     }
@@ -238,7 +238,7 @@ som_solib_sizeof_symbol_table (char *fil
   if (!bfd_check_format (abfd, bfd_object))	/* Reads in section info */
     {
       bfd_close (abfd);		/* This also closes desc */
-      make_cleanup (free, filename);
+      make_cleanup (xfree, filename);
       error ("\"%s\": can't read symbols: %s.", filename,
 	     bfd_errmsg (bfd_get_error ()));
     }
@@ -256,7 +256,7 @@ som_solib_sizeof_symbol_table (char *fil
     st_size += (LONGEST) bfd_section_size (abfd, sect);
 
   bfd_close (abfd);		/* This also closes desc */
-  free (filename);
+  xfree (filename);
 
   /* Unfortunately, just summing the sizes of various debug info
      sections isn't a very accurate measurement of how much heap
@@ -1007,7 +1007,7 @@ keep_going:
       struct so_list *temp;
 
       temp = so_list_head;
-      free (so_list_head);
+      xfree (so_list_head);
       so_list_head = temp->next;
     }
   clear_symtab_users ();
@@ -1500,7 +1500,7 @@ som_solib_restart (void)
   while (sl)
     {
       struct so_list *next_sl = sl->next;
-      free (sl);
+      xfree (sl);
       sl = next_sl;
     }
   so_list_head = NULL;
Index: source.c
===================================================================
RCS file: /cvs/src/src/gdb/source.c,v
retrieving revision 1.4
diff -u -p -r1.4 source.c
--- source.c	2000/07/30 01:48:27	1.4
+++ source.c	2000/11/30 08:56:47
@@ -154,7 +154,7 @@ select_source_symtab (register struct sy
     {
       sals = decode_line_spec ("main", 1);
       sal = sals.sals[0];
-      free (sals.sals);
+      xfree (sals.sals);
       current_source_symtab = sal.symtab;
       current_source_line = max (sal.line - (lines_to_list - 1), 1);
       if (current_source_symtab)
@@ -268,7 +268,7 @@ directory_command (char *dirname, int fr
     {
       if (from_tty && query ("Reinitialize source path to empty? "))
 	{
-	  free (source_path);
+	  xfree (source_path);
 	  init_source_path ();
 	}
     }
@@ -294,7 +294,7 @@ mod_path (char *dirname, char **which_pa
     return;
 
   dirname = strsave (dirname);
-  make_cleanup (free, dirname);
+  make_cleanup (xfree, dirname);
 
   do
     {
@@ -374,7 +374,7 @@ mod_path (char *dirname, char **which_pa
 	name = concat (current_directory, SLASH_STRING, name, NULL);
       else
 	name = savestring (name, p - name);
-      make_cleanup (free, name);
+      make_cleanup (xfree, name);
 
       /* Unless it's a variable, check existence.  */
       if (name[0] != '$')
@@ -447,14 +447,14 @@ mod_path (char *dirname, char **which_pa
 		old[prefix] = c;
 		*which_path = concat (temp, "", &old[prefix], NULL);
 		prefix = strlen (temp);
-		free (temp);
+		xfree (temp);
 	      }
 	    else
 	      {
 		*which_path = concat (name, (old[0] ? tinybuf : old), old, NULL);
 		prefix = strlen (name);
 	      }
-	    free (old);
+	    xfree (old);
 	    old = *which_path;
 	  }
       }
@@ -727,7 +727,7 @@ open_source_file (struct symtab *s)
     {
       fullname = s->fullname;
       s->fullname = mstrsave (s->objfile->md, s->fullname);
-      free (fullname);
+      xfree (fullname);
     }
   return result;
 }
@@ -828,7 +828,7 @@ find_source_lines (struct symtab *s, int
     /* Use malloc, not alloca, because this may be pretty large, and we may
        run into various kinds of limits on stack size.  */
     data = (char *) xmalloc (size);
-    old_cleanups = make_cleanup (free, data);
+    old_cleanups = make_cleanup (xfree, data);
 
     /* Reassign `size' to result of read for systems where \r\n -> \n.  */
     size = myread (desc, data, size);
@@ -1231,12 +1231,12 @@ list_command (char *arg, int from_tty)
       if (sals.nelts > 1)
 	{
 	  ambiguous_line_spec (&sals);
-	  free (sals.sals);
+	  xfree (sals.sals);
 	  return;
 	}
 
       sal = sals.sals[0];
-      free (sals.sals);
+      xfree (sals.sals);
     }
 
   /* Record whether the BEG arg is all digits.  */
@@ -1265,11 +1265,11 @@ list_command (char *arg, int from_tty)
 	  if (sals_end.nelts > 1)
 	    {
 	      ambiguous_line_spec (&sals_end);
-	      free (sals_end.sals);
+	      xfree (sals_end.sals);
 	      return;
 	    }
 	  sal_end = sals_end.sals[0];
-	  free (sals_end.sals);
+	  xfree (sals_end.sals);
 	}
     }
 
@@ -1440,7 +1440,7 @@ line_info (char *arg, int from_tty)
 	printf_filtered ("Line number %d is out of range for \"%s\".\n",
 			 sal.line, sal.symtab->filename);
     }
-  free (sals.sals);
+  xfree (sals.sals);
 }
 
 /* Commands to search the source file for a regexp.  */
Index: sparcl-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sparcl-tdep.c,v
retrieving revision 1.7
diff -u -p -r1.7 sparcl-tdep.c
--- sparcl-tdep.c	2000/10/23 03:21:06	1.7
+++ sparcl-tdep.c	2000/11/30 08:56:51
@@ -411,7 +411,7 @@ sparclite_open (char *name, int from_tty
   unpush_target (&sparclite_ops);
 
   if (remote_target_name)
-    free (remote_target_name);
+    xfree (remote_target_name);
 
   remote_target_name = strsave (name);
 
Index: stabsread.c
===================================================================
RCS file: /cvs/src/src/gdb/stabsread.c,v
retrieving revision 1.9
diff -u -p -r1.9 stabsread.c
--- stabsread.c	2000/11/10 23:18:16	1.9
+++ stabsread.c	2000/11/30 08:56:55
@@ -654,7 +654,7 @@ read_cfront_baseclasses (struct field_in
   for (i = 0; i < TYPE_N_BASECLASSES (type); i++)
     {
       new = (struct nextfield *) xmalloc (sizeof (struct nextfield));
-      make_cleanup (free, new);
+      make_cleanup (xfree, new);
       memset (new, 0, sizeof (struct nextfield));
       new->next = fip->list;
       fip->list = new;
@@ -814,7 +814,7 @@ read_cfront_member_functions (struct fie
 
       new_fnlist = (struct next_fnfieldlist *)
 	xmalloc (sizeof (struct next_fnfieldlist));
-      make_cleanup (free, new_fnlist);
+      make_cleanup (xfree, new_fnlist);
       memset (new_fnlist, 0, sizeof (struct next_fnfieldlist));
 
       /* The following is code to work around cfront generated stabs.
@@ -857,7 +857,7 @@ read_cfront_member_functions (struct fie
 
       new_sublist =
 	(struct next_fnfield *) xmalloc (sizeof (struct next_fnfield));
-      make_cleanup (free, new_sublist);
+      make_cleanup (xfree, new_sublist);
       memset (new_sublist, 0, sizeof (struct next_fnfield));
 
       /* eat 1; from :;2A.; */
@@ -2989,7 +2989,7 @@ read_member_functions (struct field_info
 
       new_fnlist = (struct next_fnfieldlist *)
 	xmalloc (sizeof (struct next_fnfieldlist));
-      make_cleanup (free, new_fnlist);
+      make_cleanup (xfree, new_fnlist);
       memset (new_fnlist, 0, sizeof (struct next_fnfieldlist));
 
       if ((*pp)[0] == 'o' && (*pp)[1] == 'p' && is_cplus_marker ((*pp)[2]))
@@ -3032,7 +3032,7 @@ read_member_functions (struct field_info
 	{
 	  new_sublist =
 	    (struct next_fnfield *) xmalloc (sizeof (struct next_fnfield));
-	  make_cleanup (free, new_sublist);
+	  make_cleanup (xfree, new_sublist);
 	  memset (new_sublist, 0, sizeof (struct next_fnfield));
 
 	  /* Check for and handle cretinous dbx symbol name continuation!  */
@@ -3508,7 +3508,7 @@ read_struct_fields (struct field_info *f
       STABS_CONTINUE (pp, objfile);
       /* Get space to record the next field's data.  */
       new = (struct nextfield *) xmalloc (sizeof (struct nextfield));
-      make_cleanup (free, new);
+      make_cleanup (xfree, new);
       memset (new, 0, sizeof (struct nextfield));
       new->next = fip->list;
       fip->list = new;
@@ -3628,7 +3628,7 @@ read_baseclasses (struct field_info *fip
   for (i = 0; i < TYPE_N_BASECLASSES (type); i++)
     {
       new = (struct nextfield *) xmalloc (sizeof (struct nextfield));
-      make_cleanup (free, new);
+      make_cleanup (xfree, new);
       memset (new, 0, sizeof (struct nextfield));
       new->next = fip->list;
       fip->list = new;
@@ -3848,7 +3848,7 @@ read_cfront_static_fields (struct field_
 
       /* allocate a new fip */
       new = (struct nextfield *) xmalloc (sizeof (struct nextfield));
-      make_cleanup (free, new);
+      make_cleanup (xfree, new);
       memset (new, 0, sizeof (struct nextfield));
       new->next = fip->list;
       fip->list = new;
@@ -3911,7 +3911,7 @@ copy_cfront_struct_fields (struct field_
     {
       /* allocate a new fip */
       new = (struct nextfield *) xmalloc (sizeof (struct nextfield));
-      make_cleanup (free, new);
+      make_cleanup (xfree, new);
       memset (new, 0, sizeof (struct nextfield));
       new->next = fip->list;
       fip->list = new;
@@ -5150,7 +5150,7 @@ end_stabs (void)
 {
   if (type_vector)
     {
-      free ((char *) type_vector);
+      xfree (type_vector);
     }
   type_vector = 0;
   type_vector_length = 0;
@@ -5163,7 +5163,7 @@ finish_global_stabs (struct objfile *obj
   if (global_stabs)
     {
       patch_block_stabs (global_symbols, global_stabs, objfile);
-      free ((PTR) global_stabs);
+      xfree (global_stabs);
       global_stabs = NULL;
     }
 }
Index: stack.c
===================================================================
RCS file: /cvs/src/src/gdb/stack.c,v
retrieving revision 1.9
diff -u -p -r1.9 stack.c
--- stack.c	2000/11/06 20:25:36	1.9
+++ stack.c	2000/11/30 08:56:55
@@ -737,7 +737,7 @@ parse_frame_specification (char *frame_e
 	  addr_string = savestring (frame_exp, p - frame_exp);
 
 	  {
-	    tmp_cleanup = make_cleanup (free, addr_string);
+	    tmp_cleanup = make_cleanup (xfree, addr_string);
 	    args[numargs++] = parse_and_eval_address (addr_string);
 	    do_cleanups (tmp_cleanup);
 	  }
@@ -1216,7 +1216,7 @@ backtrace_command (char *arg, int from_t
   backtrace_command_1 (argPtr, (argIndicatingFullTrace >= 0), from_tty);
 
   if (argIndicatingFullTrace >= 0 && totArgLen > 0)
-    free (argPtr);
+    xfree (argPtr);
 
   if (old_chain)
     do_cleanups (old_chain);
@@ -1959,7 +1959,7 @@ func_command (char *arg, int from_tty)
   while (!found && level == 0);
 
   if (func_bounds)
-    free (func_bounds);
+    xfree (func_bounds);
 
   if (!found)
     printf_filtered ("'%s' not within current stack frame.\n", arg);
Index: sun386-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/sun386-nat.c,v
retrieving revision 1.2
diff -u -p -r1.2 sun386-nat.c
--- sun386-nat.c	2000/07/30 01:48:27	1.2
+++ sun386-nat.c	2000/11/30 08:56:56
@@ -53,7 +53,7 @@ core_file_command (char *filename, int f
      and mark data and stack spaces as empty.  */
 
   if (corefile)
-    free (corefile);
+    xfree (corefile);
   corefile = 0;
 
   if (corechan >= 0)
@@ -70,7 +70,7 @@ core_file_command (char *filename, int f
   if (filename)
     {
       filename = tilde_expand (filename);
-      make_cleanup (free, filename);
+      make_cleanup (xfree, filename);
 
       if (have_inferior_p ())
 	error ("To look at a core file, you must kill the program with \"kill\".");
Index: symfile.c
===================================================================
RCS file: /cvs/src/src/gdb/symfile.c,v
retrieving revision 1.20
diff -u -p -r1.20 symfile.c
--- symfile.c	2000/10/27 15:02:42	1.20
+++ symfile.c	2000/11/30 08:56:58
@@ -490,8 +490,8 @@ free_section_addr_info (struct section_a
 
   for (idx = 0; idx < MAX_SECTIONS; idx++)
     if (sap->other[idx].name)
-      free (sap->other[idx].name);
-  free (sap);
+      xfree (sap->other[idx].name);
+  xfree (sap);
 }
 
 
@@ -1060,10 +1060,10 @@ symfile_bfd_open (char *name)
 #endif
   if (desc < 0)
     {
-      make_cleanup (free, name);
+      make_cleanup (xfree, name);
       perror_with_name (name);
     }
-  free (name);			/* Free 1st new malloc'd copy */
+  xfree (name);			/* Free 1st new malloc'd copy */
   name = absolute_name;		/* Keep 2nd malloc'd copy in bfd */
   /* It'll be freed in free_objfile(). */
 
@@ -1071,7 +1071,7 @@ symfile_bfd_open (char *name)
   if (!sym_bfd)
     {
       close (desc);
-      make_cleanup (free, name);
+      make_cleanup (xfree, name);
       error ("\"%s\": can't open to read symbols: %s.", name,
 	     bfd_errmsg (bfd_get_error ()));
     }
@@ -1083,7 +1083,7 @@ symfile_bfd_open (char *name)
          on error it does not free all the storage associated with the
          bfd).  */
       bfd_close (sym_bfd);	/* This also closes desc */
-      make_cleanup (free, name);
+      make_cleanup (xfree, name);
       error ("\"%s\": can't read symbols: %s.", name,
 	     bfd_errmsg (bfd_get_error ()));
     }
@@ -1171,7 +1171,7 @@ generic_load (char *args, int from_tty)
   /* Parse the input argument - the user can specify a load offset as
      a second argument. */
   filename = xmalloc (strlen (args) + 1);
-  old_cleanups = make_cleanup (free, filename);
+  old_cleanups = make_cleanup (xfree, filename);
   strcpy (filename, args);
   offptr = strchr (filename, ' ');
   if (offptr != NULL)
@@ -1231,7 +1231,7 @@ generic_load (char *args, int from_tty)
 		block_size = size;
 
 	      buffer = xmalloc (size);
-	      old_chain = make_cleanup (free, buffer);
+	      old_chain = make_cleanup (xfree, buffer);
 
 	      /* Is this really necessary?  I guess it gives the user something
 	         to look at during a long download.  */
@@ -1268,7 +1268,7 @@ generic_load (char *args, int from_tty)
                          that.  remote.c could implement that method
                          using the ``qCRC'' packet.  */
 		      char *check = xmalloc (len);
-		      struct cleanup *verify_cleanups = make_cleanup (free, check);
+		      struct cleanup *verify_cleanups = make_cleanup (xfree, check);
 		      if (target_read_memory (lma, check, len) != 0)
 			error ("Download verify read failed at 0x%s",
 			       paddr (lma));
@@ -1452,7 +1452,7 @@ add_symbol_file_command (char *args, int
 	{
 	  /* The first argument is the file name. */
 	  filename = tilde_expand (arg);
-	  my_cleanups = make_cleanup (free, filename);
+	  my_cleanups = make_cleanup (xfree, filename);
 	}
       else
 	if (argcnt == 1)
@@ -1684,13 +1684,13 @@ reread_symbols (void)
 	      /* obstack_specify_allocation also initializes the obstack so
 	         it is empty.  */
 	      obstack_specify_allocation (&objfile->psymbol_cache.cache, 0, 0,
-					  xmalloc, free);
+					  xmalloc, xfree);
 	      obstack_specify_allocation (&objfile->psymbol_obstack, 0, 0,
-					  xmalloc, free);
+					  xmalloc, xfree);
 	      obstack_specify_allocation (&objfile->symbol_obstack, 0, 0,
-					  xmalloc, free);
+					  xmalloc, xfree);
 	      obstack_specify_allocation (&objfile->type_obstack, 0, 0,
-					  xmalloc, free);
+					  xmalloc, xfree);
 	      if (build_objfile_section_table (objfile))
 		{
 		  error ("Can't find the file sections in `%s': %s",
@@ -1840,7 +1840,7 @@ set_ext_lang_command (char *args, int fr
       /*   query ("Really make files of type %s '%s'?", */
       /*          ext_args, language_str (lang));           */
 
-      free (filename_language_table[i].ext);
+      xfree (filename_language_table[i].ext);
       filename_language_table[i].ext = strsave (ext_args);
       filename_language_table[i].lang = lang;
     }
@@ -2953,7 +2953,7 @@ static void
 simple_free_overlay_table (void)
 {
   if (cache_ovly_table)
-    free (cache_ovly_table);
+    xfree (cache_ovly_table);
   cache_novlys = 0;
   cache_ovly_table = NULL;
   cache_ovly_table_base = 0;
@@ -2965,7 +2965,7 @@ static void
 simple_free_overlay_region_table (void)
 {
   if (cache_ovly_region_table)
-    free (cache_ovly_region_table);
+    xfree (cache_ovly_region_table);
   cache_novly_regions = 0;
   cache_ovly_region_table = NULL;
   cache_ovly_region_table_base = 0;
Index: symmisc.c
===================================================================
RCS file: /cvs/src/src/gdb/symmisc.c,v
retrieving revision 1.3
diff -u -p -r1.3 symmisc.c
--- symmisc.c	2000/07/30 01:48:27	1.3
+++ symmisc.c	2000/11/30 08:57:00
@@ -524,7 +524,7 @@ Arguments missing: an output file name a
     }
 
   filename = tilde_expand (filename);
-  make_cleanup (free, filename);
+  make_cleanup (xfree, filename);
 
   outfile = gdb_fopen (filename, FOPEN_WT);
   if (outfile == 0)
@@ -758,7 +758,7 @@ maintenance_print_psymbols (char *args, 
     }
 
   filename = tilde_expand (filename);
-  make_cleanup (free, filename);
+  make_cleanup (xfree, filename);
 
   outfile = gdb_fopen (filename, FOPEN_WT);
   if (outfile == 0)
@@ -901,7 +901,7 @@ maintenance_print_msymbols (char *args, 
     }
 
   filename = tilde_expand (filename);
-  make_cleanup (free, filename);
+  make_cleanup (xfree, filename);
 
   outfile = gdb_fopen (filename, FOPEN_WT);
   if (outfile == 0)
Index: symtab.c
===================================================================
RCS file: /cvs/src/src/gdb/symtab.c,v
retrieving revision 1.23
diff -u -p -r1.23 symtab.c
--- symtab.c	2000/11/19 17:27:38	1.23
+++ symtab.c	2000/11/30 08:57:01
@@ -594,7 +594,7 @@ lookup_symbol (const char *name, const s
   returnval = lookup_symbol_aux (modified_name, block, namespace,
 				 is_a_field_of_this, symtab);
   if (needtofreename)
-    free (modified_name2);
+    xfree (modified_name2);
 
   return returnval;	 
 }
@@ -2277,7 +2277,7 @@ free_search_symbols (struct symbol_searc
   for (p = symbols; p != NULL; p = next)
     {
       next = p->next;
-      free (p);
+      xfree (p);
     }
 }
 
@@ -2636,7 +2636,7 @@ print_symbol_info (namespace_enum kind, 
       else
 	{
 	  fputs_filtered (demangled_name, stream);
-	  free (demangled_name);
+	  xfree (demangled_name);
 	}
 #endif
     }
@@ -2875,7 +2875,7 @@ completion_list_add_name (char *symname,
 	  {
 	    if (STREQ (new, return_val[i]))
 	      {
-		free (new);
+		xfree (new);
 		return;
 	      }
 	  }
@@ -3182,7 +3182,7 @@ overload_list_add_symbol (struct symbol 
   /* skip symbols that cannot match */
   if (strcmp (sym_name, oload_name) != 0)
     {
-      free (sym_name);
+      xfree (sym_name);
       return;
     }
 
@@ -3205,7 +3205,7 @@ overload_list_add_symbol (struct symbol 
   sym_return_val[sym_return_val_index++] = sym;
   sym_return_val[sym_return_val_index] = NULL;
 
-  free (sym_name);
+  xfree (sym_name);
 }
 
 /* Return a null-terminated list of pointers to function symbols that
@@ -3326,7 +3326,7 @@ make_symbol_overload_list (struct symbol
       }
   }
 
-  free (oload_name);
+  xfree (oload_name);
 
   return (sym_return_val);
 }
Index: target.c
===================================================================
RCS file: /cvs/src/src/gdb/target.c,v
retrieving revision 1.16
diff -u -p -r1.16 target.c
--- target.c	2000/11/21 10:26:07	1.16
+++ target.c	2000/11/30 08:57:03
@@ -664,7 +664,7 @@ push_target (struct target_ops *t)
 	else
 	  target_stack = cur->next;	/* Unchain first on list */
 	tmp = cur->next;
-	free (cur);
+	xfree (cur);
 	cur = tmp;
       }
 
@@ -718,7 +718,7 @@ unpush_target (struct target_ops *t)
   else
     prev->next = cur->next;
 
-  free (cur);			/* Release the target_stack_item */
+  xfree (cur);			/* Release the target_stack_item */
 
   update_current_target ();
   cleanup_target (&current_target);
Index: thread-db.c
===================================================================
RCS file: /cvs/src/src/gdb/thread-db.c,v
retrieving revision 1.1
diff -u -p -r1.1 thread-db.c
--- thread-db.c	2000/09/03 18:41:28	1.1
+++ thread-db.c	2000/11/30 08:57:04
@@ -148,7 +148,7 @@ restore_inferior_pid (void *arg)
 {
   int *saved_pid_ptr = arg;
   inferior_pid = *saved_pid_ptr;
-  free (arg);
+  xfree (arg);
 }
 
 static struct cleanup *
Index: thread.c
===================================================================
RCS file: /cvs/src/src/gdb/thread.c,v
retrieving revision 1.8
diff -u -p -r1.8 thread.c
--- thread.c	2000/11/17 03:49:41	1.8
+++ thread.c	2000/11/30 08:57:04
@@ -74,9 +74,9 @@ free_thread (struct thread_info *tp)
   /* FIXME: do I ever need to call the back-end to give it a
      chance at this private data before deleting the thread?  */
   if (tp->private)
-    free (tp->private);
+    xfree (tp->private);
 
-  free (tp);
+  xfree (tp);
 }
 
 void
@@ -491,7 +491,7 @@ do_restore_current_thread_cleanup (void 
 {
   struct current_thread_cleanup *old = arg;
   restore_current_thread (old->inferior_pid);
-  free (old);
+  xfree (old);
 }
 
 static struct cleanup *
@@ -532,7 +532,7 @@ thread_apply_all_command (char *cmd, int
   /* Save a copy of the command in case it is clobbered by
      execute_command */
   saved_cmd = strdup (cmd);
-  saved_cmd_cleanup_chain = make_cleanup (free, (void *) saved_cmd);
+  saved_cmd_cleanup_chain = make_cleanup (xfree, (void *) saved_cmd);
   for (tp = thread_list; tp; tp = tp->next)
     if (thread_alive (tp))
       {
@@ -575,7 +575,7 @@ thread_apply_command (char *tidlist, int
   /* Save a copy of the command in case it is clobbered by
      execute_command */
   saved_cmd = strdup (cmd);
-  saved_cmd_cleanup_chain = make_cleanup (free, (void *) saved_cmd);
+  saved_cmd_cleanup_chain = make_cleanup (xfree, (void *) saved_cmd);
   while (tidlist < cmd)
     {
       struct thread_info *tp;
Index: top.c
===================================================================
RCS file: /cvs/src/src/gdb/top.c,v
retrieving revision 1.22
diff -u -p -r1.22 top.c
--- top.c	2000/11/27 02:18:44	1.22
+++ top.c	2000/11/30 08:57:07
@@ -779,7 +779,7 @@ void
 do_chdir_cleanup (void *old_dir)
 {
   chdir (old_dir);
-  free (old_dir);
+  xfree (old_dir);
 }
 #endif
 
@@ -1253,7 +1253,7 @@ arg_cleanup (void *ignore)
     internal_error ("Internal error, arg_cleanup called with no user args.\n");
 
   user_args = user_args->next;
-  free (oargs);
+  xfree (oargs);
 }
 
 /* Bind the incomming arguments for a user defined command to
@@ -1747,7 +1747,7 @@ gdb_readline (char *prompt_arg)
 	       if we are called again fgetc will still return EOF and
 	       we'll return NULL then.  */
 	    break;
-	  free (result);
+	  xfree (result);
 	  return NULL;
 	}
 
@@ -1886,7 +1886,7 @@ extern char *filename_completion_functio
 	    q = xmalloc (strlen (p) + 5);
 	    strcpy (q, p + (word - text));
 	    return_val[return_val_used++] = q;
-	    free (p);
+	    xfree (p);
 	  }
 	else
 	  {
@@ -1896,7 +1896,7 @@ extern char *filename_completion_functio
 	    q[text - word] = '\0';
 	    strcat (q, p);
 	    return_val[return_val_used++] = q;
-	    free (p);
+	    xfree (p);
 	  }
       }
     }
@@ -1975,7 +1975,7 @@ line_completion_function (char *text, in
 	{
 	  /* Free the storage used by LIST, but not by the strings inside.
 	     This is because rl_complete_internal () frees the strings. */
-	  free ((PTR) list);
+	  xfree (list);
 	}
       list = 0;
       index = 0;
@@ -2419,7 +2419,7 @@ command_line_input (char *prompt_arg, in
       while (*p1)
 	*p++ = *p1++;
 
-      free (rl);		/* Allocated in readline.  */
+      xfree (rl);		/* Allocated in readline.  */
 
       if (p == linebuffer || *(p - 1) != '\\')
 	break;
@@ -2467,7 +2467,7 @@ command_line_input (char *prompt_arg, in
 	  /* If there was an error, call this function again.  */
 	  if (expanded < 0)
 	    {
-	      free (history_value);
+	      xfree (history_value);
 	      return command_line_input (prompt_arg, repeat, annotation_suffix);
 	    }
 	  if (strlen (history_value) > linelength)
@@ -2477,7 +2477,7 @@ command_line_input (char *prompt_arg, in
 	    }
 	  strcpy (linebuffer, history_value);
 	  p = linebuffer + strlen (linebuffer);
-	  free (history_value);
+	  xfree (history_value);
 	}
     }
 
@@ -2543,7 +2543,7 @@ realloc_body_list (struct command_line *
 
   memcpy (body_list, command->body_list, sizeof (struct command_line *) * n);
 
-  free (command->body_list);
+  xfree (command->body_list);
   command->body_list = body_list;
   command->body_count = new_length;
 }
@@ -2864,8 +2864,8 @@ free_command_lines (struct command_line 
 	    free_command_lines (blist);
 	}
       next = l->next;
-      free (l->line);
-      free ((PTR) l);
+      xfree (l->line);
+      xfree (l);
       l = next;
     }
 }
@@ -2930,7 +2930,7 @@ complete_command (char *arg, int from_tt
        completion = line_completion_function (arg, ++i, arg, argpoint))
     {
       printf_unfiltered ("%s\n", completion);
-      free (completion);
+      xfree (completion);
     }
 }
 
@@ -3129,7 +3129,7 @@ document_command (char *comname, int fro
   doclines = read_command_lines (tmpbuf, from_tty);
 
   if (c->doc)
-    free (c->doc);
+    xfree (c->doc);
 
   {
     register struct command_line *cl1;
@@ -3359,7 +3359,7 @@ get_prompt_1 (void *data)
 		         from bad user-supplied format string? */
 		      sprintf (outp, fmt[0] == 0 ? default_fmt : fmt,
 			       tmp);
-		      free (tmp);
+		      xfree (tmp);
 		    }
 		  else
 		    {
@@ -3477,7 +3477,7 @@ set_prompt (char *s)
 /* ??rehrauer: I don't know why this fails, since it looks as though
    assignments to prompt are wrapped in calls to savestring...
    if (prompt != NULL)
-   free (prompt);
+   xfree (prompt);
  */
   if (event_loop_p)
     PROMPT (0) = savestring (s, strlen (s));
@@ -3609,7 +3609,7 @@ cd_command (char *dir, int from_tty)
     error_no_arg ("new working directory");
 
   dir = tilde_expand (dir);
-  make_cleanup (free, dir);
+  make_cleanup (xfree, dir);
 
   if (chdir (dir) < 0)
     perror_with_name (dir);
@@ -3643,7 +3643,7 @@ cd_command (char *dir, int from_tty)
 	current_directory = concat (current_directory, dir, NULL);
       else
 	current_directory = concat (current_directory, SLASH_STRING, dir, NULL);
-      free (dir);
+      xfree (dir);
     }
 
   /* Now simplify any occurrences of `.' and `..' in the pathname.  */
@@ -3733,7 +3733,7 @@ source_command (char *args, int from_tty
     }
 
   file = tilde_expand (file);
-  old_cleanups = make_cleanup (free, file);
+  old_cleanups = make_cleanup (xfree, file);
 
   stream = fopen (file, FOPEN_RT);
   if (!stream)
@@ -3755,7 +3755,7 @@ source_command (char *args, int from_tty
   source_file_name = file;
   source_pre_error = error_pre_print == NULL ? "" : error_pre_print;
   source_pre_error = savestring (source_pre_error, strlen (source_pre_error));
-  make_cleanup (free, source_pre_error);
+  make_cleanup (xfree, source_pre_error);
   /* This will get set every time we read a line.  So it won't stay "" for
      long.  */
   error_pre_print = "";
Index: tracepoint.c
===================================================================
RCS file: /cvs/src/src/gdb/tracepoint.c,v
retrieving revision 1.13
diff -u -p -r1.13 tracepoint.c
--- tracepoint.c	2000/11/16 14:51:49	1.13
+++ tracepoint.c	2000/11/30 08:57:10
@@ -340,7 +340,7 @@ set_raw_tracepoint (struct symtab_and_li
   struct cleanup *old_chain;
 
   t = (struct tracepoint *) xmalloc (sizeof (struct tracepoint));
-  old_chain = make_cleanup (free, t);
+  old_chain = make_cleanup (xfree, t);
   memset (t, 0, sizeof (*t));
   t->address = sal.pc;
   if (sal.symtab == NULL)
@@ -575,13 +575,13 @@ tracepoint_operation (struct tracepoint 
 	delete_tracepoint_hook (t);
 
       if (t->addr_string)
-	free (t->addr_string);
+	xfree (t->addr_string);
       if (t->source_file)
-	free (t->source_file);
+	xfree (t->source_file);
       if (t->actions)
 	free_actions (t);
 
-      free (t);
+      xfree (t);
       break;
     }
 }
@@ -970,7 +970,7 @@ validate_actionline (char **line, struct
 	    error ("expression too complicated, try simplifying");
 
 	  ax_reqs (aexpr, &areqs);
-	  (void) make_cleanup (free, areqs.reg_mask);
+	  (void) make_cleanup (xfree, areqs.reg_mask);
 
 	  if (areqs.flaw != agent_flaw_none)
 	    error ("malformed expression");
@@ -1021,8 +1021,8 @@ free_actions (struct tracepoint *t)
     {
       next = line->next;
       if (line->action)
-	free (line->action);
-      free (line);
+	xfree (line->action);
+      xfree (line);
     }
   t->actions = NULL;
 }
@@ -1456,9 +1456,9 @@ free_actions_list (char **actions_list)
     return;
 
   for (ndx = 0; actions_list[ndx]; ndx++)
-    free (actions_list[ndx]);
+    xfree (actions_list[ndx]);
 
-  free (actions_list);
+  xfree (actions_list);
 }
 
 /* render all actions into gdb protocol */
@@ -2097,7 +2097,7 @@ trace_find_line_command (char *args, int
 	  sal = sals.sals[0];
 	}
 
-      old_chain = make_cleanup (free, sals.sals);
+      old_chain = make_cleanup (xfree, sals.sals);
       if (sal.symtab == 0)
 	{
 	  printf_filtered ("TFIND: No line number information available");
Index: ui-file.c
===================================================================
RCS file: /cvs/src/src/gdb/ui-file.c,v
retrieving revision 1.4
diff -u -p -r1.4 ui-file.c
--- ui-file.c	2000/07/30 01:48:27	1.4
+++ ui-file.c	2000/11/30 08:57:10
@@ -68,7 +68,7 @@ void
 ui_file_delete (struct ui_file *file)
 {
   file->to_delete (file);
-  free (file);
+  xfree (file);
 }
 
 static int
@@ -316,8 +316,8 @@ mem_file_delete (struct ui_file *file)
   if (stream->magic != &mem_file_magic)
     internal_error ("mem_file_delete: bad magic number");
   if (stream->buffer != NULL)
-    free (stream->buffer);
-  free (stream);
+    xfree (stream->buffer);
+  xfree (stream);
 }
 
 struct ui_file *
@@ -420,7 +420,7 @@ stdio_file_delete (struct ui_file *file)
     {
       fclose (stdio->file);
     }
-  free (stdio);
+  xfree (stdio);
 }
 
 static void
Index: ui-out.c
===================================================================
RCS file: /cvs/src/src/gdb/ui-out.c,v
retrieving revision 1.5
diff -u -p -r1.5 ui-out.c
--- ui-out.c	2000/10/31 05:49:55	1.5
+++ ui-out.c	2000/11/30 08:57:11
@@ -235,7 +235,7 @@ ui_out_table_end (struct ui_out *uiout)
   uo_table_end (uiout);
 
   if (uiout->table_id)
-    free (uiout->table_id);
+    xfree (uiout->table_id);
   clear_header_list (uiout);
 }
 
@@ -315,7 +315,7 @@ ui_out_field_stream (struct ui_out *uiou
 {
   long length;
   char *buffer = ui_file_xstrdup (buf->stream, &length);
-  struct cleanup *old_cleanup = make_cleanup (free, buffer);
+  struct cleanup *old_cleanup = make_cleanup (xfree, buffer);
   if (length > 0)
     ui_out_field_string (uiout, fldname, buffer);
   else
@@ -425,7 +425,7 @@ void
 ui_out_stream_delete (struct ui_stream *buf)
 {
   ui_file_delete (buf->stream);
-  free (buf);
+  xfree (buf);
 }
 
 static void
@@ -770,8 +770,8 @@ clear_header_list (struct ui_out *uiout)
       uiout->headercurr = uiout->headerfirst;
       uiout->headerfirst = uiout->headerfirst->next;
       if (uiout->headercurr->colhdr != NULL)
-	free (uiout->headercurr->colhdr);
-      free (uiout->headercurr);
+	xfree (uiout->headercurr->colhdr);
+      xfree (uiout->headercurr);
     }
   uiout->headerlast = NULL;
   uiout->headercurr = NULL;
Index: umax-xdep.c
===================================================================
RCS file: /cvs/src/src/gdb/umax-xdep.c,v
retrieving revision 1.2
diff -u -p -r1.2 umax-xdep.c
--- umax-xdep.c	2000/07/30 01:48:27	1.2
+++ umax-xdep.c	2000/11/30 08:57:12
@@ -48,7 +48,7 @@ core_file_command (char *filename, int f
      and mark data and stack spaces as empty.  */
 
   if (corefile)
-    free (corefile);
+    xfree (corefile);
   corefile = 0;
 
   if (corechan >= 0)
@@ -65,7 +65,7 @@ core_file_command (char *filename, int f
   if (filename)
     {
       filename = tilde_expand (filename);
-      make_cleanup (free, filename);
+      make_cleanup (xfree, filename);
 
       if (have_inferior_p ())
 	error ("To look at a core file, you must kill the program with \"kill\".");
Index: utils.c
===================================================================
RCS file: /cvs/src/src/gdb/utils.c,v
retrieving revision 1.23
diff -u -p -r1.23 utils.c
--- utils.c	2000/11/20 02:06:19	1.23
+++ utils.c	2000/11/30 08:57:13
@@ -295,7 +295,7 @@ do_my_cleanups (register struct cleanup 
     {
       *pmy_chain = ptr->next;	/* Do this first incase recursion */
       (*ptr->function) (ptr->arg);
-      free (ptr);
+      xfree (ptr);
     }
 }
 
@@ -328,7 +328,7 @@ discard_my_cleanups (register struct cle
   while ((ptr = *pmy_chain) != old_chain)
     {
       *pmy_chain = ptr->next;
-      free (ptr);
+      xfree (ptr);
     }
 }
 
@@ -389,7 +389,7 @@ free_current_contents (void *ptr)
     internal_error ("free_current_contents: NULL pointer");
   if (*location != NULL)
     {
-      free (*location);
+      xfree (*location);
       *location = NULL;
     }
 }
@@ -449,7 +449,7 @@ do_all_continuations (void)
        (continuation_ptr->continuation_hook) (continuation_ptr->arg_list);
        saved_continuation = continuation_ptr;
        continuation_ptr = continuation_ptr->next;
-       free (saved_continuation);
+       xfree (saved_continuation);
      }
 }
 
@@ -464,7 +464,7 @@ discard_all_continuations (void)
     {
       continuation_ptr = cmd_continuation;
       cmd_continuation = continuation_ptr->next;
-      free (continuation_ptr);
+      xfree (continuation_ptr);
     }
 }
 
@@ -511,7 +511,7 @@ do_all_intermediate_continuations (void)
        (continuation_ptr->continuation_hook) (continuation_ptr->arg_list);
        saved_continuation = continuation_ptr;
        continuation_ptr = continuation_ptr->next;
-       free (saved_continuation);
+       xfree (saved_continuation);
      }
 }
 
@@ -526,7 +526,7 @@ discard_all_intermediate_continuations (
     {
       continuation_ptr = intermediate_continuation;
       intermediate_continuation = continuation_ptr->next;
-      free (continuation_ptr);
+      xfree (continuation_ptr);
     }
 }
 
@@ -621,7 +621,7 @@ verror (const char *string, va_list args
   vfprintf_filtered (gdb_lasterr, string, args);
   /* Retrieve the last error and print it to gdb_stderr */
   err_string = error_last_message ();
-  err_string_cleanup = make_cleanup (free, err_string);
+  err_string_cleanup = make_cleanup (xfree, err_string);
   fputs_filtered (err_string, gdb_stderr);
   fprintf_filtered (gdb_stderr, "\n");
   do_cleanups (err_string_cleanup);
@@ -642,7 +642,7 @@ error_stream (struct ui_file *stream)
 {
   long size;
   char *msg = ui_file_xstrdup (stream, &size);
-  make_cleanup (free, msg);
+  make_cleanup (xfree, msg);
   error ("%s", msg);
 }
 
@@ -932,7 +932,7 @@ mrealloc (PTR md, PTR ptr, size_t size)
 void
 mfree (PTR md, PTR ptr)
 {
-  free (ptr);
+  xfree (ptr);
 }
 
 #endif /* USE_MMALLOC */
@@ -1636,7 +1646,7 @@ prompt_for_continue (void)
 	  else
 	    async_request_quit (0);
 	}
-      free (ignore);
+      xfree (ignore);
     }
   immediate_quit--;
 
@@ -1982,7 +1992,7 @@ vfprintf_maybe_filtered (struct ui_file 
   struct cleanup *old_cleanups;
 
   xvasprintf (&linebuffer, format, args);
-  old_cleanups = make_cleanup (free, linebuffer);
+  old_cleanups = make_cleanup (xfree, linebuffer);
   fputs_maybe_filtered (linebuffer, stream, filter);
   do_cleanups (old_cleanups);
 }
@@ -2001,7 +2011,7 @@ vfprintf_unfiltered (struct ui_file *str
   struct cleanup *old_cleanups;
 
   xvasprintf (&linebuffer, format, args);
-  old_cleanups = make_cleanup (free, linebuffer);
+  old_cleanups = make_cleanup (xfree, linebuffer);
   fputs_unfiltered (linebuffer, stream);
   do_cleanups (old_cleanups);
 }
@@ -2112,7 +2122,7 @@ n_spaces (int n)
   if (n > max_spaces)
     {
       if (spaces)
-	free (spaces);
+	xfree (spaces);
       spaces = (char *) xmalloc (n + 1);
       for (t = spaces + n; t != spaces;)
 	*--t = ' ';
@@ -2170,7 +2180,7 @@ fprintf_symbol_filtered (struct ui_file 
 	  fputs_filtered (demangled ? demangled : name, stream);
 	  if (demangled != NULL)
 	    {
-	      free (demangled);
+	      xfree (demangled);
 	    }
 	}
     }
Index: valops.c
===================================================================
RCS file: /cvs/src/src/gdb/valops.c,v
retrieving revision 1.27
diff -u -p -r1.27 valops.c
--- valops.c	2000/11/08 05:10:18	1.27
+++ valops.c	2000/11/30 08:57:18
@@ -2788,7 +2788,7 @@ find_overload_match (struct type **arg_t
 	  default:
 	    break;
 	  }
-      free (parm_types);
+      xfree (parm_types);
       if (overload_debug)
 	{
 	  if (method)
@@ -2860,7 +2860,7 @@ find_overload_match (struct type **arg_t
   else
     {
       *symp = oload_syms[oload_champ];
-      free (func_name);
+      xfree (func_name);
     }
 
   return oload_incompatible ? 100 : (oload_non_standard ? 10 : 0);
Index: valprint.c
===================================================================
RCS file: /cvs/src/src/gdb/valprint.c,v
retrieving revision 1.8
diff -u -p -r1.8 valprint.c
--- valprint.c	2000/11/08 05:10:18	1.8
+++ valprint.c	2000/11/30 08:57:18
@@ -990,7 +990,7 @@ print_decimal_chars (struct ui_file *str
     {
       fprintf_filtered (stream, "%1d", digits[i]);
     }
-  free (digits);
+  xfree (digits);
 
   fprintf_filtered (stream, local_decimal_format_suffix ());
 }
@@ -1202,7 +1202,7 @@ val_print_string (CORE_ADDR addr, int le
     {
       buffer = (char *) xmalloc (len * width);
       bufptr = buffer;
-      old_chain = make_cleanup (free, buffer);
+      old_chain = make_cleanup (xfree, buffer);
 
       nfetch = partial_memory_read (addr, bufptr, len * width, &errcode)
 	/ width;
@@ -1225,7 +1225,7 @@ val_print_string (CORE_ADDR addr, int le
 	      buffer = (char *) xrealloc (buffer, (nfetch + bufsize) * width);
 	    }
 
-	  old_chain = make_cleanup (free, buffer);
+	  old_chain = make_cleanup (xfree, buffer);
 	  bufptr = buffer + bufsize * width;
 	  bufsize += nfetch;
 
Index: values.c
===================================================================
RCS file: /cvs/src/src/gdb/values.c,v
retrieving revision 1.11
diff -u -p -r1.11 values.c
--- values.c	2000/11/10 01:19:47	1.11
+++ values.c	2000/11/30 08:57:19
@@ -331,9 +331,9 @@ clear_value_history (void)
     {
       for (i = 0; i < VALUE_HISTORY_CHUNK; i++)
 	if ((val = value_history_chain->values[i]) != NULL)
-	  free ((PTR) val);
+	  xfree (val);
       next = value_history_chain->next;
-      free ((PTR) value_history_chain);
+      xfree (value_history_chain);
       value_history_chain = next;
     }
   value_history_count = 0;
@@ -475,7 +475,7 @@ set_internalvar (struct internalvar *var
      something in the value chain (i.e., before release_value is
      called), because after the error free_all_values will get called before
      long.  */
-  free ((PTR) var->value);
+  xfree (var->value);
   var->value = newval;
   release_value (newval);
   /* End code which must not call error().  */
@@ -499,9 +499,9 @@ clear_internalvars (void)
     {
       var = internalvars;
       internalvars = var->next;
-      free ((PTR) var->name);
-      free ((PTR) var->value);
-      free ((PTR) var);
+      xfree (var->name);
+      xfree (var->value);
+      xfree (var);
     }
 }
 
Index: varobj.c
===================================================================
RCS file: /cvs/src/src/gdb/varobj.c,v
retrieving revision 1.13
diff -u -p -r1.13 varobj.c
--- varobj.c	2000/11/29 14:41:34	1.13
+++ varobj.c	2000/11/30 08:57:20
@@ -1065,7 +1065,7 @@ delete_variable_1 (struct cpstack **resu
 	vc->child->parent = NULL;
       delete_variable_1 (resultp, delcountp, vc->child, 0, only_children_p);
       next = vc->next;
-      free (vc);
+      xfree (vc);
     }
 
   /* if we were called to delete only the children we are done here */
@@ -1182,7 +1182,7 @@ uninstall_variable (struct varobj *var)
   else
     prev->next = cv->next;
 
-  free (cv);
+  xfree (cv);
 
   /* If root, remove varobj from root list */
   if (var->root->rootvar == var)
@@ -1507,7 +1507,7 @@ vpop (struct vstack **pstack)
   s = *pstack;
   v = s->var;
   *pstack = (*pstack)->next;
-  free (s);
+  xfree (s);
 
   return v;
 }
@@ -1537,7 +1537,7 @@ cppop (struct cpstack **pstack)
   s = *pstack;
   v = s->name;
   *pstack = (*pstack)->next;
-  free (s);
+  xfree (s);
 
   return v;
 }
Index: win32-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/win32-nat.c,v
retrieving revision 1.17
diff -u -p -r1.17 win32-nat.c
--- win32-nat.c	2000/11/28 17:27:38	1.17
+++ win32-nat.c	2000/11/30 08:57:21
@@ -249,7 +249,7 @@ child_init_thread_list (void)
       thread_info *here = th->next;
       th->next = here->next;
       (void) CloseHandle (here->h);
-      free (here);
+      xfree (here);
     }
 }
 
@@ -273,7 +273,7 @@ child_delete_thread (DWORD id)
       thread_info *here = th->next;
       th->next = here->next;
       CloseHandle (here->h);
-      free (here);
+      xfree (here);
     }
 }
 
@@ -619,7 +619,7 @@ child_clear_solibs (void)
   while ((so = so1) != NULL)
     {
       so1 = so->next;
-      free (so);
+      xfree (so);
     }
 
   solib_start.next = NULL;
@@ -715,7 +715,7 @@ handle_output_debug_string (struct targe
 	ourstatus->kind = TARGET_WAITKIND_STOPPED;
     }
 
-  free (s);
+  xfree (s);
   return gotasig;
 }
 
@@ -1610,9 +1610,9 @@ core_section_load_dll_symbols (bfd * abf
 
 out:
   if (buf)
-    free (buf);
+    xfree (buf);
   if (dll_name)
-    free (dll_name);
+    xfree (dll_name);
   return;
 }
 
Index: wince.c
===================================================================
RCS file: /cvs/src/src/gdb/wince.c,v
retrieving revision 1.10
diff -u -p -r1.10 wince.c
--- wince.c	2000/11/03 22:00:56	1.10
+++ wince.c	2000/11/30 08:57:23
@@ -1075,7 +1075,7 @@ child_init_thread_list (void)
       thread_info *here = th->next;
       th->next = here->next;
       (void) close_handle (here->h);
-      free (here);
+      xfree (here);
     }
 }
 
@@ -1099,7 +1099,7 @@ child_delete_thread (DWORD id)
       thread_info *here = th->next;
       th->next = here->next;
       close_handle (here->h);
-      free (here);
+      xfree (here);
     }
 }
 
Index: xcoffread.c
===================================================================
RCS file: /cvs/src/src/gdb/xcoffread.c,v
retrieving revision 1.10
diff -u -p -r1.10 xcoffread.c
--- xcoffread.c	2000/11/15 19:58:14	1.10
+++ xcoffread.c	2000/11/30 08:57:24
@@ -443,7 +443,7 @@ arrange_linetable (struct linetable *old
 
   if (function_count == 0)
     {
-      free (fentry);
+      xfree (fentry);
       return oldLineTb;
     }
   else if (function_count > 1)
@@ -473,7 +473,7 @@ arrange_linetable (struct linetable *old
 	   ++jj, ++newline)
 	newLineTb->item[newline] = oldLineTb->item[jj];
     }
-  free (fentry);
+  xfree (fentry);
   newLineTb->nitems = oldLineTb->nitems - function_count;
   return newLineTb;
 }
@@ -675,7 +675,7 @@ process_linenos (CORE_ADDR start, CORE_A
 	}
       else
 	{
-	  free (lv);
+	  xfree (lv);
 	  current_subfile->line_vector = lineTb;
 	}
 
@@ -725,7 +725,7 @@ process_linenos (CORE_ADDR start, CORE_A
 	    if (fakename == NULL)
 	      fakename = " ?";
 	    start_subfile (fakename, (char *) 0);
-	    free (current_subfile->name);
+	    xfree (current_subfile->name);
 	  }
 	  current_subfile->name = xstrdup (inclTable[ii].name);
 #endif
@@ -740,7 +740,7 @@ process_linenos (CORE_ADDR start, CORE_A
 	    }
 	  else
 	    {
-	      free (lv);
+	      xfree (lv);
 	      current_subfile->line_vector = lineTb;
 	    }
 
@@ -1898,7 +1898,7 @@ xcoff_symfile_finish (struct objfile *ob
   /* Start with a fresh include table for the next objfile.  */
   if (inclTable)
     {
-      free (inclTable);
+      xfree (inclTable);
       inclTable = NULL;
     }
   inclIndx = inclLength = inclDepth = 0;
Index: mi/mi-cmd-disas.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-cmd-disas.c,v
retrieving revision 1.5
diff -u -p -r1.5 mi-cmd-disas.c
--- mi-cmd-disas.c	2000/05/16 05:07:53	1.5
+++ mi-cmd-disas.c	2000/11/30 08:57:27
@@ -428,9 +428,9 @@ mi_cmd_disassemble (char *command, char 
 		  ui_out_field_int (uiout, "offset", offset);
 		}
 	      if (filename != NULL)
-		free (filename);
+		xfree (filename);
 	      if (name != NULL)
-		free (name);
+		xfree (name);
 
 	      ui_file_rewind (stb->stream);
 	      pc += (*tm_print_insn) (pc, &di);
@@ -476,9 +476,9 @@ mi_cmd_disassemble (char *command, char 
 	      ui_out_field_int (uiout, "offset", offset);
 	    }
 	  if (filename != NULL)
-	    free (filename);
+	    xfree (filename);
 	  if (name != NULL)
-	    free (name);
+	    xfree (name);
 
 	  ui_file_rewind (stb->stream);
 	  pc += (*tm_print_insn) (pc, &di);
Index: mi/mi-cmd-var.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-cmd-var.c,v
retrieving revision 1.6
diff -u -p -r1.6 mi-cmd-var.c
--- mi-cmd-var.c	2000/11/20 02:06:19	1.6
+++ mi-cmd-var.c	2000/11/30 08:57:27
@@ -64,13 +64,13 @@ mi_cmd_var_create (char *command, char *
   old_cleanups = make_cleanup (free_current_contents, &name);
 
   frame = xstrdup (argv[1]);
-  old_cleanups = make_cleanup (free, frame);
+  old_cleanups = make_cleanup (xfree, frame);
 
   expr = xstrdup (argv[2]);
 
   if (strcmp (name, "-") == 0)
     {
-      free (name);
+      xfree (name);
       name = varobj_gen_name ();
     }
   else if (!isalpha (*name))
@@ -104,7 +104,7 @@ mi_cmd_var_create (char *command, char *
   else
     {
       ui_out_field_string (uiout, "type", type);
-      free (type);
+      xfree (type);
     }
 
   do_cleanups (old_cleanups);
@@ -147,9 +147,9 @@ mi_cmd_var_delete (char *command, char *
       if (strcmp (name, "-c") != 0)
 	error ("mi_cmd_var_delete: Invalid option.");
       children_only_p = 1;
-      free (name);
+      xfree (name);
       name = xstrdup (expr);
-      free (expr);
+      xfree (expr);
     }
 
   /* If we didn't error out, now NAME contains the name of the
@@ -289,7 +289,7 @@ mi_cmd_var_list_children (char *command,
       cc++;
     }
   ui_out_list_end (uiout);
-  free (childlist);
+  xfree (childlist);
   return MI_CMD_DONE;
 }
 
@@ -433,7 +433,7 @@ mi_cmd_var_update (char *command, char *
 	  varobj_update_one (*cr);
 	  cr++;
 	}
-      free (rootlist);
+      xfree (rootlist);
       ui_out_list_end (uiout);
     }
   else
@@ -494,7 +494,7 @@ varobj_update_one (struct varobj *var)
 	  ui_out_field_string (uiout, "type_changed", "false");
 	  cc++;
 	}
-      free (changelist);
+      xfree (changelist);
       return 1;
     }
   return 1;
Index: mi/mi-console.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-console.c,v
retrieving revision 1.3
diff -u -p -r1.3 mi-console.c
--- mi-console.c	2000/05/16 05:07:53	1.3
+++ mi-console.c	2000/11/30 08:57:27
@@ -66,7 +66,7 @@ mi_console_file_delete (struct ui_file *
   struct mi_console_file *mi_console = ui_file_data (file);
   if (mi_console->magic != &mi_console_file_magic)
     internal_error ("mi_console_file_delete: bad magic number");
-  free (mi_console);
+  xfree (mi_console);
 }
 
 static void
Index: mi/mi-main.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-main.c,v
retrieving revision 1.8
diff -u -p -r1.8 mi-main.c
--- mi-main.c	2000/11/20 02:06:19	1.8
+++ mi-main.c	2000/11/30 08:57:28
@@ -204,10 +204,10 @@ mi_cmd_exec_interrupt (char *args, int f
   if (last_async_command)
     fputs_unfiltered (last_async_command, raw_stdout);
   fputs_unfiltered ("^done", raw_stdout);
-  free (last_async_command);
+  xfree (last_async_command);
   if (previous_async_command)
     last_async_command = xstrdup (previous_async_command);
-  free (previous_async_command);
+  xfree (previous_async_command);
   previous_async_command = NULL;
   mi_out_put (uiout, raw_stdout);
   mi_out_rewind (uiout);
@@ -697,7 +697,7 @@ mi_cmd_target_download (char *args, int 
   struct cleanup *old_cleanups = NULL;
 
   xasprintf (&run, "load %s", args);
-  old_cleanups = make_cleanup (free, run);
+  old_cleanups = make_cleanup (xfree, run);
   execute_command (run, from_tty);
 
   do_cleanups (old_cleanups);
@@ -712,7 +712,7 @@ mi_cmd_target_select (char *args, int fr
   struct cleanup *old_cleanups = NULL;
 
   xasprintf (&run, "target %s", args);
-  old_cleanups = make_cleanup (free, run);
+  old_cleanups = make_cleanup (xfree, run);
 
   /* target-select is always synchronous.  once the call has returned
      we know that we are connected. */
@@ -859,7 +859,7 @@ mi_cmd_data_read_memory (char *command, 
   /* create a buffer and read it in. */
   total_bytes = word_size * nr_rows * nr_cols;
   mbuf = calloc (total_bytes, 1);
-  make_cleanup (free, mbuf);
+  make_cleanup (xfree, mbuf);
   if (mbuf == NULL)
     {
       xasprintf (&mi_error_message,
@@ -1075,7 +1075,7 @@ captured_mi_execute_command (void *data)
 		  fputs_unfiltered (context->token, raw_stdout);
 		  fputs_unfiltered ("^error,msg=\"", raw_stdout);
 		  fputstr_unfiltered (mi_error_message, '"', raw_stdout);
-		  free (mi_error_message);
+		  xfree (mi_error_message);
 		  fputs_unfiltered ("\"\n", raw_stdout);
 		}
 	      mi_out_rewind (uiout);
@@ -1145,7 +1145,7 @@ mi_execute_command (char *cmd, int from_
       if (rc == 0)
 	{
 	  char *msg = error_last_message ();
-	  struct cleanup *cleanup = make_cleanup (free, msg);
+	  struct cleanup *cleanup = make_cleanup (xfree, msg);
 	  /* The command execution failed and error() was called
 	     somewhere */
 	  fputs_unfiltered (command->token, raw_stdout);
@@ -1248,7 +1248,7 @@ mi_execute_cli_command (const char *cli,
 	/* FIXME: gdb_???? */
 	fprintf_unfiltered (gdb_stdout, "cli=%s run=%s\n",
 			    cli, run);
-      old_cleanups = make_cleanup (free, run);
+      old_cleanups = make_cleanup (xfree, run);
       execute_command ( /*ui */ run, 0 /*from_tty */ );
       do_cleanups (old_cleanups);
       return;
@@ -1275,7 +1275,7 @@ mi_execute_async_cli_command (char *mi, 
   else
     {
       xasprintf (&run, "%s %s", mi, args);
-      old_cleanups = make_cleanup (free, run);
+      old_cleanups = make_cleanup (xfree, run);
     }
 
   if (!target_can_async_p ())
@@ -1369,7 +1369,7 @@ mi_load_progress (const char *section_na
 		 strcmp (previous_sect_name, section_name) : 1);
   if (new_section)
     {
-      free (previous_sect_name);
+      xfree (previous_sect_name);
       previous_sect_name = xstrdup (section_name);
 
       if (last_async_command)
Index: mi/mi-parse.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-parse.c,v
retrieving revision 1.4
diff -u -p -r1.4 mi-parse.c
--- mi-parse.c	2000/07/30 01:48:28	1.4
+++ mi-parse.c	2000/11/30 08:57:28
@@ -136,14 +136,14 @@ mi_parse_free (struct mi_parse *parse)
   if (parse == NULL)
     return;
   if (parse->command != NULL)
-    free (parse->command);
+    xfree (parse->command);
   if (parse->token != NULL)
-    free (parse->token);
+    xfree (parse->token);
   if (parse->args != NULL)
-    free (parse->args);
+    xfree (parse->args);
   if (parse->argv != NULL)
     freeargv (parse->argv);
-  free (parse);
+  xfree (parse);
 }
 
 
Index: tui/tui-file.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tui-file.c,v
retrieving revision 1.4
diff -u -p -r1.4 tui-file.c
--- tui-file.c	2000/07/30 01:48:28	1.4
+++ tui-file.c	2000/11/30 08:57:29
@@ -89,9 +89,9 @@ tui_file_delete (struct ui_file *file)
   if ((tmpstream->ts_streamtype == astring) &&
       (tmpstream->ts_strbuf != NULL))
     {
-      free (tmpstream->ts_strbuf);
+      xfree (tmpstream->ts_strbuf);
     }
-  free (tmpstream);
+  xfree (tmpstream);
 }
 
 struct ui_file *
Index: tui/tui.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tui.c,v
retrieving revision 1.4
diff -u -p -r1.4 tui.c
--- tui.c	2000/07/30 01:48:28	1.4
+++ tui.c	2000/11/30 08:57:31
@@ -241,7 +241,7 @@ tuiFree (ptr)
 {
   if (ptr != (char *) NULL)
     {
-      free (ptr);
+      xfree (ptr);
     }
 
   return;
@@ -626,7 +626,7 @@ strcat_to_buf_with_fmt (va_alist)
   format = va_arg (args, char *);
 #endif
   vasprintf (&linebuffer, format, args);
-  old_cleanups = make_cleanup (free, linebuffer);
+  old_cleanups = make_cleanup (xfree, linebuffer);
   strcat_to_buf (buf, bufLen, linebuffer);
   do_cleanups (old_cleanups);
   va_end (args);
Index: tui/tuiData.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tuiData.c,v
retrieving revision 1.2
diff -u -p -r1.2 tuiData.c
--- tuiData.c	2000/05/28 01:12:42	1.2
+++ tuiData.c	2000/11/30 08:57:31
@@ -1378,7 +1378,7 @@ freeWindow (winInfo)
       winInfo->generic.handle = (WINDOW *) NULL;
       freeWinContent (&winInfo->generic);
     }
-  free (winInfo);
+  xfree (winInfo);
 
   return;
 }				/* freeWindow */
Index: tui/tuiLayout.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tuiLayout.c,v
retrieving revision 1.4
diff -u -p -r1.4 tuiLayout.c
--- tuiLayout.c	2000/07/30 01:48:28	1.4
+++ tuiLayout.c	2000/11/30 08:57:31
@@ -603,7 +603,7 @@ _tuiSetLayoutTo (layoutName)
 	    newLayout = _prevLayout ();
 	  else
 	    status = TUI_FAILURE;
-	  free (bufPtr);
+	  xfree (bufPtr);
 
 	  tuiSetLayout (newLayout, dpyType);
 	}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]