X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Finline-frame.h;h=f68d1242f6850af4be874fcec597ec96d6b41ef9;hb=a50264baf57716993e701096fa6e466fb63e0301;hp=32a9deeb9bc12e9fc444de3f960d0e6d8a7118fb;hpb=618f726fcb851883a0094aa7fa17003889b7189f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/inline-frame.h b/gdb/inline-frame.h index 32a9deeb9b..f68d1242f6 100644 --- a/gdb/inline-frame.h +++ b/gdb/inline-frame.h @@ -1,6 +1,6 @@ /* Definitions for inline frame support. - Copyright (C) 2008-2016 Free Software Foundation, Inc. + Copyright (C) 2008-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -22,36 +22,47 @@ struct frame_info; struct frame_unwind; +struct bpstats; +struct process_stratum_target; /* The inline frame unwinder. */ extern const struct frame_unwind inline_frame_unwind; /* Skip all inlined functions whose call sites are at the current PC. - Frames for the hidden functions will not appear in the backtrace until the - user steps into them. */ -void skip_inline_frames (ptid_t ptid); + If non-NULL, STOP_CHAIN is used to determine whether a stop was caused by + a user breakpoint. In that case, do not skip that inlined frame. This + allows the inlined frame to be treated as if it were non-inlined from the + user's perspective. GDB will stop "in" the inlined frame instead of + the caller. */ + +void skip_inline_frames (thread_info *thread, struct bpstats *stop_chain); /* Forget about any hidden inlined functions in PTID, which is new or - about to be resumed. If PTID is minus_one_ptid, forget about all - hidden inlined functions. */ + about to be resumed. PTID may be minus_one_ptid (all processes of + TARGET) or a PID (all threads in this process of TARGET). */ + +void clear_inline_frame_state (process_stratum_target *target, ptid_t ptid); + +/* Forget about any hidden inlined functions in THREAD, which is new + or about to be resumed. */ -void clear_inline_frame_state (ptid_t ptid); +void clear_inline_frame_state (thread_info *thread); /* Step into an inlined function by unhiding it. */ -void step_into_inline_frame (ptid_t ptid); +void step_into_inline_frame (thread_info *thread); /* Return the number of hidden functions inlined into the current frame. */ -int inline_skipped_frames (ptid_t ptid); +int inline_skipped_frames (thread_info *thread); /* If one or more inlined functions are hidden, return the symbol for the function inlined into the current frame. */ -struct symbol *inline_skipped_symbol (ptid_t ptid); +struct symbol *inline_skipped_symbol (thread_info *thread); /* Return the number of functions inlined into THIS_FRAME. Some of the callees may not have associated frames (see