X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fdummy-frame.h;h=1b3979d9dee975ff0aa553fbd3f12c1d2223b621;hb=e2e4d78b2216962789c8a982d3e889ba6933321a;hp=149de3640dc8cf59cc4600671f63147fa46003df;hpb=52163a60e65d9a3e736f99641c0ac5b57c614944;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/dummy-frame.h b/gdb/dummy-frame.h index 149de3640d..1b3979d9de 100644 --- a/gdb/dummy-frame.h +++ b/gdb/dummy-frame.h @@ -1,6 +1,6 @@ /* Code dealing with dummy stack frames, for GDB, the GNU debugger. - Copyright (C) 2002, 2004, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2007-2012 Free Software Foundation, Inc. This file is part of GDB. @@ -22,8 +22,7 @@ #include "frame.h" -struct frame_info; -struct regcache; +struct infcall_suspend_state; struct frame_unwind; /* Push the information needed to identify, and unwind from, a dummy @@ -39,14 +38,25 @@ struct frame_unwind; be expanded so that it knowns the lower/upper extent of the dummy frame's code. */ -extern void dummy_frame_push (struct regcache *regcache, - const struct frame_id *dummy_id); +extern void dummy_frame_push (struct infcall_suspend_state *caller_state, + const struct frame_id *dummy_id); + +/* Pop the dummy frame DUMMY_ID, restoring program state to that before the + frame was created. + On return reinit_frame_cache has been called. + If the frame isn't found, flag an internal error. + + NOTE: This can only pop the one frame, even if it is in the middle of the + stack, because the other frames may be for different threads, and there's + currently no way to tell which stack frame is for which thread. */ extern void dummy_frame_pop (struct frame_id dummy_id); +extern void dummy_frame_discard (struct frame_id dummy_id); + /* If the PC falls in a dummy frame, return a dummy frame unwinder. */ -extern const struct frame_unwind *const dummy_frame_unwind; +extern const struct frame_unwind dummy_frame_unwind; #endif /* !defined (DUMMY_FRAME_H) */