GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions | Variables
vax-tdep.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "dis-asm.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "gdbtypes.h"
#include "osabi.h"
#include "regcache.h"
#include "regset.h"
#include "trad-frame.h"
#include "value.h"
#include "vax-tdep.h"

Go to the source code of this file.

Classes

struct  vax_frame_cache
 

Functions

static const char * vax_register_name (struct gdbarch *gdbarch, int regnum)
 
static struct typevax_register_type (struct gdbarch *gdbarch, int regnum)
 
static void vax_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
static void vax_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static CORE_ADDR vax_store_arguments (struct regcache *regcache, int nargs, struct value **args, CORE_ADDR sp)
 
static CORE_ADDR vax_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, function_call_return_method return_method, CORE_ADDR struct_addr)
 
static struct frame_id vax_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame)
 
static enum return_value_convention vax_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
typedef BP_MANIPULATION (vax_break_insn)
 
static struct vax_frame_cache * vax_frame_cache (frame_info_ptr this_frame, void **this_cache)
 
static void vax_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuevax_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum)
 
static CORE_ADDR vax_frame_base_address (frame_info_ptr this_frame, void **this_cache)
 
static CORE_ADDR vax_frame_args_address (frame_info_ptr this_frame, void **this_cache)
 
static int vax_frame_num_args (frame_info_ptr frame)
 
static struct gdbarchvax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
void _initialize_vax_tdep ()
 

Variables

static const struct regset vax_gregset
 
constexpr gdb_byte vax_break_insn [] = { 3 }
 
static const struct frame_unwind vax_frame_unwind
 
static const struct frame_base vax_frame_base
 

Function Documentation

◆ _initialize_vax_tdep()

void _initialize_vax_tdep ( )

Definition at line 511 of file vax-tdep.c.

References gdbarch_register(), and vax_gdbarch_init().

◆ BP_MANIPULATION()

typedef BP_MANIPULATION ( vax_break_insn )

Definition at line 255 of file vax-tdep.c.

References gdbarch_byte_order(), and read_memory_unsigned_integer().

◆ vax_dummy_id()

static struct frame_id vax_dummy_id ( struct gdbarch * gdbarch,
frame_info_ptr this_frame )
static

Definition at line 190 of file vax-tdep.c.

References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), and VAX_FP_REGNUM.

Referenced by vax_gdbarch_init().

◆ vax_frame_args_address()

static CORE_ADDR vax_frame_args_address ( frame_info_ptr this_frame,
void ** this_cache )
static

Definition at line 410 of file vax-tdep.c.

References get_frame_register_unsigned(), and VAX_AP_REGNUM.

◆ vax_frame_base_address()

static CORE_ADDR vax_frame_base_address ( frame_info_ptr this_frame,
void ** this_cache )
static

Definition at line 402 of file vax-tdep.c.

References vax_frame_cache::base, and vax_frame_cache().

◆ vax_frame_cache()

static struct vax_frame_cache * vax_frame_cache ( frame_info_ptr this_frame,
void ** this_cache )
static

◆ vax_frame_num_args()

static int vax_frame_num_args ( frame_info_ptr frame)
static

◆ vax_frame_prev_register()

static struct value * vax_frame_prev_register ( frame_info_ptr this_frame,
void ** this_cache,
int regnum )
static

◆ vax_frame_this_id()

static void vax_frame_this_id ( frame_info_ptr this_frame,
void ** this_cache,
struct frame_id * this_id )
static

◆ vax_gdbarch_init()

static struct gdbarch * vax_gdbarch_init ( struct gdbarch_info info,
struct gdbarch_list * arches )
static

◆ vax_iterate_over_regset_sections()

static void vax_iterate_over_regset_sections ( struct gdbarch * gdbarch,
iterate_over_regset_sections_cb * cb,
void * cb_data,
const struct regcache * regcache )
static

Definition at line 92 of file vax-tdep.c.

References vax_gregset, and VAX_NUM_REGS.

Referenced by vax_gdbarch_init().

◆ vax_push_dummy_call()

static CORE_ADDR vax_push_dummy_call ( struct gdbarch * gdbarch,
struct value * function,
struct regcache * regcache,
CORE_ADDR bp_addr,
int nargs,
struct value ** args,
CORE_ADDR sp,
function_call_return_method return_method,
CORE_ADDR struct_addr )
static

◆ vax_register_name()

static const char * vax_register_name ( struct gdbarch * gdbarch,
int regnum )
static

Definition at line 39 of file vax-tdep.c.

References gdb_static_assert(), regnum, and VAX_NUM_REGS.

Referenced by vax_gdbarch_init().

◆ vax_register_type()

static struct type * vax_register_type ( struct gdbarch * gdbarch,
int regnum )
static

Definition at line 56 of file vax-tdep.c.

References builtin_type::builtin_int, and builtin_type().

Referenced by vax_gdbarch_init().

◆ vax_return_value()

static enum return_value_convention vax_return_value ( struct gdbarch * gdbarch,
struct value * function,
struct type * type,
struct regcache * regcache,
gdb_byte * readbuf,
const gdb_byte * writebuf )
static

◆ vax_store_arguments()

static CORE_ADDR vax_store_arguments ( struct regcache * regcache,
int nargs,
struct value ** args,
CORE_ADDR sp )
static

◆ vax_supply_gregset()

static void vax_supply_gregset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * gregs,
size_t len )
static

Definition at line 68 of file vax-tdep.c.

References reg_buffer::raw_supply(), regnum, and VAX_NUM_REGS.

Variable Documentation

◆ vax_break_insn

constexpr gdb_byte vax_break_insn[] = { 3 }
constexpr

Definition at line 253 of file vax-tdep.c.

◆ vax_frame_base

const struct frame_base vax_frame_base
static
Initial value:
=
{
}
static CORE_ADDR vax_frame_args_address(frame_info_ptr this_frame, void **this_cache)
Definition vax-tdep.c:410
static const struct frame_unwind vax_frame_unwind
Definition vax-tdep.c:389
static CORE_ADDR vax_frame_base_address(frame_info_ptr this_frame, void **this_cache)
Definition vax-tdep.c:402

Definition at line 415 of file vax-tdep.c.

Referenced by vax_gdbarch_init().

◆ vax_frame_unwind

const struct frame_unwind vax_frame_unwind
static
Initial value:
=
{
"vax prologue",
NULL,
}
int default_frame_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)
enum unwind_stop_reason default_frame_unwind_stop_reason(frame_info_ptr this_frame, void **this_cache)
@ NORMAL_FRAME
Definition frame.h:187
static struct value * vax_frame_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
Definition vax-tdep.c:381
static void vax_frame_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
Definition vax-tdep.c:368

Definition at line 389 of file vax-tdep.c.

Referenced by vax_gdbarch_init().

◆ vax_gregset

const struct regset vax_gregset
static
Initial value:
=
{
NULL,
}
static void vax_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
Definition vax-tdep.c:68

Definition at line 83 of file vax-tdep.c.

Referenced by vax_iterate_over_regset_sections().