72 #define MAX_PROC_NAME_SIZE sizeof("/proc/99999/lwp/9999/adi/lstatus") 76 #define AT_ADI_BLKSZ 34 79 #define AT_ADI_NBITS 35 81 #ifndef AT_ADI_UEONADI 82 #define AT_ADI_UEONADI 36 106 bool checked_avail =
false;
109 bool is_avail =
false;
140 return info.pid ==
pid;
172 it = std::next (pit);
176 if ((*it).pid ==
pid)
178 if ((*it).stat.tag_fd > 0)
203 const char *p = line;
221 if (
proc->stat.checked_avail)
222 return proc->stat.is_avail;
224 proc->stat.checked_avail =
true;
230 proc->stat.max_version = (1 <<
proc->stat.nbits) - 2;
231 proc->stat.is_avail =
true;
233 return proc->stat.is_avail;
246 addr &= ((uint64_t) -1) >> ast.
nbits;
250 return (addr ^ signbit) - signbit;
291 if (
proc->stat.tag_fd != 0)
292 return proc->stat.tag_fd;
295 snprintf (cl_name,
sizeof(cl_name),
"/proc/%ld/adi/tags", (
long)
pid);
299 return proc->stat.tag_fd;
313 snprintf (filename,
sizeof filename,
"/proc/%ld/adi/maps", (
long)
pid);
320 for (line = strtok (data.get (),
"\n"); line; line = strtok (NULL,
"\n"))
326 while (((vaddr + i) * adi_stat.
blksize) >= addr
327 && ((vaddr + i) * adi_stat.
blksize) < endaddr)
335 warning (
_(
"unable to open /proc file '%s'"), filename);
353 error(
_(
"Address at %s is not in ADI maps"),
374 error(
_(
"Address at %s is not in ADI maps"),
389 const int maxelts = 8;
398 for (
int i = maxelts; i > 0 && cnt > 0; i--, cnt--)
400 if (tags[v_idx] == 0xff)
424 error (
_(
"No ADI information"));
425 else if (read_cnt < cnt)
438 std::vector<unsigned char> buf (cnt,
version);
442 error (
_(
"No ADI information"));
443 else if (set_cnt < cnt)
459 error (
_(
"ADI command requires a live process/thread"));
462 error (
_(
"No ADI information"));
467 const char *p = args;
475 if (p != 0 && *p != 0)
478 error (
_(
"Usage: adi examine|x[/count] <addr>"));
494 error (
_(
"ADI command requires a live process/thread"));
497 error (
_(
"No ADI information"));
499 const char *exp = args;
501 error_no_arg (
_(
"Usage: adi assign|a[/count] <addr> = <version>"));
503 char *q = (
char *) strchr (exp,
'=');
507 error (
_(
"Usage: adi assign|a[/count] <addr> = <version>"));
510 const char *p = args;
511 if (exp && *exp ==
'/')
518 if (p != 0 && *p != 0)
521 error (
_(
"Usage: adi assign|a[/count] <addr> = <version>"));
540 _(
"ADI version related commands."),
568 gdb_assert (len == 1 || len == 2 || len == 4 || len == 8);
596 gdb_assert (len == 4 || len == 8 || len == 16);
616 gdb_assert (len == 8 || len == 16 || len == 32);
758 #define SPARC64_FPU_REGISTERS \ 759 "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ 760 "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ 761 "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \ 762 "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \ 763 "f32", "f34", "f36", "f38", "f40", "f42", "f44", "f46", \ 764 "f48", "f50", "f52", "f54", "f56", "f58", "f60", "f62" 765 #define SPARC64_CP0_REGISTERS \ 784 #define SPARC64_NUM_REGS ARRAY_SIZE (sparc64_register_names) 791 "cwp",
"pstate",
"asi",
"ccr",
793 "d0",
"d2",
"d4",
"d6",
"d8",
"d10",
"d12",
"d14",
794 "d16",
"d18",
"d20",
"d22",
"d24",
"d26",
"d28",
"d30",
795 "d32",
"d34",
"d36",
"d38",
"d40",
"d42",
"d44",
"d46",
796 "d48",
"d50",
"d52",
"d54",
"d56",
"d58",
"d60",
"d62",
798 "q0",
"q4",
"q8",
"q12",
"q16",
"q20",
"q24",
"q28",
799 "q32",
"q36",
"q40",
"q44",
"q48",
"q52",
"q56",
"q60",
803 #define SPARC64_NUM_PSEUDO_REGS ARRAY_SIZE (sparc64_pseudo_register_names) 816 _(
"sparc64_pseudo_register_name: bad register number %d"),
856 _(
"sparc64_pseudo_register_type: bad register number %d"),
961 state = (state >> 0) & ((1 << 5) - 1);
964 state = (state >> 8) & ((1 << 12) - 1);
967 state = (state >> 24) & ((1 << 8) - 1);
970 state = (state >> 32) & ((1 << 8) - 1);
1025 state |= ((
bits & ((1 << 5) - 1)) << 0);
1028 state |= ((
bits & ((1 << 12) - 1)) << 8);
1031 state |= ((
bits & ((1 << 8) - 1)) << 24);
1034 state |= ((
bits & ((1 << 8) - 1)) << 32);
1058 if (sal.
end < func_end
1059 && start_pc <= sal.
end)
1083 if (cache->
base == 0)
1089 static struct value *
1208 const gdb_byte *valbuf,
int element,
int bitpos)
1220 valbuf += bitpos / 8;
1223 memset (buf, 0, 8 - len);
1224 memcpy (buf + 8 - len, valbuf, len);
1228 for (
int n = 0; n < (len + 3) / 4; n++)
1249 + element + bitpos / 64;
1255 gdb_assert (bitpos % 32 == 0 && bitpos >= 0 && bitpos < 128);
1309 valbuf += bitpos / 8;
1314 memcpy (valbuf, buf + 4 - len, len);
1317 for (
int i = 0; i < (len + 3) / 4; i++)
1335 gdb_assert (bitpos % 64 == 0 && bitpos >= 0 && bitpos < 256);
1343 gdb_assert (bitpos % 32 == 0 && bitpos >= 0 && bitpos < 256);
1373 int num_elements = 0;
1386 for (i = 0; i < nargs; i++)
1399 num_elements += ((len + 7) / 8);
1460 sp -= num_elements * 8;
1485 for (i = 0; i < nargs; i++)
1498 memset (buf, 0,
sizeof (buf));
1499 memcpy (buf, valbuf, len);
1508 if (len > 8 && element < 5)
1559 memcpy (buf + 4, valbuf, 4);
1603 element += ((len + 7) / 8);
1617 return address & ~0xf;
1662 for (i = 0; i < ((len + 7) / 8); i++)
1666 memcpy (valbuf, buf, len);
1671 for (i = 0; i < len / 4; i++)
1673 memcpy (valbuf, buf, len);
1680 for (i = 0; i < ((len + 7) / 8); i++)
1682 memcpy (valbuf, buf, len);
1692 memcpy (valbuf, buf + 8 - len, len);
1715 memset (buf, 0,
sizeof (buf));
1716 memcpy (buf, valbuf, len);
1717 for (i = 0; i < ((len + 7) / 8); i++)
1725 memcpy (buf, valbuf, len);
1726 for (i = 0; i < len / 4; i++)
1734 memset (buf, 0,
sizeof (buf));
1735 memcpy (buf, valbuf, len);
1736 for (i = 0; i < ((len + 7) / 8); i++)
1746 memcpy (buf + 8 - len, valbuf, len);
1862 #define TSTATE_CWP 0x000000000000001fULL 1863 #define TSTATE_ICC 0x0000000f00000000ULL 1864 #define TSTATE_XCC 0x000000f000000000ULL 1866 #define PSR_S 0x00000080 1868 #define PSR_ICC 0x00f00000 1870 #define PSR_VERS 0x0f000000 1872 #define PSR_IMPL 0xf0000000 1874 #define PSR_V8PLUS 0xff000000 1875 #define PSR_XCC 0x000f0000 1880 int regnum,
const void *gregs)
1893 int offset = gregmap->r_tstate_offset;
1922 regs + gregmap->r_tstate_offset);
1937 memcpy (buf + 8 - gregmap->
r_y_size,
1943 && gregmap->r_fprs_offset != -1)
1945 regs + gregmap->r_fprs_offset);
2009 int offset = gregmap->r_tstate_offset;
2016 tstate |= (psr &
PSR_ICC) << 12;
2018 tstate |= (psr &
PSR_XCC) << 20;
2020 memcpy (regs +
offset, buf, 8);
2041 regs + gregmap->r_tstate_offset);
2061 && gregmap->r_fprs_offset != -1)
2063 regs + gregmap->r_fprs_offset);
2107 int regnum,
const void *fpregs)
2113 for (i = 0; i < 32; i++)
2128 for (i = 0; i < 16; i++)
2133 + (32 * 4) + (i * 8)));
2145 int regnum,
void *fpregs)
2151 for (i = 0; i < 32; i++)
2166 for (i = 0; i < 16; i++)
2171 + (32 * 4) + (i * 8)));
void error_no_arg(const char *why)
struct gdbarch * target_gdbarch(void)
void set_gdbarch_num_regs(struct gdbarch *gdbarch, int num_regs)
void set_gdbarch_frame_align(struct gdbarch *gdbarch, gdbarch_frame_align_ftype frame_align)
void sparc64_collect_fpregset(const struct sparc_fpregmap *fpregmap, const struct regcache *regcache, int regnum, void *fpregs)
void sparc64_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static void sparc64_dwarf2_frame_init_reg(struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, struct frame_info *this_frame)
#define SPARC_CORE_REGISTERS
static void sparc64_extract_return_value(struct type *type, struct regcache *regcache, gdb_byte *valbuf)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
static std::forward_list< sparc64_adi_info > adi_proc_list
int sparc_stack_frame_destroyed_p(struct gdbarch *gdbarch, CORE_ADDR pc)
struct type * builtin_func_ptr
void set_tdesc_pseudo_register_name(struct gdbarch *gdbarch, gdbarch_register_name_ftype *pseudo_name)
struct type * builtin_long_double
int ptid_get_pid(const ptid_t &ptid)
static void info_adi_command(const char *args, int from_tty)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int int rusage_t pid_t pid
static void read_maps_entry(const char *line, ULONGEST *addr, ULONGEST *endaddr)
void set_gdbarch_wchar_bit(struct gdbarch *gdbarch, int wchar_bit)
struct value * frame_unwind_got_memory(struct frame_info *frame, int regnum, CORE_ADDR addr)
const char ** fpu_register_names
void set_tdesc_pseudo_register_type(struct gdbarch *gdbarch, gdbarch_register_type_ftype *pseudo_type)
static sparc64_adi_info * get_adi_info_proc(pid_t pid)
void warning(const char *fmt,...)
static CORE_ADDR sparc64_skip_prologue(struct gdbarch *gdbarch, CORE_ADDR start_pc)
void set_gdbarch_addr_bits_remove(struct gdbarch *gdbarch, gdbarch_addr_bits_remove_ftype addr_bits_remove)
struct sparc64_adi_info sparc64_adi_info
int gdbarch_ptr_bit(struct gdbarch *gdbarch)
struct sparc_frame_cache * sparc_frame_cache(struct frame_info *this_frame, void **this_cache)
std::vector< T, gdb::default_init_allocator< T > > def_vector
const struct builtin_type * builtin_type(struct gdbarch *gdbarch)
void * memset(T *s, int c, size_t n)=delete
void internal_error(const char *file, int line, const char *fmt,...)
static struct type * sparc64_pseudo_register_type(struct gdbarch *gdbarch, int regnum)
const char * tdesc_register_name(struct gdbarch *gdbarch, int regno)
void _initialize_sparc64_adi_tdep(void)
static struct type * sparc64_ccr_type(struct gdbarch *gdbarch)
struct cmd_list_element * add_cmd(const char *name, enum command_class theclass, const char *doc, struct cmd_list_element **list)
void set_gdbarch_stabs_argument_has_addr(struct gdbarch *gdbarch, gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr)
struct cmd_list_element * cmdlist
int gdbarch_num_regs(struct gdbarch *gdbarch)
static enum register_status sparc64_pseudo_register_read(struct gdbarch *gdbarch, struct regcache *regcache, int regnum, gdb_byte *buf)
#define SPARC64_NUM_PSEUDO_REGS
ULONGEST get_frame_memory_unsigned(struct frame_info *this_frame, CORE_ADDR addr, int len)
int target_fileio_pwrite(int fd, const gdb_byte *write_buf, int len, ULONGEST offset, int *target_errno)
void sparc64_forget_process(pid_t pid)
static CORE_ADDR sparc64_store_arguments(struct regcache *regcache, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
void sparc64_collect_gregset(const struct sparc_gregmap *gregmap, const struct regcache *regcache, int regnum, void *gregs)
static const char * sparc64_register_name(struct gdbarch *gdbarch, int regnum)
static const struct frame_unwind sparc64_frame_unwind
static void sparc64_store_floating_fields(struct regcache *regcache, struct type *type, const gdb_byte *valbuf, int element, int bitpos)
void sparc64_supply_gregset(const struct sparc_gregmap *gregmap, struct regcache *regcache, int regnum, const void *gregs)
#define bits(obj, st, fn)
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
void sparc_supply_rwindow(struct regcache *regcache, CORE_ADDR sp, int regnum)
#define TYPE_FIELD_TYPE(thistype, n)
#define SPARC64_CP0_REGISTERS
void frame_unwind_append_unwinder(struct gdbarch *gdbarch, const struct frame_unwind *unwinder)
static struct type * sparc64_pstate_type(struct gdbarch *gdbarch)
static adi_stat_t get_adi_info(pid_t pid)
int target_fileio_close(int fd, int *target_errno)
void set_gdbarch_wchar_signed(struct gdbarch *gdbarch, int wchar_signed)
void printf_filtered(const char *format,...)
static void adi_assign_command(const char *args, int from_tty)
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)
static CORE_ADDR next_address
struct value * frame_unwind_got_constant(struct frame_info *frame, int regnum, ULONGEST val)
ULONGEST sparc_fetch_wcookie(struct gdbarch *gdbarch)
struct cmd_list_element * add_prefix_cmd(const char *name, enum command_class theclass, cmd_const_cfunc_ftype *fun, const char *doc, struct cmd_list_element **prefixlist, const char *prefixname, int allow_unknown, struct cmd_list_element **list)
static const struct frame_base sparc64_frame_base
static const char * sparc64_pseudo_register_names[]
const struct sparc_fpregmap sparc64_bsd_fpregmap
void frame_base_set_default(struct gdbarch *gdbarch, const struct frame_base *default_base)
void set_gdbarch_pseudo_register_write(struct gdbarch *gdbarch, gdbarch_pseudo_register_write_ftype pseudo_register_write)
struct type * sparc64_ccr_type
void set_gdbarch_register_type(struct gdbarch *gdbarch, gdbarch_register_type_ftype register_type)
struct type * arch_flags_type(struct gdbarch *gdbarch, const char *name, int bit)
struct type * check_typedef(struct type *type)
const gdb_byte * value_contents(struct value *value)
static int adi_write_versions(CORE_ADDR vaddr, size_t size, unsigned char *tags)
static const char * sparc64_pseudo_register_name(struct gdbarch *gdbarch, int regnum)
std::unique_ptr< T, xfree_deleter< T > > unique_xmalloc_ptr
struct target_ops current_target
struct symtab_and_line find_pc_line(CORE_ADDR pc, int notcurrent)
unsigned short int saved_regs_mask
void set_gdbarch_stack_frame_destroyed_p(struct gdbarch *gdbarch, gdbarch_stack_frame_destroyed_p_ftype stack_frame_destroyed_p)
static ULONGEST extract_unsigned_integer(const gdb_byte *addr, int len, enum bfd_endian byte_order)
enum register_status regcache_cooked_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
struct type * sparc64_fprs_type
static struct cmd_list_element * sparc64adilist
static void do_assign(CORE_ADDR start, size_t bcnt, int version)
void sparc64_supply_fpregset(const struct sparc_fpregmap *fpregmap, struct regcache *regcache, int regnum, const void *fpregs)
int target_auxv_search(struct target_ops *ops, CORE_ADDR match, CORE_ADDR *valp)
static const char * sparc64_cp0_register_names[]
static struct type * sparc64_fprs_type(struct gdbarch *gdbarch)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
static CORE_ADDR sparc64_addr_bits_remove(struct gdbarch *gdbarch, CORE_ADDR addr)
static int adi_convert_byte_count(CORE_ADDR naddr, int nbytes, CORE_ADDR locl)
const char ** cp0_register_names
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
static void do_examine(CORE_ADDR start, int bcnt)
static void sparc64_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
int default_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static int adi_tag_fd(void)
static bool adi_is_addr_mapped(CORE_ADDR vaddr, size_t cnt)
void append_flags_type_flag(struct type *type, int bitpos, const char *name)
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int status
struct value * value_cast(struct type *type, struct value *arg2)
static bool adi_available(void)
#define target_has_execution
ULONGEST strtoulst(const char *num, const char **trailer, int base)
static CORE_ADDR sparc64_frame_align(struct gdbarch *gdbarch, CORE_ADDR address)
void printf_unfiltered(const char *format,...)
ULONGEST get_frame_register_unsigned(struct frame_info *frame, int regnum)
void set_gdbarch_long_long_bit(struct gdbarch *gdbarch, int long_long_bit)
#define TYPE_FIELD_BITPOS(thistype, n)
struct cmd_list_element * add_alias_cmd(const char *name, cmd_list_element *old, enum command_class theclass, int abbrev_flag, struct cmd_list_element **list)
#define SPARC64_FPU_REGISTERS
struct type * sparc64_fsr_type
static void sparc64_store_return_value(struct type *type, struct regcache *regcache, const gdb_byte *valbuf)
static struct type * sparc64_register_type(struct gdbarch *gdbarch, int regnum)
CORE_ADDR sparc_analyze_prologue(struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR current_pc, struct sparc_frame_cache *cache)
void set_gdbarch_push_dummy_code(struct gdbarch *gdbarch, gdbarch_push_dummy_code_ftype push_dummy_code)
static const char * sparc64_fpu_register_names[]
#define MAX_PROC_NAME_SIZE
void help_list(struct cmd_list_element *list, const char *cmdtype, enum command_class theclass, struct ui_file *stream)
struct value * value_from_pointer(struct type *type, CORE_ADDR addr)
void set_gdbarch_pseudo_register_read(struct gdbarch *gdbarch, gdbarch_pseudo_register_read_ftype pseudo_register_read)
static int adi_read_versions(CORE_ADDR vaddr, size_t size, gdb_byte *tags)
#define TYPE_TARGET_TYPE(thistype)
struct type * builtin_double
static CORE_ADDR sparc64_frame_base_address(struct frame_info *this_frame, void **this_cache)
static int sparc64_complex_floating_p(const struct type *type)
gdb::unique_xmalloc_ptr< char > target_fileio_read_stralloc(struct inferior *inf, const char *filename)
static int sparc64_16_byte_align_p(struct type *type)
CORE_ADDR parse_and_eval_address(const char *exp)
#define TYPE_CODE(thistype)
unsigned char copied_regs_mask
enum register_status regcache_raw_read(struct regcache *regcache, int regnum, gdb_byte *buf)
void regcache_cooked_write_unsigned(struct regcache *regcache, int regnum, ULONGEST val)
struct value * frame_unwind_got_register(struct frame_info *frame, int regnum, int new_regnum)
struct type * builtin_data_ptr
struct type * sparc64_pstate_type
struct type * tdesc_register_type(struct gdbarch *gdbarch, int regno)
void regcache_raw_write_unsigned(struct regcache *regcache, int regnum, ULONGEST val)
#define TYPE_NFIELDS(thistype)
void set_gdbarch_num_pseudo_regs(struct gdbarch *gdbarch, int num_pseudo_regs)
static struct sparc_frame_cache * sparc64_frame_cache(struct frame_info *this_frame, void **this_cache)
static CORE_ADDR sparc64_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)
sparc64_adi_info(pid_t pid_)
enum register_status regcache_cooked_read(struct regcache *regcache, int regnum, gdb_byte *buf)
static void sparc64_extract_floating_fields(struct regcache *regcache, struct type *type, gdb_byte *valbuf, int bitpos)
static int sparc64_floating_p(const struct type *type)
static struct value * sparc64_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
static void sparc64_pseudo_register_write(struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf)
static const char * sparc64_register_names[]
int target_fileio_pread(int fd, gdb_byte *read_buf, int len, ULONGEST offset, int *target_errno)
static enum return_value_convention sparc64_return_value(struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
void regcache_raw_supply(struct regcache *regcache, int regnum, const void *buf)
static struct type * sparc64_fsr_type(struct gdbarch *gdbarch)
void set_gdbarch_call_dummy_location(struct gdbarch *gdbarch, int call_dummy_location)
unsigned long long ULONGEST
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
struct type * value_type(const struct value *value)
struct type * builtin_int64
void set_gdbarch_long_bit(struct gdbarch *gdbarch, int long_bit)
void set_gdbarch_return_value(struct gdbarch *gdbarch, gdbarch_return_value_ftype return_value)
void regcache_raw_collect(const struct regcache *regcache, int regnum, void *buf)
void dwarf2_frame_set_init_reg(struct gdbarch *gdbarch, void(*init_reg)(struct gdbarch *, int, struct dwarf2_frame_state_reg *, struct frame_info *))
int default_stabs_argument_has_addr(struct gdbarch *gdbarch, struct type *type)
#define TYPE_LENGTH(thistype)
void set_gdbarch_ptr_bit(struct gdbarch *gdbarch, int ptr_bit)
int target_fileio_open(struct inferior *inf, const char *filename, int flags, int mode, int *target_errno)
enum register_status regcache_raw_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
void set_gdbarch_push_dummy_call(struct gdbarch *gdbarch, gdbarch_push_dummy_call_ftype push_dummy_call)
static void adi_print_versions(CORE_ADDR vaddr, size_t cnt, gdb_byte *tags)
void gdb_flush(struct ui_file *file)
void write_memory(CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
void set_gdbarch_skip_prologue(struct gdbarch *gdbarch, gdbarch_skip_prologue_ftype skip_prologue)
static CORE_ADDR adi_normalize_address(CORE_ADDR addr)
static void adi_examine_command(const char *args, int from_tty)
enum bfd_endian byte_order
void set_gdbarch_pc_regnum(struct gdbarch *gdbarch, int pc_regnum)
int tdesc_has_registers(const struct target_desc *target_desc)
void set_gdbarch_register_name(struct gdbarch *gdbarch, gdbarch_register_name_ftype register_name)
void error(const char *fmt,...)
static CORE_ADDR adi_align_address(CORE_ADDR naddr)
static int sparc64_structure_or_union_p(const struct type *type)
int get_number(const char **pp)
static int sparc64_integral_or_pointer_p(const struct type *type)
struct type * lookup_pointer_type(struct type *type)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
void regcache_cooked_write(struct regcache *regcache, int regnum, const gdb_byte *buf)
struct type * builtin_float
static void store_unsigned_integer(gdb_byte *addr, int len, enum bfd_endian byte_order, ULONGEST val)
const struct target_desc * gdbarch_target_desc(struct gdbarch *gdbarch)
void regcache_raw_write(struct regcache *regcache, int regnum, const gdb_byte *buf)
LONGEST parse_and_eval_long(const char *exp)