GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions
/tmp/gdb-13.1/gdb/ppc-sysv-tdep.c File Reference
#include "defs.h"
#include "gdbcore.h"
#include "inferior.h"
#include "regcache.h"
#include "value.h"
#include "ppc-tdep.h"
#include "target.h"
#include "objfiles.h"
#include "infcall.h"
#include "dwarf2.h"
#include "dwarf2/loc.h"
#include "target-float.h"
#include <algorithm>

Go to the source code of this file.

Classes

struct  ppc64_sysv_argpos
 

Functions

static int ppc_sysv_use_opencl_abi (struct type *ftype)
 
CORE_ADDR ppc_sysv_abi_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 enum return_value_convention get_decimal_float_return_value (struct gdbarch *gdbarch, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
static enum return_value_convention do_ppc_sysv_return_value (struct gdbarch *gdbarch, struct type *func_type, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf, int broken_gcc)
 
enum return_value_convention ppc_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
enum return_value_convention ppc_sysv_abi_broken_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
static int convert_code_addr_to_desc_addr (CORE_ADDR code_addr, CORE_ADDR *desc_addr)
 
static LONGEST ppc64_aggregate_candidate (struct type *type, struct type **field_type)
 
static int ppc64_elfv2_abi_homogeneous_aggregate (struct type *type, struct type **elt_type, int *n_elts, struct gdbarch *gdbarch)
 
static void ppc64_sysv_abi_push_val (struct gdbarch *gdbarch, const bfd_byte *val, int len, int align, struct ppc64_sysv_argpos *argpos)
 
static void ppc64_sysv_abi_push_integer (struct gdbarch *gdbarch, ULONGEST val, struct ppc64_sysv_argpos *argpos)
 
static void ppc64_sysv_abi_push_freg (struct gdbarch *gdbarch, struct type *type, const bfd_byte *val, struct ppc64_sysv_argpos *argpos)
 
static void ppc64_sysv_abi_push_vreg (struct gdbarch *gdbarch, const bfd_byte *val, struct ppc64_sysv_argpos *argpos)
 
static void ppc64_sysv_abi_push_param (struct gdbarch *gdbarch, struct type *type, const bfd_byte *val, struct ppc64_sysv_argpos *argpos)
 
CORE_ADDR ppc64_sysv_abi_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 int ppc64_sysv_abi_return_value_base (struct gdbarch *gdbarch, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf, int index)
 
enum return_value_convention ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
CORE_ADDR ppc64_sysv_get_return_buf_addr (struct type *val_type, frame_info_ptr cur_frame)
 

Function Documentation

◆ convert_code_addr_to_desc_addr()

static int convert_code_addr_to_desc_addr ( CORE_ADDR  code_addr,
CORE_ADDR *  desc_addr 
)
static

◆ do_ppc_sysv_return_value()

static enum return_value_convention do_ppc_sysv_return_value ( struct gdbarch gdbarch,
struct type func_type,
struct type type,
struct regcache regcache,
gdb_byte *  readbuf,
const gdb_byte *  writebuf,
int  broken_gcc 
)
static

◆ get_decimal_float_return_value()

static enum return_value_convention get_decimal_float_return_value ( struct gdbarch gdbarch,
struct type valtype,
struct regcache regcache,
gdb_byte *  readbuf,
const gdb_byte *  writebuf 
)
static

◆ ppc64_aggregate_candidate()

static LONGEST ppc64_aggregate_candidate ( struct type type,
struct type **  field_type 
)
static

◆ ppc64_elfv2_abi_homogeneous_aggregate()

static int ppc64_elfv2_abi_homogeneous_aggregate ( struct type type,
struct type **  elt_type,
int *  n_elts,
struct gdbarch gdbarch 
)
static

◆ ppc64_sysv_abi_push_dummy_call()

CORE_ADDR ppc64_sysv_abi_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 
)

◆ ppc64_sysv_abi_push_freg()

static void ppc64_sysv_abi_push_freg ( struct gdbarch gdbarch,
struct type type,
const bfd_byte *  val,
struct ppc64_sysv_argpos argpos 
)
static

◆ ppc64_sysv_abi_push_integer()

static void ppc64_sysv_abi_push_integer ( struct gdbarch gdbarch,
ULONGEST  val,
struct ppc64_sysv_argpos argpos 
)
static

◆ ppc64_sysv_abi_push_param()

static void ppc64_sysv_abi_push_param ( struct gdbarch gdbarch,
struct type type,
const bfd_byte *  val,
struct ppc64_sysv_argpos argpos 
)
static

◆ ppc64_sysv_abi_push_val()

static void ppc64_sysv_abi_push_val ( struct gdbarch gdbarch,
const bfd_byte *  val,
int  len,
int  align,
struct ppc64_sysv_argpos argpos 
)
static

◆ ppc64_sysv_abi_push_vreg()

static void ppc64_sysv_abi_push_vreg ( struct gdbarch gdbarch,
const bfd_byte *  val,
struct ppc64_sysv_argpos argpos 
)
static

◆ ppc64_sysv_abi_return_value()

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

◆ ppc64_sysv_abi_return_value_base()

static int ppc64_sysv_abi_return_value_base ( struct gdbarch gdbarch,
struct type valtype,
struct regcache regcache,
gdb_byte *  readbuf,
const gdb_byte *  writebuf,
int  index 
)
static

◆ ppc64_sysv_get_return_buf_addr()

CORE_ADDR ppc64_sysv_get_return_buf_addr ( struct type val_type,
frame_info_ptr  cur_frame 
)

◆ ppc_sysv_abi_broken_return_value()

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

◆ ppc_sysv_abi_push_dummy_call()

CORE_ADDR ppc_sysv_abi_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 
)

◆ ppc_sysv_abi_return_value()

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

Definition at line 1010 of file ppc-sysv-tdep.c.

References do_ppc_sysv_return_value(), and value_type().

Referenced by ppc_linux_return_value(), and rs6000_gdbarch_init().

◆ ppc_sysv_use_opencl_abi()

static int ppc_sysv_use_opencl_abi ( struct type ftype)
static