GDB (xrefs)

Classes | Functions | Variables
/tmp/gdb-8.1/gdb/dummy-frame.c File Reference
`#include "defs.h"`
`#include "dummy-frame.h"`
`#include "regcache.h"`
`#include "frame.h"`
`#include "inferior.h"`
`#include "frame-unwind.h"`
`#include "command.h"`
`#include "gdbcmd.h"`
`#include "observer.h"`
`#include "gdbthread.h"`
`#include "infcall.h"`

Go to the source code of this file.

## Classes
struct | dummy_frame_id
struct | dummy_frame_dtor_list
struct | dummy_frame
struct | dummy_frame_cache

## Functions
static int | dummy_frame_id_eq (struct dummy_frame_id *id1, struct dummy_frame_id *id2)
void | dummy_frame_push (struct infcall_suspend_state *caller_state, const struct frame_id *dummy_id, ptid_t ptid)
static void | remove_dummy_frame (struct dummy_frame **dummy_ptr)
static int | pop_dummy_frame_bpt (struct breakpoint *b, void *dummy_voidp)
static void | pop_dummy_frame (struct dummy_frame **dummy_ptr)
static struct dummy_frame ** | lookup_dummy_frame (struct dummy_frame_id *dummy_id)
void | dummy_frame_pop (struct frame_id dummy_id, ptid_t ptid)
void | dummy_frame_discard (struct frame_id dummy_id, ptid_t ptid)
void | register_dummy_frame_dtor (struct frame_id dummy_id, ptid_t ptid, dummy_frame_dtor_ftype *dtor, void *dtor_data)
int | find_dummy_frame_dtor (dummy_frame_dtor_ftype *dtor, void *dtor_data)
static void | cleanup_dummy_frames (struct target_ops *target, int from_tty)
static int | dummy_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static struct value * | dummy_frame_prev_register (struct frame_info *this_frame, void **this_prologue_cache, int regnum)
static void | dummy_frame_this_id (struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
static void | fprint_dummy_frames (struct ui_file *file)
static void | maintenance_print_dummy_frames (const char *args, int from_tty)
void | _initialize_dummy_frame (void)

## Variables
static struct dummy_frame * | dummy_frame_stack = NULL
const struct frame_unwind | dummy_frame_unwind

## Function Documentation

## ◆ _initialize_dummy_frame()

void _initialize_dummy_frame | ( | void |  | ) |

Definition at line 421 of file dummy-frame.c.

References _, add_cmd(), class_maintenance, cleanup_dummy_frames(), maintenance_print_dummy_frames(), maintenanceprintlist, and observer_attach_inferior_created().

## ◆ cleanup_dummy_frames()

static void cleanup_dummy_frames | ( | struct target_ops * | target,
|  | int | from_tty
| ) |  |
| static

Definition at line 274 of file dummy-frame.c.

References dummy_frame_stack, and remove_dummy_frame().

Referenced by _initialize_dummy_frame().

## ◆ dummy_frame_discard()

void dummy_frame_discard | ( | struct frame_id | dummy_id,
|  | ptid_t | ptid
| ) |  |

Definition at line 221 of file dummy-frame.c.

References dummy_frame_id::id, lookup_dummy_frame(), dummy_frame_id::ptid, and remove_dummy_frame().

Referenced by check_longjmp_breakpoint_for_call_dummy().

## ◆ dummy_frame_id_eq()

static int dummy_frame_id_eq | ( | struct dummy_frame_id * | id1,
|  | struct dummy_frame_id * | id2
| ) |  |
| static

Definition at line 46 of file dummy-frame.c.

References frame_id_eq(), dummy_frame_id::id, dummy_frame_id::ptid, and ptid_equal().

Referenced by dummy_frame_sniffer(), and lookup_dummy_frame().

## ◆ dummy_frame_pop()

void dummy_frame_pop | ( | struct frame_id | dummy_id,
|  | ptid_t | ptid
| ) |  |

Definition at line 205 of file dummy-frame.c.

References gdb_assert, dummy_frame_id::id, lookup_dummy_frame(), pop_dummy_frame(), and dummy_frame_id::ptid.

Referenced by call_function_by_hand_dummy(), and frame_pop().

## ◆ dummy_frame_prev_register()

static struct value* dummy_frame_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 336 of file dummy-frame.c.

References gdb_assert, get_frame_arch(), not_lval, dummy_frame_cache::prev_regcache, regcache_cooked_read(), register_type(), regnum, value_contents_writeable(), and value_zero().

## ◆ dummy_frame_push()

void dummy_frame_push | ( | struct infcall_suspend_state * | caller_state,
|  | const struct frame_id * | dummy_id,
|  | ptid_t | ptid
| ) |  |

Definition at line 91 of file dummy-frame.c.

References dummy_frame::caller_state, dummy_frame_stack, dummy_frame::id, dummy_frame_id::id, dummy_frame::next, dummy_frame_id::ptid, and XCNEW.

Referenced by call_function_by_hand_dummy().

## ◆ dummy_frame_sniffer()

static int dummy_frame_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 289 of file dummy-frame.c.

References dummy_frame::caller_state, dummy_frame_id_eq(), dummy_frame_stack, FRAME_OBSTACK_ZALLOC, gdbarch_dummy_id(), get_frame_arch(), get_infcall_suspend_state_regcache(), dummy_frame::id, inferior_ptid, dummy_frame::next, dummy_frame_cache::prev_regcache, and dummy_frame_cache::this_id.

## ◆ dummy_frame_this_id()

static void dummy_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 366 of file dummy-frame.c.

References gdb_assert, and dummy_frame_cache::this_id.

## ◆ find_dummy_frame_dtor()

int find_dummy_frame_dtor | ( | dummy_frame_dtor_ftype * | dtor,
|  | void * | dtor_data
| ) |  |

Definition at line 254 of file dummy-frame.c.

References dummy_frame_dtor_list::dtor, dummy_frame_dtor_list::dtor_data, dummy_frame::dtor_list, dummy_frame_stack, dummy_frame_dtor_list::next, and dummy_frame::next.

Referenced by compile_object_run().

## ◆ fprint_dummy_frames()

static void fprint_dummy_frames | ( | struct ui_file * | file | ) |
| static

Definition at line 389 of file dummy-frame.c.

References dummy_frame_stack, fprint_frame_id(), fprintf_unfiltered(), gdb_print_host_address, dummy_frame::id, dummy_frame_id::id, dummy_frame::next, dummy_frame_id::ptid, and target_pid_to_str().

Referenced by maintenance_print_dummy_frames().

## ◆ lookup_dummy_frame()

static struct dummy_frame** lookup_dummy_frame | ( | struct dummy_frame_id * | dummy_id | ) |
| static

Definition at line 186 of file dummy-frame.c.

References dummy_frame_id_eq(), dummy_frame_stack, and dummy_frame::next.

Referenced by dummy_frame_discard(), dummy_frame_pop(), and register_dummy_frame_dtor().

## ◆ maintenance_print_dummy_frames()

static void maintenance_print_dummy_frames | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 406 of file dummy-frame.c.

References _, fprint_dummy_frames(), gdb_stdout, stdio_file::open(), and perror_with_name().

Referenced by _initialize_dummy_frame().

## ◆ pop_dummy_frame()

static void pop_dummy_frame | ( | struct dummy_frame ** | dummy_ptr | ) |
| static

Definition at line 153 of file dummy-frame.c.

References dummy_frame_dtor_list::dtor, dummy_frame_dtor_list::dtor_data, dummy, gdb_assert, inferior_ptid, iterate_over_breakpoints(), dummy_frame_dtor_list::next, pop_dummy_frame_bpt(), ptid_equal(), reinit_frame_cache(), restore_infcall_suspend_state(), and xfree().

Referenced by dummy_frame_pop().

## ◆ pop_dummy_frame_bpt()

static int pop_dummy_frame_bpt | ( | struct breakpoint * | b,
|  | void * | dummy_voidp
| ) |  |
| static

Definition at line 129 of file dummy-frame.c.

References delete_breakpoint(), disp_del, breakpoint::disposition, dummy, breakpoint::frame_id, frame_id_eq(), ptid_to_global_thread_id(), breakpoint::related_breakpoint, and breakpoint::thread.

Referenced by pop_dummy_frame().

## ◆ register_dummy_frame_dtor()

void register_dummy_frame_dtor | ( | struct frame_id | dummy_id,
|  | ptid_t | ptid,
|  | dummy_frame_dtor_ftype * | dtor,
|  | void * | dtor_data
| ) |  |

Definition at line 234 of file dummy-frame.c.

References dummy_frame_dtor_list::dtor, dummy_frame_dtor_list::dtor_data, dummy_frame::dtor_list, gdb_assert, dummy_frame_id::id, lookup_dummy_frame(), dummy_frame_dtor_list::next, dummy_frame_id::ptid, and XNEW.

Referenced by call_function_by_hand_dummy().

## ◆ remove_dummy_frame()

static void remove_dummy_frame | ( | struct dummy_frame ** | dummy_ptr | ) |
| static

Definition at line 107 of file dummy-frame.c.

References discard_infcall_suspend_state(), dummy_frame_dtor_list::dtor, dummy_frame_dtor_list::dtor_data, dummy, dummy_frame_dtor_list::next, and xfree().

Referenced by cleanup_dummy_frames(), and dummy_frame_discard().

## Variable Documentation

## ◆ dummy_frame_stack

struct dummy_frame* dummy_frame_stack = NULL
| static

Definition at line 85 of file dummy-frame.c.

Referenced by cleanup_dummy_frames(), dummy_frame_push(), dummy_frame_sniffer(), find_dummy_frame_dtor(), fprint_dummy_frames(), and lookup_dummy_frame().

## ◆ dummy_frame_unwind

const struct frame_unwind dummy_frame_unwind

Initial value:
=
{
DUMMY_FRAME,
default_frame_unwind_stop_reason,
dummy_frame_this_id,
dummy_frame_prev_register,
NULL,
dummy_frame_sniffer,
}
dummy_frame_prev_register
static struct value * dummy_frame_prev_register(struct frame_info *this_frame, void **this_prologue_cache, int regnum)
Definition: dummy-frame.c:336
DUMMY_FRAME
Definition: frame.h:247
dummy_frame_sniffer
static int dummy_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: dummy-frame.c:289
dummy_frame_this_id
static void dummy_frame_this_id(struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
Definition: dummy-frame.c:366
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184

Definition at line 378 of file dummy-frame.c.

Referenced by frame_unwind_init().