90 for (write_pass = 0; write_pass < 2; write_pass++)
104 int structoffset = argoffset + argspace;
119 for (argno = 0; argno < nargs; argno++)
121 struct value *arg = args[argno];
161 argoffset =
align_up (argoffset, len);
190 argoffset =
align_up (argoffset, 8);
212 argoffset =
align_up (argoffset, 8);
247 argoffset =
align_up (argoffset, 8);
289 memcpy (regval + 4, val, 4);
303 argoffset =
align_up (argoffset, len);
333 argoffset =
align_up (argoffset, 8);
357 for (i = 0; i < nelt; i++)
379 argoffset =
align_up (argoffset, len);
391 argoffset =
align_up (argoffset, 8);
446 for (i = 0; i < len / 16; i++)
448 const gdb_byte *elval = val + i * 16;
460 argoffset =
align_up (argoffset, 16);
483 argoffset =
align_up (argoffset, 16);
510 argoffset =
align_up (argoffset, 8);
531 structoffset =
align_up (structoffset, 16);
533 structoffset =
align_up (structoffset, 8);
549 memcpy (word, val, len);
573 argspace = argoffset;
575 sp -= (argoffset + structoffset);
625 if (writebuf != NULL)
633 memcpy (regval + 4, writebuf, 4);
647 memcpy (readbuf, readbuf + 4, 4);
653 if (writebuf != NULL || readbuf != NULL)
657 for (i = 0; i < 2; i++)
659 if (writebuf != NULL)
844 for (i = 0; i < nelt; i++)
854 if (writebuf != NULL)
864 readbuf +
offset, eltype);
872 if (writebuf != NULL)
898 for (i = 0; i < n_regs; i++)
903 if (writebuf != NULL)
992 memcpy (readbuf, regvals +
offset, len);
996 memset (regvals, 0,
sizeof regvals);
997 memcpy (regvals +
offset, writebuf, len);
1028 memset (regvals, 0,
sizeof regvals);
1048 valtype,
regcache, readbuf, writebuf, 0);
1053 struct value *
function,
1054 struct type *valtype,
1060 valtype,
regcache, readbuf, writebuf, 1);
1089 if (dot_fn_section == NULL || dot_fn_section->
objfile == NULL)
1113 struct type **field_type)
1152 LONGEST count, low_bound, high_bound;
1161 count *= high_bound - low_bound;
1188 if (sub_count == -1)
1194 count = std::max (count, sub_count);
1221 struct type **elt_type,
int *n_elts)
1229 struct type *field_type = NULL;
1232 if (field_count > 0)
1240 if (field_count * n_regs <= 8)
1243 *elt_type = field_type;
1245 *n_elts = (int) field_count;
1288 const bfd_byte *val,
int len,
int align,
1300 argpos->
gparam = aligned_gparam;
1357 struct type *
type,
const bfd_byte *val,
1411 if (argpos->
freg <= 12)
1459 struct type *
type,
const bfd_byte *val,
1513 struct type *target_type
1551 struct type *eltype;
1555 for (i = 0; i < nelt; i++)
1581 struct value *
function,
1627 for (write_pass = 0; write_pass < 2; write_pass++)
1671 for (argno = 0; argno < nargs; argno++)
1673 struct value *arg = args[argno];
1692 struct type *eltype;
1701 for (i = 0; i < nelt; i++)
1721 if (argpos.
greg < 8)
1724 gparam_size = argpos.
gparam;
1779 const gdb_byte *writebuf,
int index)
1792 if (writebuf != NULL)
1798 if (readbuf != NULL)
1820 if (writebuf != NULL)
1825 if (readbuf != NULL)
1844 if (writebuf != NULL)
1847 if (readbuf != NULL)
1861 if (writebuf != NULL)
1866 if (readbuf != NULL)
1883 if (writebuf != NULL)
1888 if (readbuf != NULL)
1903 if (writebuf != NULL)
1905 if (readbuf != NULL)
1920 if (writebuf != NULL)
1923 if (readbuf != NULL)
1950 struct type *eltype;
1963 for (i = 0; i < 2; i++)
1966 readbuf, writebuf, i);
1989 for (i = 0; i < nelt; i++)
1992 readbuf, writebuf, i);
2008 if (writebuf != NULL)
2010 if (readbuf != NULL)
2025 if (writebuf != NULL)
2028 if (readbuf != NULL)
2045 for (i = 0; i < nelt; i++)
2048 readbuf, writebuf, i);
2073 for (i = 0; i < n_regs; i++)
2083 if (writebuf != NULL)
2085 memset (regval, 0,
sizeof regval);
2088 memcpy (regval + tdep->
wordsize - len, writebuf, len);
2090 memcpy (regval, writebuf +
offset, len);
2093 if (readbuf != NULL)
2098 memcpy (readbuf, regval + tdep->
wordsize - len, len);
2100 memcpy (readbuf +
offset, regval, len);
2108 readbuf, writebuf, 0))
struct regcache * regcache
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)
#define MSYMBOL_LINKAGE_NAME(symbol)
#define BMSYMBOL_VALUE_ADDRESS(symbol)
const struct floatformat ** gdbarch_long_double_format(struct gdbarch *gdbarch)
ULONGEST align_down(ULONGEST v, int n)
void regcache_cooked_write_signed(struct regcache *regcache, int regnum, LONGEST val)
void * memset(T *s, int c, size_t n)=delete
void internal_error(const char *file, int line, const char *fmt,...)
static void ppc64_sysv_abi_push_freg(struct gdbarch *gdbarch, struct type *type, const bfd_byte *val, struct ppc64_sysv_argpos *argpos)
void target_float_convert(const gdb_byte *from, const struct type *from_type, gdb_byte *to, const struct type *to_type)
void regcache_cooked_write_part(struct regcache *regcache, int regnum, int offset, int len, const gdb_byte *buf)
#define TYPE_FIELD(thistype, n)
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
#define TYPE_FIELD_TYPE(thistype, n)
enum powerpc_vector_abi vector_abi
#define TYPE_IS_REFERENCE(t)
static LONGEST ppc64_aggregate_candidate(struct type *type, struct type **field_type)
struct type * check_typedef(struct type *type)
const gdb_byte * value_contents(struct value *value)
#define PPC_MAX_REGISTER_SIZE
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, int struct_return, CORE_ADDR struct_addr)
static void ppc64_sysv_abi_push_param(struct gdbarch *gdbarch, struct type *type, const bfd_byte *val, struct ppc64_sysv_argpos *argpos)
static void ppc64_sysv_abi_push_integer(struct gdbarch *gdbarch, ULONGEST val, struct ppc64_sysv_argpos *argpos)
int field_is_static(struct field *f)
int gdbarch_sp_regnum(struct gdbarch *gdbarch)
enum register_status regcache_cooked_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
static int ppc_sysv_use_opencl_abi(struct type *ftype)
struct type * register_type(struct gdbarch *gdbarch, int regnum)
static int ppc64_elfv2_abi_homogeneous_aggregate(struct type *type, struct type **elt_type, int *n_elts)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void write_memory_signed_integer(CORE_ADDR addr, int len, enum bfd_endian byte_order, LONGEST value)
const struct floatformat * floatformats_ibm_long_double[BFD_ENDIAN_UNKNOWN]
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)
struct obj_section * find_pc_section(CORE_ADDR pc)
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)
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, int struct_return, CORE_ADDR struct_addr)
LONGEST unpack_long(struct type *type, const gdb_byte *valaddr)
static void ppc64_sysv_abi_push_val(struct gdbarch *gdbarch, const bfd_byte *val, int len, int align, struct ppc64_sysv_argpos *argpos)
ULONGEST align_up(ULONGEST v, int n)
#define TYPE_TARGET_TYPE(thistype)
struct bound_minimal_symbol lookup_minimal_symbol_by_pc(CORE_ADDR pc)
#define TYPE_CODE(thistype)
void regcache_cooked_write_unsigned(struct regcache *regcache, int regnum, ULONGEST val)
CORE_ADDR find_function_addr(struct value *function, struct type **retval_type)
#define TYPE_CALLING_CONVENTION(thistype)
struct minimal_symbol * minsym
#define TYPE_NFIELDS(thistype)
enum register_status regcache_cooked_read(struct regcache *regcache, int regnum, gdb_byte *buf)
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)
unsigned long long ULONGEST
int register_size(struct gdbarch *gdbarch, int regnum)
static void ppc64_sysv_abi_push_vreg(struct gdbarch *gdbarch, const bfd_byte *val, struct ppc64_sysv_argpos *argpos)
struct type * value_type(const struct value *value)
enum register_status regcache_cooked_read_part(struct regcache *regcache, int regnum, int offset, int len, gdb_byte *buf)
CORE_ADDR value_as_address(struct value *val)
#define TYPE_LENGTH(thistype)
ULONGEST read_memory_unsigned_integer(CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
void write_memory(CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
struct bound_minimal_symbol lookup_minimal_symbol(const char *name, const char *sfile, struct objfile *objf)
int ppc_floating_point_unit_p(struct gdbarch *gdbarch)
int get_array_bounds(struct type *type, LONGEST *low_bound, LONGEST *high_bound)
static int convert_code_addr_to_desc_addr(CORE_ADDR code_addr, CORE_ADDR *desc_addr)
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)
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)
void regcache_cooked_write(struct regcache *regcache, int regnum, const gdb_byte *buf)
static void store_unsigned_integer(gdb_byte *addr, int len, enum bfd_endian byte_order, ULONGEST val)