GDB (xrefs)
|
#include "defs.h"
#include "breakpoint.h"
#include "tracepoint.h"
#include "target.h"
#include "regcache.h"
#include "inferior.h"
#include "infrun.h"
#include "block.h"
#include "gdbcore.h"
#include "language.h"
#include "objfiles.h"
#include "gdbcmd.h"
#include "command.h"
#include "infcall.h"
#include "dummy-frame.h"
#include "ada-lang.h"
#include "gdbthread.h"
#include "event-top.h"
#include "observer.h"
Go to the source code of this file.
Classes | |
struct | dummy_frame_context_saver |
Macros | |
#define | RAW_FUNCTION_ADDRESS_FORMAT "at 0x%s" |
#define | RAW_FUNCTION_ADDRESS_SIZE |
Variables | |
static int | coerce_float_to_double_p = 1 |
static int | unwind_on_signal_p = 0 |
static int | unwind_on_terminating_exception_p = 1 |
#define RAW_FUNCTION_ADDRESS_FORMAT "at 0x%s" |
Definition at line 42 of file infcall.c.
Referenced by get_function_name().
#define RAW_FUNCTION_ADDRESS_SIZE |
Definition at line 43 of file infcall.c.
Referenced by call_function_by_hand_dummy().
void _initialize_infcall | ( | void | ) |
Definition at line 1294 of file infcall.c.
References _, add_setshow_boolean_cmd(), class_obscure, coerce_float_to_double_p, no_class, setlist, show_coerce_float_to_double_p(), show_unwind_on_signal_p(), show_unwind_on_terminating_exception_p(), showlist, unwind_on_signal_p, and unwind_on_terminating_exception_p.
Definition at line 488 of file infcall.c.
References call_function_by_hand_dummy().
Referenced by ada_evaluate_subexp(), call_target_sbrk(), checkpoint_command(), elf_gnu_ifunc_resolve_addr(), evaluate_subexp_standard(), flush_ea_cache(), gdbscm_value_call(), inferior_call_waitpid(), linux_infcall_mmap(), linux_infcall_munmap(), lookup_child_selector(), lookup_objc_class(), print_object_command(), valpy_call(), value_allocate_space_in_inferior(), value_nsstring(), value_x_binop(), and value_x_unop().
struct value* call_function_by_hand_dummy | ( | struct value * | function, |
int | nargs, | ||
struct value ** | args, | ||
dummy_frame_dtor_ftype * | dummy_dtor, | ||
void * | dummy_dtor_data | ||
) |
Definition at line 602 of file infcall.c.
References _, allocate_value(), AT_ENTRY_POINT, bp_call_dummy, builtin_type::builtin_int, builtin_type(), builtin_type::builtin_void, CHECK_TYPEDEF, check_typedef(), class_or_union_p(), cleanup_delete_std_terminate_breakpoint(), current_program_space, discard_cleanups(), discard_infcall_control_state(), disp_del, breakpoint::disposition, do_cleanups(), dummy_frame_context_saver_cleanup(), dummy_frame_context_saver_get_regs(), dummy_frame_context_saver_setup(), dummy_frame_pop(), dummy_frame_push(), entry_point_address(), error(), gdb_exception::error, EXEC_REVERSE, execution_direction, find_function_addr(), find_pc_overlay(), frame_id_build(), gdb_assert, gdbarch_breakpoint_from_pc(), gdbarch_call_dummy_location(), gdbarch_frame_align(), gdbarch_frame_align_p(), gdbarch_frame_red_zone_size(), gdbarch_inner_than(), gdbarch_push_dummy_call(), gdbarch_push_dummy_call_p(), gdbarch_return_in_first_hidden_param_p(), gdbarch_return_value(), get_current_frame(), get_current_regcache(), get_frame_arch(), get_frame_sp(), get_function_name(), get_last_thread_stack_temporary(), get_traceframe_number(), inferior_ptid, inferior_thread(), init_sal(), internal_error(), language_pass_by_reference(), lookup_pointer_type(), make_cleanup(), make_cleanup_restore_infcall_control_state(), make_cleanup_restore_infcall_suspend_state(), gdb_exception::message, name, noprocess(), null_cleanup(), observer_notify_inferior_call_post(), observer_notify_inferior_call_pre(), ON_STACK, symtab_and_line::pc, symtab_and_line::pspace, thread_info::ptid, ptid_equal(), push_dummy_code(), push_thread_stack_temporary(), RAW_FUNCTION_ADDRESS_SIZE, read_value_memory(), gdb_exception::reason, register_dummy_frame_dtor(), breakpoint::related_breakpoint, restore_infcall_control_state(), RETURN_ERROR, RETURN_QUIT, run_inferior_call(), save_infcall_control_state(), save_infcall_suspend_state(), symtab_and_line::section, set_longjmp_breakpoint_for_call_dummy(), set_momentary_breakpoint(), set_std_terminate_breakpoint(), STOP_NONE, stop_stack_dummy, STOP_STACK_DUMMY, STOP_STD_TERMINATE, stopped_by_random_signal, target_has_execution, thread_stack_temporaries_enabled_p(), throw_error(), throw_exception(), TYPE_CODE, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_CODE_VOID, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, TYPE_PROTOTYPED, TYPE_TARGET_TYPE, unwind_on_signal_p, unwind_on_terminating_exception_p, using_struct_return(), value_addr(), value_address(), value_arg_coerce(), value_contents_raw(), value_force_lval(), value_from_contents_and_address(), value_from_pointer(), value_type(), write_memory(), xfree(), and xmalloc().
Referenced by call_function_by_hand(), and compile_object_run().
|
static |
Definition at line 480 of file infcall.c.
References delete_std_terminate_breakpoint().
Referenced by call_function_by_hand_dummy().
void dummy_frame_context_saver_cleanup | ( | void * | data | ) |
Definition at line 549 of file infcall.c.
References dummy_frame_context_saver_drop().
Referenced by call_function_by_hand_dummy(), and finish_forward().
void dummy_frame_context_saver_drop | ( | struct dummy_frame_context_saver * | saver | ) |
Definition at line 538 of file infcall.c.
References dummy_frame_context_saver::drop_done, dummy_frame_context_saver_dtor(), dummy_frame_context_saver_free(), and find_dummy_frame_dtor().
Referenced by dummy_frame_context_saver_cleanup(), and finish_command_continuation_free_arg().
|
static |
Definition at line 521 of file infcall.c.
References dummy_frame_context_saver::drop_done, dummy_frame_context_saver_free(), gdb_assert, get_current_regcache(), regcache_dup(), and dummy_frame_context_saver::retbuf.
Referenced by dummy_frame_context_saver_drop(), and dummy_frame_context_saver_setup().
|
static |
Definition at line 512 of file infcall.c.
References regcache_xfree(), dummy_frame_context_saver::retbuf, and xfree().
Referenced by dummy_frame_context_saver_drop(), and dummy_frame_context_saver_dtor().
struct regcache* dummy_frame_context_saver_get_regs | ( | struct dummy_frame_context_saver * | saver | ) |
Definition at line 560 of file infcall.c.
References gdb_assert, and dummy_frame_context_saver::retbuf.
Referenced by call_function_by_hand_dummy(), and get_return_value().
struct dummy_frame_context_saver* dummy_frame_context_saver_setup | ( | struct frame_id | dummy_id, |
ptid_t | ptid | ||
) |
Definition at line 571 of file infcall.c.
References dummy_frame_context_saver::drop_done, dummy_frame_context_saver_dtor(), inferior_ptid, register_dummy_frame_dtor(), dummy_frame_context_saver::retbuf, and xmalloc().
Referenced by call_function_by_hand_dummy(), and finish_forward().
Definition at line 247 of file infcall.c.
References _, check_typedef(), current_target, error(), find_function_return_type(), gdbarch_convert_from_func_ptr_addr(), gdbarch_deprecated_function_start_offset(), get_type_arch(), gnu_ifunc_resolve_addr, lval_memory, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_GNU_IFUNC, TYPE_LENGTH, TYPE_TARGET_TYPE, value_addr(), value_address(), value_as_address(), value_as_long(), VALUE_LVAL, and value_type().
Referenced by alpha_push_dummy_call(), bfin_push_dummy_call(), call_function_by_hand_dummy(), evaluate_subexp_standard(), frv_push_dummy_call(), ia64_push_dummy_call(), mep_push_dummy_call(), mips_eabi_push_dummy_call(), mips_n32n64_push_dummy_call(), mips_o32_push_dummy_call(), mips_o32_return_value(), mips_o64_push_dummy_call(), mips_o64_return_value(), mn10300_push_dummy_call(), nios2_push_dummy_call(), ppc64_sysv_abi_push_dummy_call(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), tic6x_push_dummy_call(), and value_ind().
Definition at line 232 of file infcall.c.
References BLOCK_START, find_pc_function(), SYMBOL_BLOCK_VALUE, SYMBOL_TYPE, and TYPE_TARGET_TYPE.
Referenced by find_function_addr().
Definition at line 347 of file infcall.c.
References _, find_pc_function(), gdb_assert, hex_string(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, MSYMBOL_PRINT_NAME, RAW_FUNCTION_ADDRESS_FORMAT, SYMBOL_PRINT_NAME, xfree(), and xstrprintf().
Referenced by call_function_by_hand_dummy().
|
static |
Definition at line 326 of file infcall.c.
References gdb_assert, gdbarch_push_dummy_code(), and gdbarch_push_dummy_code_p().
Referenced by call_function_by_hand_dummy(), and set_gdbarch_push_dummy_code().
|
static |
Definition at line 384 of file infcall.c.
References async_disable_stdin(), breakpoint_auto_delete(), CATCH, clear_proceed_status(), disable_watchpoints_before_interactive_call_start(), enable_watchpoints_after_interactive_call_stop(), END_CATCH, exception_none, find_thread_ptid(), finish_thread_state(), inferior_ptid, normal_stop(), proceed(), ptid_equal(), gdb_exception::reason, RETURN_MASK_ALL, stop_stack_dummy, STOP_STACK_DUMMY, sync_execution, target_can_async_p, THREAD_RUNNING, TRY, user_visible_resume_ptid(), and wait_for_inferior().
Referenced by call_function_by_hand_dummy().
|
static |
Definition at line 75 of file infcall.c.
References _, and fprintf_filtered().
Referenced by _initialize_infcall().
|
static |
Definition at line 93 of file infcall.c.
References _, and fprintf_filtered().
Referenced by _initialize_infcall().
|
static |
Definition at line 117 of file infcall.c.
References _, and fprintf_filtered().
Referenced by _initialize_infcall().
|
static |
Definition at line 137 of file infcall.c.
References ada_convert_actual(), builtin_type::builtin_double, builtin_type::builtin_int, builtin_type::builtin_long_double, builtin_type(), language_defn::c_style_arrays, check_typedef(), coerce_float_to_double_p, current_language, language_defn::la_language, language_ada, lookup_pointer_type(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD, TYPE_CODE_METHODPTR, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_SET, TYPE_CODE_STRING, TYPE_CODE_STRUCT, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_LENGTH, TYPE_TARGET_TYPE, TYPE_VECTOR, value_cast(), value_cast_pointers(), value_coerce_to_target(), value_ref(), and value_type().
Referenced by call_function_by_hand_dummy().
|
static |
Definition at line 73 of file infcall.c.
Referenced by _initialize_infcall(), and value_arg_coerce().
|
static |
Definition at line 91 of file infcall.c.
Referenced by _initialize_infcall(), and call_function_by_hand_dummy().
|
static |
Definition at line 114 of file infcall.c.
Referenced by _initialize_infcall(), and call_function_by_hand_dummy().