This is the mail archive of the
archer-commits@sourceware.org
mailing list for the Archer project.
[SCM] archer-jankratochvil-fedora12: 2009-10-01 Phil Muldoon <pmuldoon@redhat.com>
- From: jkratoch at sourceware dot org
- To: archer-commits at sourceware dot org
- Date: 2 Oct 2009 15:33:08 -0000
- Subject: [SCM] archer-jankratochvil-fedora12: 2009-10-01 Phil Muldoon <pmuldoon@redhat.com>
The branch, archer-jankratochvil-fedora12 has been updated
via 821e089b4dcbd1366f75225b73f2024d4abc177d (commit)
from 7cb860f03e2437c97239334ebe240d06f45723e0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email.
- Log -----------------------------------------------------------------
commit 821e089b4dcbd1366f75225b73f2024d4abc177d
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date: Fri Oct 2 17:32:55 2009 +0200
2009-10-01 Phil Muldoon <pmuldoon@redhat.com>
* infcall.c (call_function_by_hand): Add a new cleanup branch for
std::terminate breakpoints.
Conflicts:
gdb/ChangeLog
-----------------------------------------------------------------------
Summary of changes:
gdb/infcall.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
First 500 lines of diff:
diff --git a/gdb/infcall.c b/gdb/infcall.c
index c9d98cf..277399a 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -441,6 +441,7 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
struct gdbarch *gdbarch;
struct breakpoint *terminate_bp = NULL;
struct minimal_symbol *tm;
+ struct cleanup *terminate_bp_cleanup = NULL;
ptid_t call_thread_ptid;
struct gdb_exception e;
const char *name;
@@ -772,7 +773,7 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
/* Register a clean-up for unwind_on_terminating_exception_breakpoint. */
if (terminate_bp)
- make_cleanup_delete_breakpoint (terminate_bp);
+ terminate_bp_cleanup = make_cleanup_delete_breakpoint (terminate_bp);
/* - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP -
If you're looking to implement asynchronous dummy-frames, then
@@ -987,6 +988,11 @@ When the function is done executing, GDB will silently stop."),
internal_error (__FILE__, __LINE__, _("... should not be here"));
}
+ /* If we get here and the std::terminate() breakpoint has been set,
+ it has to be cleaned manually. */
+ if (terminate_bp)
+ do_cleanups (terminate_bp_cleanup);
+
/* If we get here the called FUNCTION ran to completion,
and the dummy frame has already been popped. */
hooks/post-receive
--
Repository for Project Archer.