GDB (xrefs)
Classes | Macros | Functions | Variables
/tmp/gdb-7.10/gdb/rs6000-aix-tdep.c File Reference
#include "defs.h"
#include "osabi.h"
#include "regcache.h"
#include "regset.h"
#include "gdbtypes.h"
#include "gdbcore.h"
#include "target.h"
#include "value.h"
#include "infcall.h"
#include "objfiles.h"
#include "breakpoint.h"
#include "rs6000-tdep.h"
#include "ppc-tdep.h"
#include "rs6000-aix-tdep.h"
#include "xcoffread.h"
#include "solib.h"
#include "solib-aix.h"
#include "xml-utils.h"

Go to the source code of this file.

Classes

struct  field_info
 
struct  ld_info_desc
 
struct  ld_info
 

Macros

#define SIG_FRAME_PC_OFFSET   96
 
#define SIG_FRAME_LR_OFFSET   108
 
#define SIG_FRAME_FP_OFFSET   284
 

Functions

static void rs6000_aix_supply_regset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
static void rs6000_aix_collect_regset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
static void rs6000_aix_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static CORE_ADDR rs6000_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 enum return_value_convention rs6000_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
static CORE_ADDR rs6000_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ)
 
static CORE_ADDR branch_dest (struct frame_info *frame, int opcode, int instr, CORE_ADDR pc, CORE_ADDR safety)
 
static int rs6000_software_single_step (struct frame_info *frame)
 
static const char * rs6000_aix_auto_wide_charset (void)
 
static enum gdb_osabi rs6000_aix_osabi_sniffer (bfd *abfd)
 
static struct ld_info rs6000_aix_extract_ld_info (struct gdbarch *gdbarch, const gdb_byte *ldi_buf)
 
static void rs6000_aix_shared_library_to_xml (struct ld_info *ldi, struct obstack *obstack)
 
ULONGEST rs6000_aix_ld_info_to_xml (struct gdbarch *gdbarch, const gdb_byte *ldi_buf, gdb_byte *readbuf, ULONGEST offset, ULONGEST len, int close_ldinfo_fd)
 
static ULONGEST rs6000_aix_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len)
 
static void rs6000_aix_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_rs6000_aix_tdep (void)
 

Variables

static struct ppc_reg_offsets rs6000_aix32_reg_offsets
 
static struct ppc_reg_offsets rs6000_aix64_reg_offsets
 
static const struct regset rs6000_aix32_regset
 
static const struct regset rs6000_aix64_regset
 
static const struct ld_info_desc ld_info32_desc
 
static const struct ld_info_desc ld_info64_desc
 
initialize_file_ftype _initialize_rs6000_aix_tdep
 

Macro Definition Documentation

#define SIG_FRAME_FP_OFFSET   284

Definition at line 50 of file rs6000-aix-tdep.c.

#define SIG_FRAME_LR_OFFSET   108

Definition at line 49 of file rs6000-aix-tdep.c.

#define SIG_FRAME_PC_OFFSET   96

Definition at line 48 of file rs6000-aix-tdep.c.

Referenced by branch_dest().

Function Documentation

void _initialize_rs6000_aix_tdep ( void  )
static CORE_ADDR branch_dest ( struct frame_info frame,
int  opcode,
int  instr,
CORE_ADDR  pc,
CORE_ADDR  safety 
)
static
static const char* rs6000_aix_auto_wide_charset ( void  )
static

Definition at line 716 of file rs6000-aix-tdep.c.

Referenced by rs6000_aix_init_osabi().

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

Definition at line 125 of file rs6000-aix-tdep.c.

References ppc_collect_fpregset(), and ppc_collect_gregset().

static ULONGEST rs6000_aix_core_xfer_shared_libraries_aix ( struct gdbarch gdbarch,
gdb_byte readbuf,
ULONGEST  offset,
ULONGEST  len 
)
static
static struct ld_info rs6000_aix_extract_ld_info ( struct gdbarch gdbarch,
const gdb_byte ldi_buf 
)
static
static void rs6000_aix_init_osabi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
)
static
static void rs6000_aix_iterate_over_regset_sections ( struct gdbarch gdbarch,
iterate_over_regset_sections_cb cb,
void *  cb_data,
const struct regcache regcache 
)
static

Definition at line 152 of file rs6000-aix-tdep.c.

References wordsize.

Referenced by rs6000_aix_init_osabi().

ULONGEST rs6000_aix_ld_info_to_xml ( struct gdbarch gdbarch,
const gdb_byte ldi_buf,
gdb_byte readbuf,
ULONGEST  offset,
ULONGEST  len,
int  close_ldinfo_fd 
)
static enum gdb_osabi rs6000_aix_osabi_sniffer ( bfd *  abfd)
static
static void rs6000_aix_shared_library_to_xml ( struct ld_info ldi,
struct obstack *  obstack 
)
static
static void rs6000_aix_supply_regset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
)
static

Definition at line 111 of file rs6000-aix-tdep.c.

References ppc_supply_fpregset(), and ppc_supply_gregset().

static CORE_ADDR rs6000_convert_from_func_ptr_addr ( struct gdbarch gdbarch,
CORE_ADDR  addr,
struct target_ops targ 
)
static
static CORE_ADDR rs6000_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
static enum return_value_convention rs6000_return_value ( struct gdbarch gdbarch,
struct value function,
struct type valtype,
struct regcache regcache,
gdb_byte readbuf,
const gdb_byte writebuf 
)
static
static int rs6000_software_single_step ( struct frame_info frame)
static

Variable Documentation

initialize_file_ftype _initialize_rs6000_aix_tdep
const struct ld_info_desc ld_info32_desc
static
Initial value:
=
{
{0, 4},
{4, 4},
{8, 4},
{12, 4},
{16, 4},
{20, 4},
{24, 2},
}

Definition at line 819 of file rs6000-aix-tdep.c.

Referenced by rs6000_aix_extract_ld_info().

const struct ld_info_desc ld_info64_desc
static
Initial value:
=
{
{0, 4},
{8, 4},
{16, 8},
{24, 8},
{32, 8},
{40, 8},
{48, 2},
}

Definition at line 832 of file rs6000-aix-tdep.c.

struct ppc_reg_offsets rs6000_aix32_reg_offsets
static
Initial value:
=
{
208,
4,
4,
24,
28,
32,
36,
40,
44,
48,
336,
56,
4,
-1,
-1,
-1
}

Definition at line 55 of file rs6000-aix-tdep.c.

const struct regset rs6000_aix32_regset
static
Initial value:
=
{
}
static struct ppc_reg_offsets rs6000_aix32_reg_offsets
static void rs6000_aix_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void rs6000_aix_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)

Definition at line 135 of file rs6000-aix-tdep.c.

struct ppc_reg_offsets rs6000_aix64_reg_offsets
static
Initial value:
=
{
0,
8,
4,
264,
256,
288,
272,
280,
292,
-1,
312,
296,
4,
-1,
-1,
-1
}

Definition at line 80 of file rs6000-aix-tdep.c.

const struct regset rs6000_aix64_regset
static
Initial value:
=
{
}
static void rs6000_aix_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void rs6000_aix_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static struct ppc_reg_offsets rs6000_aix64_reg_offsets

Definition at line 142 of file rs6000-aix-tdep.c.