From 5e5215eba77007511fb040ac842a935ec624b4a6 Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Tue, 20 Aug 1991 03:02:39 +0000 Subject: * mcheck.c: Avoid warning about undeclared abort fn. * tm-sparc.h (PC_ADJUST): Avoid calling error() from this; it causes recursive calls to error() when used in cleanups. To do so requires that we make it a function, so we do. * sparc-tdep.c (sparc_pc_adjust): New implem of PC_ADJUST. * utils.c (do_cleanups): Remove the current cleanup from the chain *before* calling it, in case error() is called from it. The result won't be pretty, but won't be an infinite loop either. --- gdb/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdb/utils.c') diff --git a/gdb/utils.c b/gdb/utils.c index 5fe3b1e..28a723b 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -134,8 +134,8 @@ do_cleanups (old_chain) register struct cleanup *ptr; while ((ptr = cleanup_chain) != old_chain) { + cleanup_chain = ptr->next; /* Do this first incase recursion */ (*ptr->function) (ptr->arg); - cleanup_chain = ptr->next; free (ptr); } } -- cgit v1.1