GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions
ppc-sysv-tdep.c File Reference
#include "defs.h"
#include "language.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 ppc_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

◆ 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 1011 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_get_return_buf_addr()

CORE_ADDR ppc_sysv_get_return_buf_addr ( struct type * val_type,
frame_info_ptr cur_frame )

◆ ppc_sysv_use_opencl_abi()

static int ppc_sysv_use_opencl_abi ( struct type * ftype)
static