X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fdummy-frame.h;h=a921e92bd5c5a4e906002f60c8da8fa3dccaa604;hb=7fda53d583bf5baaa15ccdea78c48bf57b205dad;hp=f7e05e6a1f4040d771846b04ffbb5b87b6ac8a94;hpb=a45ae3ed061717e5a1538b1ac402cad93f81cb55;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/dummy-frame.h b/gdb/dummy-frame.h index f7e05e6a1f..a921e92bd5 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. @@ -20,10 +20,10 @@ #if !defined (DUMMY_FRAME_H) #define DUMMY_FRAME_H 1 -struct frame_info; -struct regcache; +#include "frame.h" + +struct infcall_suspend_state; struct frame_unwind; -struct frame_id; /* Push the information needed to identify, and unwind from, a dummy frame onto the dummy frame stack. */ @@ -38,14 +38,23 @@ struct frame_id; 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); /* 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) */