GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "dwarf2-frame.h"
#include "trad-frame.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "value.h"
#include "dis-asm.h"
#include "inferior.h"
#include "gdb_string.h"
#include "gdb_assert.h"
#include "arch-utils.h"
#include "floatformat.h"
#include "regcache.h"
#include "regset.h"
#include "doublest.h"
#include "osabi.h"
#include "linux-tdep.h"
#include "objfiles.h"
#include "solib-svr4.h"
#include "tilegx-tdep.h"
#include "opcode/tilegx.h"
Go to the source code of this file.
#define INT_SWINT_1_SIGRETURN (~0) |
Definition at line 823 of file tilegx-tdep.c.
Referenced by tilegx_write_pc().
enum reverse_state |
Definition at line 60 of file tilegx-tdep.c.
void _initialize_tilegx_tdep | ( | void | ) |
Definition at line 1084 of file tilegx-tdep.c.
References _initialize_tilegx_tdep, register_gdbarch_init(), and tilegx_gdbarch_init().
static CORE_ADDR tilegx_analyze_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | start_addr, | ||
CORE_ADDR | end_addr, | ||
struct tilegx_frame_cache * | cache, | ||
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 373 of file tilegx-tdep.c.
References trad_frame_saved_reg::addr, extract_unsigned_integer(), gdbarch_byte_order(), LONGEST, memcpy(), memory_error(), min, offset, trad_frame_saved_reg::realreg, regnum, REVERSE_STATE_REGISTER, REVERSE_STATE_UNKNOWN, REVERSE_STATE_VALUE, safe_frame_unwind_memory(), tilegx_frame_cache::saved_regs, tilegx_reverse_regs::state, exsummary::status, TILEGX_LR_REGNUM, TILEGX_NUM_PHYS_REGS, TILEGX_R52_REGNUM, TILEGX_SP_REGNUM, TILEGX_ZERO_REGNUM, trad_frame_set_value(), ULONGEST, and tilegx_reverse_regs::value.
Referenced by tilegx_frame_cache(), and tilegx_skip_prologue().
static const unsigned char* tilegx_breakpoint_from_pc | ( | struct gdbarch * | gdbarch, |
CORE_ADDR * | pcptr, | ||
int * | lenptr | ||
) | [static] |
Definition at line 853 of file tilegx-tdep.c.
Referenced by tilegx_gdbarch_init().
static int tilegx_cannot_reference_register | ( | struct gdbarch * | gdbarch, |
int | regno | ||
) | [static] |
Definition at line 978 of file tilegx-tdep.c.
References TILEGX_FAULTNUM_REGNUM, TILEGX_NUM_EASY_REGS, and TILEGX_PC_REGNUM.
Referenced by tilegx_gdbarch_init().
static int tilegx_dwarf2_reg_to_regnum | ( | struct gdbarch * | gdbarch, |
int | num | ||
) | [static] |
Definition at line 183 of file tilegx-tdep.c.
Referenced by tilegx_gdbarch_init().
static void tilegx_extract_return_value | ( | struct type * | type, |
struct regcache * | regcache, | ||
gdb_byte * | valbuf | ||
) | [static] |
Definition at line 218 of file tilegx-tdep.c.
References len, regcache_raw_read(), regnum, TILEGX_R0_REGNUM, tilegx_reg_size, and TYPE_LENGTH.
Referenced by tilegx_return_value().
static CORE_ADDR tilegx_frame_align | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | addr | ||
) | [static] |
Definition at line 273 of file tilegx-tdep.c.
Referenced by tilegx_gdbarch_init(), and tilegx_push_dummy_call().
static CORE_ADDR tilegx_frame_base_address | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static] |
Definition at line 927 of file tilegx-tdep.c.
References tilegx_frame_cache::base, and tilegx_frame_cache().
static struct tilegx_frame_cache* tilegx_frame_cache | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static, read] |
Definition at line 867 of file tilegx-tdep.c.
References tilegx_frame_cache::base, FRAME_OBSTACK_ZALLOC, get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), tilegx_frame_cache::saved_regs, tilegx_frame_cache::start_pc, tilegx_analyze_prologue(), TILEGX_LR_REGNUM, TILEGX_PC_REGNUM, TILEGX_SP_REGNUM, trad_frame_alloc_saved_regs(), and trad_frame_set_value().
Referenced by tilegx_frame_base_address(), tilegx_frame_prev_register(), and tilegx_frame_this_id().
static struct value* tilegx_frame_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 899 of file tilegx-tdep.c.
References tilegx_frame_cache::saved_regs, tilegx_frame_cache(), and trad_frame_get_prev_register().
static void tilegx_frame_this_id | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 913 of file tilegx-tdep.c.
References tilegx_frame_cache::base, frame_id_build(), tilegx_frame_cache::start_pc, and tilegx_frame_cache().
static struct gdbarch* tilegx_gdbarch_init | ( | struct gdbarch_info | info, |
struct gdbarch_list * | arches | ||
) | [static, read] |
Definition at line 990 of file tilegx-tdep.c.
References gdbarch_info::abfd, core_addr_lessthan(), dwarf2_append_unwinders(), frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch_ptr_bit(), gdbarch_list::next, set_gdbarch_addr_bit(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_cannot_fetch_register(), set_gdbarch_cannot_store_register(), set_gdbarch_double_bit(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_float_bit(), set_gdbarch_frame_align(), set_gdbarch_get_longjmp_target(), set_gdbarch_in_function_epilogue_p(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_long_bit(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_print_insn(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), set_gdbarch_write_pc(), tilegx_breakpoint_from_pc(), tilegx_cannot_reference_register(), tilegx_dwarf2_reg_to_regnum(), tilegx_frame_align(), tilegx_get_longjmp_target(), tilegx_in_function_epilogue_p(), TILEGX_NUM_REGS, TILEGX_PC_REGNUM, tilegx_push_dummy_call(), tilegx_register_name(), tilegx_register_type(), tilegx_return_value(), tilegx_skip_prologue(), TILEGX_SP_REGNUM, tilegx_unwind_dummy_id(), tilegx_unwind_pc(), tilegx_unwind_sp(), and tilegx_write_pc().
Referenced by _initialize_tilegx_tdep().
static int tilegx_get_longjmp_target | ( | struct frame_info * | frame, |
CORE_ADDR * | pc | ||
) | [static] |
Definition at line 800 of file tilegx-tdep.c.
References gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), target_read_memory(), and TILEGX_R0_REGNUM.
Referenced by tilegx_gdbarch_init().
static int tilegx_in_function_epilogue_p | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 780 of file tilegx-tdep.c.
References find_pc_partial_function(), and ULONGEST.
Referenced by tilegx_gdbarch_init().
static CORE_ADDR tilegx_push_dummy_call | ( | struct gdbarch * | gdbarch, |
struct value * | function, | ||
struct regcache * | regcache, | ||
CORE_ADDR | bp_addr, | ||
int | nargs, | ||
struct value ** | args, | ||
CORE_ADDR | sp, | ||
int | struct_return, | ||
CORE_ADDR | struct_addr | ||
) | [static] |
Definition at line 282 of file tilegx-tdep.c.
References align_up(), do_cleanups(), extract_unsigned_integer(), gdbarch_byte_order(), make_cleanup(), memcpy(), memset(), regcache_cooked_write_unsigned(), tilegx_frame_align(), TILEGX_LR_REGNUM, TILEGX_R0_REGNUM, TILEGX_R9_REGNUM, tilegx_reg_size, TILEGX_SP_REGNUM, TYPE_LENGTH, ULONGEST, value_contents(), value_enclosing_type(), write_memory(), xfree(), and xmalloc().
Referenced by tilegx_gdbarch_init().
static const char* tilegx_register_name | ( | struct gdbarch * | gdbarch, |
int | regnum | ||
) | [static] |
Definition at line 146 of file tilegx-tdep.c.
References internal_error(), regnum, and TILEGX_NUM_REGS.
Referenced by tilegx_gdbarch_init().
static struct type* tilegx_register_type | ( | struct gdbarch * | gdbarch, |
int | regnum | ||
) | [static, read] |
Definition at line 172 of file tilegx-tdep.c.
References builtin_type::builtin_func_ptr, builtin_type(), builtin_type::builtin_uint64, and TILEGX_PC_REGNUM.
Referenced by tilegx_gdbarch_init().
static enum return_value_convention tilegx_return_value | ( | struct gdbarch * | gdbarch, |
struct value * | function, | ||
struct type * | type, | ||
struct regcache * | regcache, | ||
gdb_byte * | readbuf, | ||
const gdb_byte * | writebuf | ||
) | [static] |
Definition at line 257 of file tilegx-tdep.c.
References RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, tilegx_extract_return_value(), tilegx_store_return_value(), and tilegx_use_struct_convention().
Referenced by tilegx_gdbarch_init().
static CORE_ADDR tilegx_skip_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | start_pc | ||
) | [static] |
Definition at line 748 of file tilegx-tdep.c.
References find_pc_partial_function(), find_pc_section(), max, min, obj_section_endaddr, skip_prologue_using_sal(), and tilegx_analyze_prologue().
Referenced by tilegx_gdbarch_init().
static void tilegx_store_return_value | ( | struct type * | type, |
struct regcache * | regcache, | ||
const void * | valbuf | ||
) | [static] |
Definition at line 233 of file tilegx-tdep.c.
References len, memcpy(), regcache_raw_write(), regnum, TILEGX_R0_REGNUM, tilegx_reg_size, and TYPE_LENGTH.
Referenced by tilegx_return_value().
static int tilegx_type_is_scalar | ( | struct type * | t | ) | [static] |
Definition at line 192 of file tilegx-tdep.c.
References TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRUCT, and TYPE_CODE_UNION.
Referenced by tilegx_use_struct_convention().
static struct frame_id tilegx_unwind_dummy_id | ( | struct gdbarch * | gdbarch, |
struct frame_info * | this_frame | ||
) | [static, read] |
Definition at line 965 of file tilegx-tdep.c.
References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), sp, and TILEGX_SP_REGNUM.
Referenced by tilegx_gdbarch_init().
static CORE_ADDR tilegx_unwind_pc | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 959 of file tilegx-tdep.c.
References frame_unwind_register_unsigned(), and TILEGX_PC_REGNUM.
Referenced by tilegx_gdbarch_init().
static CORE_ADDR tilegx_unwind_sp | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 953 of file tilegx-tdep.c.
References frame_unwind_register_unsigned(), and TILEGX_SP_REGNUM.
Referenced by tilegx_gdbarch_init().
static int tilegx_use_struct_convention | ( | struct type * | type | ) | [static] |
Definition at line 205 of file tilegx-tdep.c.
References TILEGX_R0_REGNUM, TILEGX_R9_REGNUM, tilegx_reg_size, tilegx_type_is_scalar(), and TYPE_LENGTH.
Referenced by tilegx_return_value().
static void tilegx_write_pc | ( | struct regcache * | regcache, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 828 of file tilegx-tdep.c.
References INT_SWINT_1_SIGRETURN, regcache_cooked_write_unsigned(), TILEGX_FAULTNUM_REGNUM, and TILEGX_PC_REGNUM.
Referenced by tilegx_gdbarch_init().
Referenced by _initialize_tilegx_tdep(), and initialize_all_files().
struct tilegx_reverse_regs template_reverse_regs[TILEGX_NUM_PHYS_REGS] [static] |
Definition at line 75 of file tilegx-tdep.c.
struct frame_base tilegx_frame_base [static] |
{ &tilegx_frame_unwind, tilegx_frame_base_address, tilegx_frame_base_address, tilegx_frame_base_address }
Definition at line 945 of file tilegx-tdep.c.
struct frame_unwind tilegx_frame_unwind [static] |
{ NORMAL_FRAME, default_frame_unwind_stop_reason, tilegx_frame_this_id, tilegx_frame_prev_register, NULL, default_frame_sniffer, NULL }
Definition at line 935 of file tilegx-tdep.c.