47#include "elf/common.h"
90#define XML_SYSCALL_FILENAME_PPC "syscalls/ppc-linux.xml"
91#define XML_SYSCALL_FILENAME_PPC64 "syscalls/ppc64-linux.xml"
222 const unsigned char *
bp;
231 scoped_restore restore_memory
238 if (val == 0 && memcmp (
bp, old_contents, bplen) == 0)
252 gdb_byte *readbuf,
const gdb_byte *writebuf)
254 if ((valtype->
code () == TYPE_CODE_STRUCT
255 || valtype->
code () == TYPE_CODE_UNION)
256 && !((valtype->
length () == 16 || valtype->
length () == 8)
267 { 0xffff0000, 0x3d600000, 0 },
268 { 0xffff0000, 0x816b0000, 0 },
269 { 0xffffffff, 0x7d6903a6, 0 },
270 { 0xffffffff, 0x4e800420, 0 },
279 { 0xffff0000, 0x817e0000, 0 },
280 { 0xffffffff, 0x7d6903a6, 0 },
281 { 0xffffffff, 0x4e800420, 0 },
289 { 0xffff0000, 0x3d7e0000, 0 },
290 { 0xffff0000, 0x816b0000, 0 },
291 { 0xffffffff, 0x7d6903a6, 0 },
292 { 0xffffffff, 0x4e800420, 0 },
297#define POWERPC32_PLT_CHECK_LEN (ARRAY_SIZE (powerpc32_plt_stub) - 1)
337 CORE_ADDR target = 0;
346 for (i = 0; i < scan_limit; i++)
396 int regnum,
const void *gregs,
size_t len)
422 int regnum,
void *gregs,
size_t len)
429 memset (gregs, 0, len);
938 int regnum,
void *buf,
size_t len)
963 gdb_assert ((pt_offset + 2) * tdep->
wordsize <= len);
1006 vrregset,
"ppc Altivec", cb_data);
1049 "Hardware Transactional Memory Special Purpose Registers",
1065 int cgpr_size = (tdep->
wordsize == 4?
1069 const struct regset *cgprregset =
1074 struct regset core_cgprregset = *cgprregset;
1079 cb (
".reg-ppc-tm-cgpr",
1080 cgpr_size, cgpr_size,
1082 "Checkpointed General Purpose Registers", cb_data);
1086 cb (
".reg-ppc-tm-cgpr",
1087 cgpr_size, cgpr_size,
1089 "Checkpointed General Purpose Registers", cb_data);
1101 "Checkpointed Floating Point Registers", cb_data);
1109 const struct regset *cvmxregset =
1115 "Checkpointed Altivec (VMX) Registers", cb_data);
1127 "Checkpointed VSX Registers", cb_data);
1137 "Checkpointed Priority Program Register", cb_data);
1147 "Checkpointed Data Stream Control Register", cb_data);
1157 "Checkpointed Target Address Register", cb_data);
1164 CORE_ADDR
func, LONGEST offset,
1184 regs = base + offset;
1188 fpregs = gpregs + 48 * tdep->
wordsize;
1191 for (i = 0; i < 32; i++)
1220 for (i = 0; i < 32; i++)
1351 gdb::byte_vector buf (tdep->
wordsize);
1391 result =
syscall += 259 - 240;
1432 if (syscall_gdb < 0)
1435 _(
"Process record and replay target doesn't "
1436 "support syscall number %d\n"), (
int) scnum);
1449 for (j = 0; j < 4; j++)
1451 if (regsets[j] == -1)
1453 for (i = 0; i < 32; i++)
1483 for (
int i = 3; i <= 12; i++)
1505 enum gdb_signal signal)
1511 const int SIGNAL_FRAMESIZE = 128;
1512 const int sizeof_rt_sigframe = 1440 * 2 + 8 * 2 + 4 * 6 + 8 + 8 + 128 + 512;
1517 for (i = 3; i <= 12; i++)
1537 sp -= SIGNAL_FRAMESIZE;
1538 sp -= sizeof_rt_sigframe;
1574 asection *
altivec = bfd_get_section_by_name (abfd,
".reg-ppc-vmx");
1575 asection *
vsx = bfd_get_section_by_name (abfd,
".reg-ppc-vsx");
1576 asection *section = bfd_get_section_by_name (abfd,
".reg");
1577 asection *ppr = bfd_get_section_by_name (abfd,
".reg-ppc-ppr");
1578 asection *dscr = bfd_get_section_by_name (abfd,
".reg-ppc-dscr");
1579 asection *tar = bfd_get_section_by_name (abfd,
".reg-ppc-tar");
1580 asection *pmu = bfd_get_section_by_name (abfd,
".reg-ppc-pmu");
1581 asection *htmspr = bfd_get_section_by_name (abfd,
".reg-ppc-tm-spr");
1586 switch (bfd_section_size (section))
1602 features.
vsx =
true;
1621 features.
htm =
true;
1635 if ((sym->flags & BSF_SYNTHETIC) != 0)
1640 elf_symbol_type *elf_sym = (elf_symbol_type *)sym;
1647 switch (PPC64_LOCAL_ENTRY_OFFSET (elf_sym->internal_elf_sym.st_other))
1664 int local_entry_offset = 0;
1673 local_entry_offset = 8;
1689 || (isdigit (*s) && s[1] ==
'('
1691 || (*s ==
'(' && isdigit (s[1]))
1702 if (isdigit (*p->
arg))
1707 const char *s = p->
arg;
1711 while (isdigit (*s))
1722 regname = (
char *) alloca (len + 2);
1725 strncpy (regname + 1, p->
arg, len);
1727 regname[len] =
'\0';
1730 error (_(
"Invalid register name `%s' on expression `%s'."),
1735 return expr::make_operation<expr::register_operation> (regname);
1754#define SIZE_OF_STRUCT_TERMIOS 0x2c
1830 else if (wordsize == 4)
1898 internal_error (_(
"unexpected wordsize"));
1982static const struct floatformat **
1984 const char *
name,
int len)
1986 if (len == 128 &&
name)
1988 if (strcmp (
name,
"__float128") == 0
1989 || strcmp (
name,
"_Float128") == 0
1990 || strcmp (
name,
"_Float64x") == 0
1991 || strcmp (
name,
"complex _Float128") == 0
1992 || strcmp (
name,
"complex _Float64x") == 0)
1995 if (strcmp (
name,
"__ibm128") == 0)
2011 return "p(ower)?pc64le";
2023 return "p(ower)?pc64";
2036 CORE_ADDR &displaced_pc)
2042 CORE_ADDR disp_step_buf_addr
2048 return per_inferior->
disp_step_buf->prepare (thread, displaced_pc);
2057 static const char *
const stap_integer_prefixes[] = {
"i", NULL };
2058 static const char *
const stap_register_indirection_prefixes[] = {
"(",
2060 static const char *
const stap_register_indirection_suffixes[] = {
")",
2088 stap_register_indirection_prefixes);
2090 stap_register_indirection_suffixes);
2200 const struct tdesc_feature *feature;
2210 "org.gnu.gdb.power.linux");
2211 if (feature != NULL)
const struct floatformat ** default_floatformat_for_type(struct gdbarch *gdbarch, const char *name, int len)
gdb::optional< gdb::byte_vector > target_read_auxv_raw(target_ops *ops)
enum register_status cooked_read(int regnum, gdb_byte *buf)
void raw_collect_integer(int regnum, gdb_byte *addr, int addr_len, bool is_signed) const
enum register_status get_register_status(int regnum) const override
ULONGEST read_memory_unsigned_integer(CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
static LONGEST extract_signed_integer(gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order)
@ RETURN_VALUE_STRUCT_CONVENTION
displaced_step_prepare_status
ULONGEST get_frame_register_unsigned(frame_info_ptr frame, int regnum)
CORE_ADDR get_frame_pc(frame_info_ptr frame)
struct frame_id frame_id_build(CORE_ADDR stack_addr, CORE_ADDR code_addr)
struct gdbarch * get_frame_arch(frame_info_ptr this_frame)
void set_gdbarch_process_record(struct gdbarch *gdbarch, gdbarch_process_record_ftype *process_record)
int gdbarch_pc_regnum(struct gdbarch *gdbarch)
void set_gdbarch_convert_from_func_ptr_addr(struct gdbarch *gdbarch, gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr)
const gdb_byte * gdbarch_breakpoint_from_pc(struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_gdbarch_stap_parse_special_token(struct gdbarch *gdbarch, gdbarch_stap_parse_special_token_ftype *stap_parse_special_token)
void set_gdbarch_stap_integer_prefixes(struct gdbarch *gdbarch, const char *const *stap_integer_prefixes)
void set_gdbarch_displaced_step_prepare(struct gdbarch *gdbarch, gdbarch_displaced_step_prepare_ftype *displaced_step_prepare)
void set_gdbarch_core_read_description(struct gdbarch *gdbarch, gdbarch_core_read_description_ftype *core_read_description)
void set_gdbarch_stap_gdb_register_prefix(struct gdbarch *gdbarch, const char *stap_gdb_register_prefix)
void set_gdbarch_write_pc(struct gdbarch *gdbarch, gdbarch_write_pc_ftype *write_pc)
void set_gdbarch_elf_make_msymbol_special(struct gdbarch *gdbarch, gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special)
void set_gdbarch_skip_trampoline_code(struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code)
void set_gdbarch_stap_is_single_operand(struct gdbarch *gdbarch, gdbarch_stap_is_single_operand_ftype *stap_is_single_operand)
void set_gdbarch_return_value(struct gdbarch *gdbarch, gdbarch_return_value_ftype *return_value)
void set_gdbarch_get_syscall_number(struct gdbarch *gdbarch, gdbarch_get_syscall_number_ftype *get_syscall_number)
void set_gdbarch_gnu_triplet_regexp(struct gdbarch *gdbarch, gdbarch_gnu_triplet_regexp_ftype *gnu_triplet_regexp)
int gdbarch_num_regs(struct gdbarch *gdbarch)
void set_gdbarch_gcore_bfd_target(struct gdbarch *gdbarch, const char *gcore_bfd_target)
void set_gdbarch_stap_register_indirection_prefixes(struct gdbarch *gdbarch, const char *const *stap_register_indirection_prefixes)
int gdbarch_sp_regnum(struct gdbarch *gdbarch)
void set_gdbarch_long_double_format(struct gdbarch *gdbarch, const struct floatformat **long_double_format)
void set_gdbarch_gcc_target_options(struct gdbarch *gdbarch, gdbarch_gcc_target_options_ftype *gcc_target_options)
const struct target_desc * gdbarch_target_desc(struct gdbarch *gdbarch)
void set_gdbarch_process_record_signal(struct gdbarch *gdbarch, gdbarch_process_record_signal_ftype *process_record_signal)
void set_gdbarch_fetch_tls_load_module_address(struct gdbarch *gdbarch, gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address)
int gdbarch_fp0_regnum(struct gdbarch *gdbarch)
void set_gdbarch_memory_remove_breakpoint(struct gdbarch *gdbarch, gdbarch_memory_remove_breakpoint_ftype *memory_remove_breakpoint)
void set_gdbarch_num_regs(struct gdbarch *gdbarch, int num_regs)
void set_gdbarch_long_double_bit(struct gdbarch *gdbarch, int long_double_bit)
void set_gdbarch_skip_entrypoint(struct gdbarch *gdbarch, gdbarch_skip_entrypoint_ftype *skip_entrypoint)
void set_gdbarch_stap_register_indirection_suffixes(struct gdbarch *gdbarch, const char *const *stap_register_indirection_suffixes)
void set_gdbarch_floatformat_for_type(struct gdbarch *gdbarch, gdbarch_floatformat_for_type_ftype *floatformat_for_type)
void set_gdbarch_so_ops(struct gdbarch *gdbarch, const struct target_so_ops *so_ops)
void set_gdbarch_skip_solib_resolver(struct gdbarch *gdbarch, gdbarch_skip_solib_resolver_ftype *skip_solib_resolver)
void set_gdbarch_iterate_over_regset_sections(struct gdbarch *gdbarch, gdbarch_iterate_over_regset_sections_ftype *iterate_over_regset_sections)
void() iterate_over_regset_sections_cb(const char *sect_name, int supply_size, int collect_size, const struct regset *regset, const char *human_name, void *cb_data)
const struct floatformat * floatformats_ibm_long_double[BFD_ENDIAN_UNKNOWN]
const struct floatformat * floatformats_ieee_quad[BFD_ENDIAN_UNKNOWN]
CORE_ADDR glibc_skip_solib_resolver(struct gdbarch *gdbarch, CORE_ADDR pc)
enum exec_direction_kind execution_direction
int record_linux_system_call(enum gdb_syscall syscall, struct regcache *regcache, struct linux_record_tdep *tdep)
link_map_offsets * linux_lp64_fetch_link_map_offsets()
CORE_ADDR linux_displaced_step_location(struct gdbarch *gdbarch)
link_map_offsets * linux_ilp32_fetch_link_map_offsets()
void linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch, int num_disp_step_buffers)
CORE_ADDR linux_get_hwcap()
struct bound_minimal_symbol lookup_minimal_symbol_by_pc(CORE_ADDR pc)
std::unique_ptr< operation > operation_up
void gdbarch_register_osabi(enum bfd_architecture arch, unsigned long machine, enum gdb_osabi osabi, void(*init_osabi)(struct gdbarch_info, struct gdbarch *))
static void initialize_tdesc_powerpc_32l(void)
static void initialize_tdesc_powerpc_64l(void)
static void initialize_tdesc_powerpc_altivec32l(void)
static void initialize_tdesc_powerpc_altivec64l(void)
static void initialize_tdesc_powerpc_e500l(void)
static void initialize_tdesc_powerpc_isa205_32l(void)
static void initialize_tdesc_powerpc_isa205_64l(void)
static void initialize_tdesc_powerpc_isa205_altivec32l(void)
static void initialize_tdesc_powerpc_isa205_altivec64l(void)
static void initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l(void)
static void initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l(void)
static void initialize_tdesc_powerpc_isa205_vsx32l(void)
static void initialize_tdesc_powerpc_isa205_vsx64l(void)
static void initialize_tdesc_powerpc_isa207_htm_vsx32l(void)
static void initialize_tdesc_powerpc_isa207_htm_vsx64l(void)
static void initialize_tdesc_powerpc_isa207_vsx32l(void)
static void initialize_tdesc_powerpc_isa207_vsx64l(void)
static void initialize_tdesc_powerpc_vsx32l(void)
static void initialize_tdesc_powerpc_vsx64l(void)
bool ppc_linux_has_isa205(CORE_ADDR hwcap)
const struct target_desc * ppc_linux_match_description(struct ppc_linux_features features)
#define PPC_LINUX_SIZEOF_DSCRREGSET
#define PPC_LINUX_SIZEOF_CTARREGSET
#define PPC_LINUX_SIZEOF_PPRREGSET
#define PPC64_LINUX_SIZEOF_CGPRREGSET
#define PPC_LINUX_SIZEOF_EBBREGSET
#define PPC_LINUX_SIZEOF_CPPRREGSET
#define PPC_LINUX_SIZEOF_VSXREGSET
#define PPC_LINUX_SIZEOF_CVSXREGSET
const struct ppc_linux_features ppc_linux_no_features
#define PPC32_LINUX_SIZEOF_CGPRREGSET
#define PPC_LINUX_SIZEOF_TM_SPRREGSET
#define PPC_LINUX_SIZEOF_PMUREGSET
#define PPC_LINUX_SIZEOF_CFPRREGSET
#define PPC_LINUX_SIZEOF_CDSCRREGSET
#define PPC_LINUX_SIZEOF_VRREGSET
#define PPC_LINUX_SIZEOF_CVMXREGSET
#define PPC_LINUX_SIZEOF_TARREGSET
static void ppc_linux_write_pc(struct regcache *regcache, CORE_ADDR pc)
static void ppc_linux_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static const struct regcache_map_entry ppc32_regmap_ppr[]
static const char * ppc64le_gnu_triplet_regexp(struct gdbarch *gdbarch)
static const struct ppc_insn_pattern powerpc32_plt_stub[]
static const struct regset ppc32_linux_vsxregset
const struct regset ppc32_linux_dscrregset
#define SIZE_OF_STRUCT_TERMIOS
static struct linux_record_tdep ppc64_linux_record_tdep
static int ppc_linux_memory_remove_breakpoint(struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
const struct regset ppc32_linux_tm_sprregset
static const struct regset ppc64_linux_gregset
static const struct regcache_map_entry ppc32_regmap_pmu[]
static const struct regcache_map_entry ppc32_be_linux_vrregmap[]
static const struct ppc_insn_pattern powerpc32_plt_stub_so_1[]
static const struct regset ppc32_le_linux_cvmxregset
const struct regset * ppc_linux_vsxregset(void)
static void ppc_linux_collect_core_cpgrregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t len)
static LONGEST ppc_linux_get_syscall_number(struct gdbarch *gdbarch, thread_info *thread)
static int powerpc_linux_in_dynsym_resolve_code(CORE_ADDR pc)
const struct regset * ppc_linux_fpregset(void)
static expr::operation_up ppc_stap_parse_special_token(struct gdbarch *gdbarch, struct stap_parse_info *p)
static const struct regset ppc64_le_linux_cgprregset
#define XML_SYSCALL_FILENAME_PPC64
static const struct regcache_map_entry ppc32_regmap_dscr[]
static const struct regset ppc32_le_linux_vrregset
#define XML_SYSCALL_FILENAME_PPC
static void ppc_linux_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
static CORE_ADDR ppc_elfv2_skip_entrypoint(struct gdbarch *gdbarch, CORE_ADDR pc)
static const struct regset ppc32_be_linux_vrregset
static const struct regset ppc32_linux_fpregset
static const struct regcache_map_entry ppc32_linux_vsxregmap[]
static void ppc64_linux_sighandler_cache_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static const struct ppc_reg_offsets ppc32_linux_reg_offsets
static const struct regcache_map_entry ppc32_regmap_cvsx[]
const struct regset ppc32_linux_tarregset
const struct regset ppc32_linux_cfprregset
int ppc_linux_trap_reg_p(struct gdbarch *gdbarch)
void _initialize_ppc_linux_tdep()
static int ppc_linux_record_signal(struct gdbarch *gdbarch, struct regcache *regcache, enum gdb_signal signal)
const struct regset ppc32_linux_pmuregset
static struct tramp_frame ppc64_linux_sighandler_tramp_frame
static const struct regcache_map_entry ppc32_regmap_cppr[]
static struct linux_record_tdep ppc_linux_record_tdep
static void ppc32_linux_sigaction_cache_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static void ppc_linux_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
static struct tramp_frame ppc64_linux_sigaction_tramp_frame
static enum return_value_convention ppc_linux_return_value(struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
static const struct regcache_map_entry ppc64_le_regmap_cgpr[]
static struct tramp_frame ppc32_linux_sighandler_tramp_frame
static const struct regcache_map_entry ppc32_regmap_tar[]
static std::string ppc64_linux_gcc_target_options(struct gdbarch *gdbarch)
static const char * ppc64_gnu_triplet_regexp(struct gdbarch *gdbarch)
static const struct ppc_reg_offsets ppc64_linux_reg_offsets
static const struct target_desc * ppc_linux_core_read_description(struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
static displaced_step_prepare_status ppc_linux_displaced_step_prepare(gdbarch *arch, thread_info *thread, CORE_ADDR &displaced_pc)
static const struct regset ppc64_be_linux_cgprregset
static const struct regcache_map_entry ppc32_regmap_cgpr[]
static void ppc_linux_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static const struct regcache_map_entry ppc32_be_regmap_cvmx[]
static const struct regset ppc32_be_linux_cvmxregset
static const struct regcache_map_entry ppc32_regmap_ebb[]
static const struct regcache_map_entry ppc64_be_regmap_cgpr[]
static const struct regset ppc32_linux_gregset
static const struct regset ppc32_linux_cgprregset
static int ppc_linux_syscall_record(struct regcache *regcache)
const struct regset * ppc_linux_gregset(int wordsize)
static const struct floatformat ** ppc_floatformat_for_type(struct gdbarch *gdbarch, const char *name, int len)
static void ppc_linux_sigtramp_cache(frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func, LONGEST offset, int bias)
const struct regset ppc32_linux_cvsxregset
static int ppc_stap_is_single_operand(struct gdbarch *gdbarch, const char *s)
static void ppc32_linux_sighandler_cache_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static struct target_so_ops powerpc_so_ops
const struct regset ppc32_linux_pprregset
const struct regset ppc32_linux_ebbregset
static const struct regcache_map_entry ppc32_regmap_tm_spr[]
static CORE_ADDR ppc_skip_trampoline_code(frame_info_ptr frame, CORE_ADDR pc)
static const struct regcache_map_entry ppc32_le_regmap_cvmx[]
static enum gdb_syscall ppc_canonicalize_syscall(int syscall, int wordsize)
const struct regset ppc32_linux_ctarregset
static struct tramp_frame ppc32_linux_sigaction_tramp_frame
static void ppc_init_linux_record_tdep(struct linux_record_tdep *record_tdep, int wordsize)
const struct regset ppc32_linux_cdscrregset
#define POWERPC32_PLT_CHECK_LEN
const struct regset * ppc_linux_cvmxregset(struct gdbarch *gdbarch)
const struct regset * ppc_linux_cgprregset(struct gdbarch *gdbarch)
static const struct regcache_map_entry ppc32_regmap_cdscr[]
static const struct regcache_map_entry ppc32_le_linux_vrregmap[]
const struct regset ppc32_linux_cpprregset
const struct regset * ppc_linux_vrregset(struct gdbarch *gdbarch)
static void ppc_elfv2_elf_make_msymbol_special(asymbol *sym, struct minimal_symbol *msym)
static void ppc64_linux_sigaction_cache_init(const struct tramp_frame *self, frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
static const struct regcache_map_entry ppc32_regmap_ctar[]
static const struct ppc_insn_pattern powerpc32_plt_stub_so_2[]
static const struct regcache_map_entry ppc32_regmap_cfpr[]
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)
void ppc_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
CORE_ADDR ppc_insn_d_field(unsigned int insn)
void ppc_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
@ POWERPC_LONG_DOUBLE_IEEE128
int ppc_insns_match_pattern(frame_info_ptr frame, CORE_ADDR pc, const struct ppc_insn_pattern *pattern, unsigned int *insns)
void ppc_collect_reg(const struct regcache *regcache, int regnum, gdb_byte *regs, size_t offset, int regsize)
int ppc_floating_point_unit_p(struct gdbarch *gdbarch)
void ppc_supply_reg(struct regcache *regcache, int regnum, const gdb_byte *regs, size_t offset, int regsize)
ppc_inferior_data * get_ppc_per_inferior(inferior *inf)
void ppc_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
int ppc_process_record(struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr)
void ppc_collect_fpregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
CORE_ADDR ppc64_skip_trampoline_code(frame_info_ptr frame, CORE_ADDR pc)
void ppc64_elf_make_msymbol_special(asymbol *sym, struct minimal_symbol *msym)
CORE_ADDR ppc64_convert_from_func_ptr_addr(struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ)
int record_full_arch_list_add_reg(struct regcache *regcache, int regnum)
int record_full_arch_list_add_mem(CORE_ADDR addr, int len)
int record_full_arch_list_add_end(void)
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
enum register_status regcache_raw_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
int register_size(struct gdbarch *gdbarch, int regnum)
struct regcache * get_thread_regcache(process_stratum_target *target, ptid_t ptid)
void regcache_cooked_write_unsigned(struct regcache *regcache, int regnum, ULONGEST val)
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
#define REGSET_VARIABLE_SIZE
void(* func)(remote_target *remote, char *)
void set_solib_svr4_fetch_link_map_offsets(struct gdbarch *gdbarch, struct link_map_offsets *(*flmo)(void))
const struct target_so_ops svr4_so_ops
int svr4_in_dynsym_resolve_code(CORE_ADDR pc)
CORE_ADDR svr4_fetch_objfile_link_map(struct objfile *objfile)
CORE_ADDR value_address() const
struct minimal_symbol * minsym
gdb_byte shadow_contents[BREAKPOINT_MAX]
const char * linkage_name() const
ULONGEST ioctl_TIOCGLCKTRMIOS
ULONGEST ioctl_TIOCMIWAIT
ULONGEST ioctl_TIOCGICOUNT
ULONGEST ioctl_TIOCSERGSTRUCT
ULONGEST ioctl_TIOCSERGETMULTI
ULONGEST ioctl_TIOCSERCONFIG
ULONGEST ioctl_TIOCSSOFTCAR
ULONGEST ioctl_TIOCSWINSZ
ULONGEST ioctl_TIOCSERSETMULTI
ULONGEST ioctl_TIOCSSERIAL
int size_serial_icounter_struct
ULONGEST ioctl_TIOCSPTLCK
ULONGEST ioctl_TIOCGSOFTCAR
ULONGEST ioctl_TIOCGSERIAL
ULONGEST ioctl_TIOCSERGETLSR
ULONGEST ioctl_TIOCGWINSZ
ULONGEST ioctl_TIOCSERGWILD
ULONGEST ioctl_TIOCSLCKTRMIOS
ULONGEST ioctl_TIOCSERSWILD
int size__old_kernel_stat
bool target_flag_1() const
void set_target_flag_1(bool target_flag_1)
int(* ppc_syscall_record)(struct regcache *regcache)
int ppc_vsr0_upper_regnum
gdb::optional< displaced_step_buffers > disp_step_buf
collect_regset_ftype * collect_regset
int(* in_dynsym_resolve_code)(CORE_ADDR pc)
const struct tdesc_feature * tdesc_find_feature(const struct target_desc *target_desc, const char *name)
int tdesc_numbered_register(const struct tdesc_feature *feature, struct tdesc_arch_data *data, int regno, const char *name)
static const registry< gdbarch >::key< tdesc_arch_data > tdesc_data
int tdesc_has_registers(const struct target_desc *target_desc)
scoped_restore_tmpl< int > make_scoped_restore_show_memory_breakpoints(int show)
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
int target_write_raw_memory(CORE_ADDR memaddr, const gdb_byte *myaddr, ssize_t len)
void trad_frame_set_reg_addr(struct trad_frame_cache *this_trad_cache, int regnum, CORE_ADDR addr)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
void tramp_frame_prepend_unwinder(struct gdbarch *gdbarch, const struct tramp_frame *tramp_frame)
#define TRAMP_SENTINEL_INSN
int user_reg_map_name_to_regnum(struct gdbarch *gdbarch, const char *name, int len)
void gdb_printf(struct ui_file *stream, const char *format,...)
void set_xml_syscall_file_name(struct gdbarch *gdbarch, const char *name)