GDB (xrefs)
Classes | Defines | Functions | Variables
/home/stan/gdb/src/gdb/rs6000-aix-tdep.c File Reference
#include "defs.h"
#include "gdb_string.h"
#include "gdb_assert.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 "exceptions.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

Defines

#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 struct regsetrs6000_aix_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size)
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)
LONGEST rs6000_aix_ld_info_to_xml (struct gdbarch *gdbarch, const gdb_byte *ldi_buf, gdb_byte *readbuf, ULONGEST offset, LONGEST len, int close_ldinfo_fd)
static LONGEST rs6000_aix_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, LONGEST 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 struct regset rs6000_aix32_regset
static struct regset rs6000_aix64_regset
static struct ld_info_desc ld_info32_desc
static struct ld_info_desc ld_info64_desc
initialize_file_ftype _initialize_rs6000_aix_tdep

Define Documentation

#define SIG_FRAME_FP_OFFSET   284

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

#define SIG_FRAME_LR_OFFSET   108

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

#define SIG_FRAME_PC_OFFSET   96

Definition at line 51 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 725 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 128 of file rs6000-aix-tdep.c.

References ppc_collect_fpregset(), and ppc_collect_gregset().

static LONGEST rs6000_aix_core_xfer_shared_libraries_aix ( struct gdbarch gdbarch,
gdb_byte readbuf,
ULONGEST  offset,
LONGEST  len 
) [static]
static struct ld_info rs6000_aix_extract_ld_info ( struct gdbarch gdbarch,
const gdb_byte ldi_buf 
) [static, read]
static void rs6000_aix_init_osabi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
) [static]
LONGEST rs6000_aix_ld_info_to_xml ( struct gdbarch gdbarch,
const gdb_byte ldi_buf,
gdb_byte readbuf,
ULONGEST  offset,
LONGEST  len,
int  close_ldinfo_fd 
)
static enum gdb_osabi rs6000_aix_osabi_sniffer ( bfd *  abfd) [static]
static struct regset* rs6000_aix_regset_from_core_section ( struct gdbarch gdbarch,
const char *  sect_name,
size_t  sect_size 
) [static, read]

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

References rs6000_aix32_regset, rs6000_aix64_regset, and wordsize.

Referenced by rs6000_aix_init_osabi().

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 114 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

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 828 of file rs6000-aix-tdep.c.

Referenced by rs6000_aix_extract_ld_info().

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 841 of file rs6000-aix-tdep.c.

Initial value:
{
  
  208, 
  4,  
  4,  
  24, 
  28, 
  32, 
  36, 
  40, 
  44, 
  48, 

  
  336, 
  56, 
  4,  

  
  -1, 
  -1, 
  -1 
}

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

struct regset rs6000_aix32_regset [static]
Initial value:
{
  
  0, 
  8,  
  4,  
  264, 
  256, 
  288, 
  272, 
  280, 
  292, 
  -1, 

  
  312, 
  296, 
  4,  

  
  -1, 
  -1, 
  -1 
}

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

struct regset rs6000_aix64_regset [static]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines