GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
arch-utils.h File Reference
#include "gdbarch.h"

Go to the source code of this file.

Classes

struct  bp_manipulation< bp_size, break_insn >
 
struct  bp_manipulation_endian< bp_size, break_insn_little, break_insn_big >
 

Macros

#define BP_MANIPULATION(BREAK_INSN)    bp_manipulation<sizeof (BREAK_INSN), BREAK_INSN>
 
#define BP_MANIPULATION_ENDIAN(BREAK_INSN_LITTLE, BREAK_INSN_BIG)
 
#define GDB_MMAP_PROT_READ   0x1 /* Page can be read. */
 
#define GDB_MMAP_PROT_WRITE   0x2 /* Page can be written. */
 
#define GDB_MMAP_PROT_EXEC   0x4 /* Page can be executed. */
 

Functions

bool default_displaced_step_hw_singlestep (struct gdbarch *)
 
CORE_ADDR displaced_step_at_entry_point (struct gdbarch *gdbarch)
 
int core_addr_lessthan (CORE_ADDR lhs, CORE_ADDR rhs)
 
int core_addr_greaterthan (CORE_ADDR lhs, CORE_ADDR rhs)
 
CORE_ADDR core_addr_identity (struct gdbarch *gdbarch, CORE_ADDR addr)
 
int no_op_reg_to_regnum (struct gdbarch *gdbarch, int reg)
 
void default_coff_make_msymbol_special (int val, struct minimal_symbol *msym)
 
void default_make_symbol_special (struct symbol *sym, struct objfile *objfile)
 
CORE_ADDR default_adjust_dwarf2_addr (CORE_ADDR pc)
 
CORE_ADDR default_adjust_dwarf2_line (CORE_ADDR addr, int rel)
 
bool default_execute_dwarf_cfa_vendor_op (struct gdbarch *gdbarch, gdb_byte op, struct dwarf2_frame_state *fs)
 
int cannot_register_not (struct gdbarch *gdbarch, int regnum)
 
const struct floatformat ** default_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int len)
 
CORE_ADDR default_remove_non_address_bits (struct gdbarch *gdbarch, CORE_ADDR pointer)
 
std::string default_memtag_to_string (struct gdbarch *gdbarch, struct value *tag)
 
bool default_tagged_address_p (struct gdbarch *gdbarch, struct value *address)
 
bool default_memtag_matches_p (struct gdbarch *gdbarch, struct value *address)
 
bool default_set_memtags (struct gdbarch *gdbarch, struct value *address, size_t length, const gdb::byte_vector &tags, memtag_type tag_type)
 
struct valuedefault_get_memtag (struct gdbarch *gdbarch, struct value *address, memtag_type tag_type)
 
CORE_ADDR generic_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc)
 
CORE_ADDR generic_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
 
int generic_in_solib_return_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, const char *name)
 
int generic_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 
int default_code_of_frame_writable (struct gdbarch *gdbarch, frame_info_ptr frame)
 
int generic_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type)
 
int default_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
 
int generic_instruction_nullified (struct gdbarch *gdbarch, struct regcache *regcache)
 
int default_remote_register_number (struct gdbarch *gdbarch, int regno)
 
int legacy_register_sim_regno (struct gdbarch *gdbarch, int regnum)
 
enum bfd_endian selected_byte_order (void)
 
const char * selected_architecture_name (void)
 
void gdbarch_info_fill (struct gdbarch_info *info)
 
struct gdbarchgdbarch_from_bfd (bfd *abfd)
 
struct gdbarchget_current_arch (void)
 
int default_has_shared_address_space (struct gdbarch *)
 
int default_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, std::string *msg)
 
const gdb_byte * default_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
 
int default_breakpoint_kind_from_current_state (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR *pcptr)
 
void default_gen_return_address (struct gdbarch *gdbarch, struct agent_expr *ax, struct axs_value *value, CORE_ADDR scope)
 
const char * default_auto_charset (void)
 
const char * default_auto_wide_charset (void)
 
int default_return_in_first_hidden_param_p (struct gdbarch *, struct type *)
 
int default_insn_is_call (struct gdbarch *, CORE_ADDR)
 
int default_insn_is_ret (struct gdbarch *, CORE_ADDR)
 
int default_insn_is_jump (struct gdbarch *, CORE_ADDR)
 
bool default_program_breakpoint_here_p (struct gdbarch *gdbarch, CORE_ADDR addr)
 
int default_vsyscall_range (struct gdbarch *gdbarch, struct mem_range *range)
 
void default_skip_permanent_breakpoint (struct regcache *regcache)
 
CORE_ADDR default_infcall_mmap (CORE_ADDR size, unsigned prot)
 
void default_infcall_munmap (CORE_ADDR addr, CORE_ADDR size)
 
std::string default_gcc_target_options (struct gdbarch *gdbarch)
 
const char * default_gnu_triplet_regexp (struct gdbarch *gdbarch)
 
int default_addressable_memory_unit_size (struct gdbarch *gdbarch)
 
void default_guess_tracepoint_registers (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr)
 
int default_print_insn (bfd_vma memaddr, disassemble_info *info)
 
CORE_ADDR gdbarch_skip_prologue_noexcept (gdbarch *gdbarch, CORE_ADDR pc) noexcept
 
bool default_in_indirect_branch_thunk (gdbarch *gdbarch, CORE_ADDR pc)
 
ULONGEST default_type_align (struct gdbarch *gdbarch, struct type *type)
 
std::string default_get_pc_address_flags (frame_info_ptr frame, CORE_ADDR pc)
 
void default_read_core_file_mappings (struct gdbarch *gdbarch, struct bfd *cbfd, read_core_file_mappings_pre_loop_ftype pre_loop_cb, read_core_file_mappings_loop_ftype loop_cb)
 
bool default_use_target_description_from_corefile_notes (struct gdbarch *gdbarch, struct bfd *corefile_bfd)
 
CORE_ADDR default_get_return_buf_addr (struct type *val_typegdbarch, frame_info_ptr cur_frame)
 
bool default_dwarf2_omit_typedef_p (struct type *target_type, const char *producer, const char *name)
 
enum return_value_convention default_gdbarch_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, struct value **read_value, const gdb_byte *writebuf)
 

Variables

gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr_identity
 
gdbarch_virtual_frame_pointer_ftype legacy_virtual_frame_pointer
 

Macro Definition Documentation

◆ BP_MANIPULATION

#define BP_MANIPULATION ( BREAK_INSN)     bp_manipulation<sizeof (BREAK_INSN), BREAK_INSN>

Definition at line 70 of file arch-utils.h.

◆ BP_MANIPULATION_ENDIAN

#define BP_MANIPULATION_ENDIAN ( BREAK_INSN_LITTLE,
BREAK_INSN_BIG )
Value:
bp_manipulation_endian<sizeof (BREAK_INSN_LITTLE), \
BREAK_INSN_LITTLE, BREAK_INSN_BIG>

Definition at line 73 of file arch-utils.h.

◆ GDB_MMAP_PROT_EXEC

#define GDB_MMAP_PROT_EXEC   0x4 /* Page can be executed. */

Definition at line 268 of file arch-utils.h.

Referenced by linux_infcall_mmap(), and setup_sections_data::setup_one_section().

◆ GDB_MMAP_PROT_READ

#define GDB_MMAP_PROT_READ   0x1 /* Page can be read. */

◆ GDB_MMAP_PROT_WRITE

#define GDB_MMAP_PROT_WRITE   0x2 /* Page can be written. */

Function Documentation

◆ cannot_register_not()

int cannot_register_not ( struct gdbarch * gdbarch,
int regnum )

Definition at line 249 of file arch-utils.c.

◆ core_addr_greaterthan()

int core_addr_greaterthan ( CORE_ADDR lhs,
CORE_ADDR rhs )
extern

Definition at line 183 of file arch-utils.c.

Referenced by hppa_gdbarch_init(), and xstormy16_gdbarch_init().

◆ core_addr_identity()

CORE_ADDR core_addr_identity ( struct gdbarch * gdbarch,
CORE_ADDR addr )
extern

Definition at line 191 of file arch-utils.c.

◆ core_addr_lessthan()

int core_addr_lessthan ( CORE_ADDR lhs,
CORE_ADDR rhs )
extern

◆ default_addressable_memory_unit_size()

int default_addressable_memory_unit_size ( struct gdbarch * gdbarch)
extern

Definition at line 1004 of file arch-utils.c.

References gdbarch_bfd_arch_info().

◆ default_adjust_dwarf2_addr()

CORE_ADDR default_adjust_dwarf2_addr ( CORE_ADDR pc)

Definition at line 226 of file arch-utils.c.

◆ default_adjust_dwarf2_line()

CORE_ADDR default_adjust_dwarf2_line ( CORE_ADDR addr,
int rel )

Definition at line 234 of file arch-utils.c.

◆ default_auto_charset()

const char * default_auto_charset ( void )
extern

Definition at line 920 of file charset.c.

References auto_target_charset_name.

◆ default_auto_wide_charset()

const char * default_auto_wide_charset ( void )
extern

Definition at line 926 of file charset.c.

References GDB_DEFAULT_TARGET_WIDE_CHARSET.

◆ default_breakpoint_from_pc()

const gdb_byte * default_breakpoint_from_pc ( struct gdbarch * gdbarch,
CORE_ADDR * pcptr,
int * lenptr )
extern

◆ default_breakpoint_kind_from_current_state()

int default_breakpoint_kind_from_current_state ( struct gdbarch * gdbarch,
struct regcache * regcache,
CORE_ADDR * pcptr )
extern

Definition at line 882 of file arch-utils.c.

References gdbarch_breakpoint_kind_from_pc().

◆ default_code_of_frame_writable()

int default_code_of_frame_writable ( struct gdbarch * gdbarch,
frame_info_ptr frame )
extern

Definition at line 168 of file arch-utils.c.

◆ default_coff_make_msymbol_special()

void default_coff_make_msymbol_special ( int val,
struct minimal_symbol * msym )

Definition at line 210 of file arch-utils.c.

◆ default_displaced_step_hw_singlestep()

bool default_displaced_step_hw_singlestep ( struct gdbarch * gdbarch)
extern

Definition at line 48 of file arch-utils.c.

References gdbarch_software_single_step_p().

◆ default_dwarf2_omit_typedef_p()

bool default_dwarf2_omit_typedef_p ( struct type * target_type,
const char * producer,
const char * name )
extern

Definition at line 1112 of file arch-utils.c.

◆ default_execute_dwarf_cfa_vendor_op()

bool default_execute_dwarf_cfa_vendor_op ( struct gdbarch * gdbarch,
gdb_byte op,
struct dwarf2_frame_state * fs )

Definition at line 242 of file arch-utils.c.

◆ default_fast_tracepoint_valid_at()

int default_fast_tracepoint_valid_at ( struct gdbarch * gdbarch,
CORE_ADDR addr,
std::string * msg )
extern

Definition at line 863 of file arch-utils.c.

◆ default_floatformat_for_type()

const struct floatformat ** default_floatformat_for_type ( struct gdbarch * gdbarch,
const char * name,
int len )
extern

◆ default_gcc_target_options()

std::string default_gcc_target_options ( struct gdbarch * gdbarch)
extern

Definition at line 983 of file arch-utils.c.

References gdbarch_ptr_bit().

◆ default_gdbarch_return_value()

enum return_value_convention default_gdbarch_return_value ( struct gdbarch * gdbarch,
struct value * function,
struct type * valtype,
struct regcache * regcache,
struct value ** read_value,
const gdb_byte * writebuf )
extern

Definition at line 1195 of file arch-utils.c.

References value::allocate().

Referenced by sparc64_init_abi(), and verify_gdbarch().

◆ default_gen_return_address()

void default_gen_return_address ( struct gdbarch * gdbarch,
struct agent_expr * ax,
struct axs_value * value,
CORE_ADDR scope )
extern

Definition at line 891 of file arch-utils.c.

◆ default_get_memtag()

struct value * default_get_memtag ( struct gdbarch * gdbarch,
struct value * address,
memtag_type tag_type )

Definition at line 135 of file arch-utils.c.

◆ default_get_pc_address_flags()

std::string default_get_pc_address_flags ( frame_info_ptr frame,
CORE_ADDR pc )
extern

Definition at line 1080 of file arch-utils.c.

◆ default_get_return_buf_addr()

CORE_ADDR default_get_return_buf_addr ( struct type * val_typegdbarch,
frame_info_ptr cur_frame )
extern

Definition at line 1106 of file arch-utils.c.

◆ default_gnu_triplet_regexp()

const char * default_gnu_triplet_regexp ( struct gdbarch * gdbarch)
extern

Definition at line 993 of file arch-utils.c.

References gdbarch_bfd_arch_info().

◆ default_guess_tracepoint_registers()

void default_guess_tracepoint_registers ( struct gdbarch * gdbarch,
struct regcache * regcache,
CORE_ADDR addr )
extern

◆ default_has_shared_address_space()

int default_has_shared_address_space ( struct gdbarch * gdbarch)
extern

Definition at line 855 of file arch-utils.c.

◆ default_in_indirect_branch_thunk()

bool default_in_indirect_branch_thunk ( gdbarch * gdbarch,
CORE_ADDR pc )
extern

Definition at line 1064 of file arch-utils.c.

◆ default_infcall_mmap()

CORE_ADDR default_infcall_mmap ( CORE_ADDR size,
unsigned prot )
extern

Definition at line 968 of file arch-utils.c.

◆ default_infcall_munmap()

void default_infcall_munmap ( CORE_ADDR addr,
CORE_ADDR size )
extern

Definition at line 974 of file arch-utils.c.

◆ default_insn_is_call()

int default_insn_is_call ( struct gdbarch * gdbarch,
CORE_ADDR addr )
extern

Definition at line 908 of file arch-utils.c.

◆ default_insn_is_jump()

int default_insn_is_jump ( struct gdbarch * gdbarch,
CORE_ADDR addr )
extern

Definition at line 918 of file arch-utils.c.

◆ default_insn_is_ret()

int default_insn_is_ret ( struct gdbarch * gdbarch,
CORE_ADDR addr )
extern

Definition at line 913 of file arch-utils.c.

◆ default_make_symbol_special()

void default_make_symbol_special ( struct symbol * sym,
struct objfile * objfile )

Definition at line 218 of file arch-utils.c.

◆ default_memtag_matches_p()

bool default_memtag_matches_p ( struct gdbarch * gdbarch,
struct value * address )
extern

Definition at line 115 of file arch-utils.c.

◆ default_memtag_to_string()

std::string default_memtag_to_string ( struct gdbarch * gdbarch,
struct value * tag )
extern

Definition at line 97 of file arch-utils.c.

◆ default_print_insn()

int default_print_insn ( bfd_vma memaddr,
disassemble_info * info )
extern

◆ default_program_breakpoint_here_p()

bool default_program_breakpoint_here_p ( struct gdbarch * gdbarch,
CORE_ADDR addr )
extern

◆ default_read_core_file_mappings()

void default_read_core_file_mappings ( struct gdbarch * gdbarch,
struct bfd * cbfd,
read_core_file_mappings_pre_loop_ftype pre_loop_cb,
read_core_file_mappings_loop_ftype loop_cb )
extern

Definition at line 1087 of file arch-utils.c.

◆ default_remote_register_number()

int default_remote_register_number ( struct gdbarch * gdbarch,
int regno )

Definition at line 340 of file arch-utils.c.

◆ default_remove_non_address_bits()

CORE_ADDR default_remove_non_address_bits ( struct gdbarch * gdbarch,
CORE_ADDR pointer )

Definition at line 88 of file arch-utils.c.

◆ default_return_in_first_hidden_param_p()

int default_return_in_first_hidden_param_p ( struct gdbarch * gdbarch,
struct type * type )
extern

◆ default_set_memtags()

bool default_set_memtags ( struct gdbarch * gdbarch,
struct value * address,
size_t length,
const gdb::byte_vector & tags,
memtag_type tag_type )

Definition at line 124 of file arch-utils.c.

◆ default_skip_permanent_breakpoint()

void default_skip_permanent_breakpoint ( struct regcache * regcache)
extern

◆ default_stabs_argument_has_addr()

int default_stabs_argument_has_addr ( struct gdbarch * gdbarch,
struct type * type )
extern

Definition at line 327 of file arch-utils.c.

Referenced by sparc64_init_abi().

◆ default_tagged_address_p()

bool default_tagged_address_p ( struct gdbarch * gdbarch,
struct value * address )

Definition at line 106 of file arch-utils.c.

◆ default_type_align()

ULONGEST default_type_align ( struct gdbarch * gdbarch,
struct type * type )
extern

Definition at line 1072 of file arch-utils.c.

◆ default_use_target_description_from_corefile_notes()

bool default_use_target_description_from_corefile_notes ( struct gdbarch * gdbarch,
struct bfd * corefile_bfd )
extern

Definition at line 1097 of file arch-utils.c.

◆ default_vsyscall_range()

int default_vsyscall_range ( struct gdbarch * gdbarch,
struct mem_range * range )
extern

Definition at line 349 of file arch-utils.c.

◆ displaced_step_at_entry_point()

CORE_ADDR displaced_step_at_entry_point ( struct gdbarch * gdbarch)
extern

Definition at line 54 of file arch-utils.c.

References entry_point_address(), and gdbarch_breakpoint_from_pc().

Referenced by ppc_displaced_step_prepare().

◆ gdbarch_from_bfd()

struct gdbarch * gdbarch_from_bfd ( bfd * abfd)
extern

◆ gdbarch_info_fill()

void gdbarch_info_fill ( struct gdbarch_info * info)
extern

◆ gdbarch_skip_prologue_noexcept()

CORE_ADDR gdbarch_skip_prologue_noexcept ( gdbarch * gdbarch,
CORE_ADDR pc )
externnoexcept

◆ generic_convert_register_p()

int generic_convert_register_p ( struct gdbarch * gdbarch,
int regnum,
struct type * type )
extern

Definition at line 320 of file arch-utils.c.

◆ generic_in_solib_return_trampoline()

int generic_in_solib_return_trampoline ( struct gdbarch * gdbarch,
CORE_ADDR pc,
const char * name )
extern

Definition at line 155 of file arch-utils.c.

◆ generic_instruction_nullified()

int generic_instruction_nullified ( struct gdbarch * gdbarch,
struct regcache * regcache )
extern

Definition at line 333 of file arch-utils.c.

◆ generic_skip_solib_resolver()

CORE_ADDR generic_skip_solib_resolver ( struct gdbarch * gdbarch,
CORE_ADDR pc )
extern

Definition at line 149 of file arch-utils.c.

◆ generic_skip_trampoline_code()

CORE_ADDR generic_skip_trampoline_code ( frame_info_ptr frame,
CORE_ADDR pc )
extern

Definition at line 143 of file arch-utils.c.

◆ generic_stack_frame_destroyed_p()

int generic_stack_frame_destroyed_p ( struct gdbarch * gdbarch,
CORE_ADDR pc )
extern

Definition at line 162 of file arch-utils.c.

◆ get_current_arch()

struct gdbarch * get_current_arch ( void )
extern

Definition at line 846 of file arch-utils.c.

References get_frame_arch(), get_selected_frame(), has_stack_frames(), and target_gdbarch().

Referenced by add_solib_catchpoint(), add_symbol_file_command(), agent_eval_command_one(), break_command_1(), break_range_command(), catch_ada_exception_command(), catch_ada_handlers_command(), catch_assert_command(), catch_exec_command_1(), catch_fork_command_1(), catch_syscall_command_1(), catch_syscall_completer(), compile_to_object(), create_signal_catchpoint(), create_syscall_event_catchpoint(), create_tracepoint_from_upload(), disassemble_command(), disassembler_options_completer(), do_one_display(), do_set_command(), dprintf_command(), echo_command(), edit_command(), find_command(), ftrace_command(), gdbpy_print_insn(), gdbscm_current_arch(), gdbscm_make_value(), gdbscm_register_breakpoint_x(), gdbscm_value_call(), handle_gnu_v3_exceptions(), i386_mpx_enabled(), i386_mpx_get_bt_entry(), i386_mpx_info_bounds(), i386_mpx_print_bounds(), i386_mpx_set_bounds(), inferior_call_waitpid(), info_checkpoints_command(), info_exceptions_command(), info_line_command(), info_probes_for_spops(), core_target::info_proc(), info_proc_cmd_1(), jump_command(), list_command(), maint_agent_printf_command(), maintenance_print_architecture(), maintenance_print_reggroups(), maintenance_print_user_registers(), merge_uploaded_tracepoints(), mi_cmd_break_insert_1(), mi_cmd_catch_assert(), mi_cmd_catch_exception(), mi_cmd_catch_handlers(), mi_cmd_data_list_register_names(), mi_cmd_data_read_memory(), mi_cmd_data_read_memory_bytes(), mi_cmd_data_write_memory(), mi_cmd_data_write_memory_bytes(), mi_cmd_disassemble(), mi_cmd_info_ada_exceptions(), msp430_gdbarch_init(), overlay_load_command(), parse_cmd_to_aexpr(), parse_exp_in_context(), record_full_restore(), reg_or_group_completer_1(), set_charset_sfunc(), set_disassembler_options(), set_host_charset_sfunc(), set_target_charset_sfunc(), set_target_wide_charset_sfunc(), show_architecture(), show_convenience(), show_disassembler_options_sfunc(), show_disassembly_style_sfunc(), show_endian(), show_osabi(), show_target_charset_name(), show_target_wide_charset_name(), skip_function_command(), strace_command(), tfind_line_command(), trace_command(), tui_get_begin_asm_address(), tui_reg_command(), vlscm_binop_gdbthrow(), vlscm_rich_compare(), and vlscm_unop_gdbthrow().

◆ legacy_register_sim_regno()

int legacy_register_sim_regno ( struct gdbarch * gdbarch,
int regnum )
extern

◆ no_op_reg_to_regnum()

int no_op_reg_to_regnum ( struct gdbarch * gdbarch,
int reg )
extern

Definition at line 204 of file arch-utils.c.

References value::reg.

◆ selected_architecture_name()

const char * selected_architecture_name ( void )
extern

Definition at line 527 of file arch-utils.c.

References set_architecture_string, and target_architecture_user.

Referenced by gdbsim_target_open().

◆ selected_byte_order()

enum bfd_endian selected_byte_order ( void )
extern

Definition at line 372 of file arch-utils.c.

References target_byte_order_user.

Referenced by gdbsim_target_open().

Variable Documentation

◆ convert_from_func_ptr_addr_identity

gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr_identity
extern

◆ legacy_virtual_frame_pointer

gdbarch_virtual_frame_pointer_ftype legacy_virtual_frame_pointer
extern