GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
ppc-linux-tdep.c File Reference
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "symtab.h"
#include "target.h"
#include "gdbcore.h"
#include "gdbcmd.h"
#include "symfile.h"
#include "objfiles.h"
#include "regcache.h"
#include "value.h"
#include "osabi.h"
#include "regset.h"
#include "solib-svr4.h"
#include "solib.h"
#include "solist.h"
#include "ppc-tdep.h"
#include "ppc64-tdep.h"
#include "ppc-linux-tdep.h"
#include "arch/ppc-linux-common.h"
#include "arch/ppc-linux-tdesc.h"
#include "glibc-tdep.h"
#include "trad-frame.h"
#include "frame-unwind.h"
#include "tramp-frame.h"
#include "observable.h"
#include "auxv.h"
#include "elf/common.h"
#include "elf/ppc64.h"
#include "arch-utils.h"
#include "xml-syscall.h"
#include "linux-tdep.h"
#include "linux-record.h"
#include "record-full.h"
#include "infrun.h"
#include "expop.h"
#include "stap-probe.h"
#include "ax.h"
#include "ax-gdb.h"
#include "cli/cli-utils.h"
#include "parser-defs.h"
#include "user-regs.h"
#include <ctype.h>
#include "elf-bfd.h"
#include "producer.h"
#include "features/rs6000/powerpc-32l.c"
#include "features/rs6000/powerpc-altivec32l.c"
#include "features/rs6000/powerpc-vsx32l.c"
#include "features/rs6000/powerpc-isa205-32l.c"
#include "features/rs6000/powerpc-isa205-altivec32l.c"
#include "features/rs6000/powerpc-isa205-vsx32l.c"
#include "features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c"
#include "features/rs6000/powerpc-isa207-vsx32l.c"
#include "features/rs6000/powerpc-isa207-htm-vsx32l.c"
#include "features/rs6000/powerpc-64l.c"
#include "features/rs6000/powerpc-altivec64l.c"
#include "features/rs6000/powerpc-vsx64l.c"
#include "features/rs6000/powerpc-isa205-64l.c"
#include "features/rs6000/powerpc-isa205-altivec64l.c"
#include "features/rs6000/powerpc-isa205-vsx64l.c"
#include "features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c"
#include "features/rs6000/powerpc-isa207-vsx64l.c"
#include "features/rs6000/powerpc-isa207-htm-vsx64l.c"
#include "features/rs6000/powerpc-e500l.c"

Go to the source code of this file.

Macros

#define XML_SYSCALL_FILENAME_PPC   "syscalls/ppc-linux.xml"
 
#define XML_SYSCALL_FILENAME_PPC64   "syscalls/ppc64-linux.xml"
 
#define POWERPC32_PLT_CHECK_LEN   (ARRAY_SIZE (powerpc32_plt_stub) - 1)
 
#define SIZE_OF_STRUCT_TERMIOS   0x2c
 

Functions

static int ppc_linux_memory_remove_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
 
static enum return_value_convention ppc_linux_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, struct value **read_value, const gdb_byte *writebuf)
 
static int powerpc_linux_in_dynsym_resolve_code (CORE_ADDR pc)
 
static CORE_ADDR ppc_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc)
 
static void ppc_linux_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
static void ppc_linux_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
const struct regsetppc_linux_gregset (int wordsize)
 
const struct regsetppc_linux_fpregset (void)
 
const struct regsetppc_linux_vrregset (struct gdbarch *gdbarch)
 
const struct regsetppc_linux_vsxregset (void)
 
const struct regsetppc_linux_cgprregset (struct gdbarch *gdbarch)
 
const struct regsetppc_linux_cvmxregset (struct gdbarch *gdbarch)
 
static void ppc_linux_collect_core_cpgrregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t len)
 
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 void ppc_linux_sigtramp_cache (frame_info_ptr this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func, LONGEST offset, int bias)
 
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 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 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 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)
 
int ppc_linux_trap_reg_p (struct gdbarch *gdbarch)
 
static LONGEST ppc_linux_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread)
 
static enum gdb_syscall ppc_canonicalize_syscall (int syscall, int wordsize)
 
static int ppc_linux_syscall_record (struct regcache *regcache)
 
static int ppc_linux_record_signal (struct gdbarch *gdbarch, struct regcache *regcache, enum gdb_signal signal)
 
static void ppc_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
static const struct target_descppc_linux_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
 
static void ppc_elfv2_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym)
 
static CORE_ADDR ppc_elfv2_skip_entrypoint (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static int ppc_stap_is_single_operand (struct gdbarch *gdbarch, const char *s)
 
static expr::operation_up ppc_stap_parse_special_token (struct gdbarch *gdbarch, struct stap_parse_info *p)
 
static void ppc_init_linux_record_tdep (struct linux_record_tdep *record_tdep, int wordsize)
 
static const struct floatformat ** ppc_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int len)
 
static bool linux_dwarf2_omit_typedef_p (struct type *target_type, const char *producer, const char *name)
 
static const char * ppc64le_gnu_triplet_regexp (struct gdbarch *gdbarch)
 
static const char * ppc64_gnu_triplet_regexp (struct gdbarch *gdbarch)
 
static std::string ppc64_linux_gcc_target_options (struct gdbarch *gdbarch)
 
static displaced_step_prepare_status ppc_linux_displaced_step_prepare (gdbarch *arch, thread_info *thread, CORE_ADDR &displaced_pc)
 
static void ppc_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_ppc_linux_tdep ()
 

Variables

static struct target_so_ops powerpc_so_ops
 
static const struct ppc_insn_pattern powerpc32_plt_stub []
 
static const struct ppc_insn_pattern powerpc32_plt_stub_so_1 []
 
static const struct ppc_insn_pattern powerpc32_plt_stub_so_2 []
 
static const struct ppc_reg_offsets ppc32_linux_reg_offsets
 
static const struct ppc_reg_offsets ppc64_linux_reg_offsets
 
static const struct regset ppc32_linux_gregset
 
static const struct regset ppc64_linux_gregset
 
static const struct regset ppc32_linux_fpregset
 
static const struct regcache_map_entry ppc32_le_linux_vrregmap []
 
static const struct regcache_map_entry ppc32_be_linux_vrregmap []
 
static const struct regset ppc32_le_linux_vrregset
 
static const struct regset ppc32_be_linux_vrregset
 
static const struct regcache_map_entry ppc32_linux_vsxregmap []
 
static const struct regset ppc32_linux_vsxregset
 
static const struct regcache_map_entry ppc32_regmap_ppr []
 
const struct regset ppc32_linux_pprregset
 
static const struct regcache_map_entry ppc32_regmap_dscr []
 
const struct regset ppc32_linux_dscrregset
 
static const struct regcache_map_entry ppc32_regmap_tar []
 
const struct regset ppc32_linux_tarregset
 
static const struct regcache_map_entry ppc32_regmap_ebb []
 
const struct regset ppc32_linux_ebbregset
 
static const struct regcache_map_entry ppc32_regmap_pmu []
 
const struct regset ppc32_linux_pmuregset
 
static const struct regcache_map_entry ppc32_regmap_tm_spr []
 
const struct regset ppc32_linux_tm_sprregset
 
static const struct regcache_map_entry ppc32_regmap_cgpr []
 
static const struct regcache_map_entry ppc64_le_regmap_cgpr []
 
static const struct regcache_map_entry ppc64_be_regmap_cgpr []
 
static const struct regset ppc32_linux_cgprregset
 
static const struct regset ppc64_be_linux_cgprregset
 
static const struct regset ppc64_le_linux_cgprregset
 
static const struct regcache_map_entry ppc32_regmap_cfpr []
 
const struct regset ppc32_linux_cfprregset
 
static const struct regcache_map_entry ppc32_le_regmap_cvmx []
 
static const struct regcache_map_entry ppc32_be_regmap_cvmx []
 
static const struct regset ppc32_le_linux_cvmxregset
 
static const struct regset ppc32_be_linux_cvmxregset
 
static const struct regcache_map_entry ppc32_regmap_cvsx []
 
const struct regset ppc32_linux_cvsxregset
 
static const struct regcache_map_entry ppc32_regmap_cppr []
 
const struct regset ppc32_linux_cpprregset
 
static const struct regcache_map_entry ppc32_regmap_cdscr []
 
const struct regset ppc32_linux_cdscrregset
 
static const struct regcache_map_entry ppc32_regmap_ctar []
 
const struct regset ppc32_linux_ctarregset
 
static struct tramp_frame ppc32_linux_sigaction_tramp_frame
 
static struct tramp_frame ppc64_linux_sigaction_tramp_frame
 
static struct tramp_frame ppc32_linux_sighandler_tramp_frame
 
static struct tramp_frame ppc64_linux_sighandler_tramp_frame
 
static struct linux_record_tdep ppc_linux_record_tdep
 
static struct linux_record_tdep ppc64_linux_record_tdep
 

Macro Definition Documentation

◆ POWERPC32_PLT_CHECK_LEN

#define POWERPC32_PLT_CHECK_LEN   (ARRAY_SIZE (powerpc32_plt_stub) - 1)

Definition at line 305 of file ppc-linux-tdep.c.

Referenced by ppc_skip_trampoline_code().

◆ SIZE_OF_STRUCT_TERMIOS

#define SIZE_OF_STRUCT_TERMIOS   0x2c

◆ XML_SYSCALL_FILENAME_PPC

#define XML_SYSCALL_FILENAME_PPC   "syscalls/ppc-linux.xml"

Definition at line 91 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ XML_SYSCALL_FILENAME_PPC64

#define XML_SYSCALL_FILENAME_PPC64   "syscalls/ppc64-linux.xml"

Definition at line 92 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

Function Documentation

◆ _initialize_ppc_linux_tdep()

void _initialize_ppc_linux_tdep ( )

◆ linux_dwarf2_omit_typedef_p()

static bool linux_dwarf2_omit_typedef_p ( struct type * target_type,
const char * producer,
const char * name )
static

Definition at line 2011 of file ppc-linux-tdep.c.

References type::code(), name, and producer_is_gcc().

Referenced by ppc_linux_init_abi().

◆ powerpc_linux_in_dynsym_resolve_code()

static int powerpc_linux_in_dynsym_resolve_code ( CORE_ADDR pc)
static

◆ ppc32_linux_sigaction_cache_init()

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

Definition at line 1241 of file ppc-linux-tdep.c.

References func, and ppc_linux_sigtramp_cache().

◆ ppc32_linux_sighandler_cache_init()

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

Definition at line 1265 of file ppc-linux-tdep.c.

References func, and ppc_linux_sigtramp_cache().

◆ ppc64_gnu_triplet_regexp()

static const char * ppc64_gnu_triplet_regexp ( struct gdbarch * gdbarch)
static

Definition at line 2061 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ ppc64_linux_gcc_target_options()

static std::string ppc64_linux_gcc_target_options ( struct gdbarch * gdbarch)
static

Definition at line 2069 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ ppc64_linux_sigaction_cache_init()

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

Definition at line 1253 of file ppc-linux-tdep.c.

References func, and ppc_linux_sigtramp_cache().

◆ ppc64_linux_sighandler_cache_init()

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

Definition at line 1277 of file ppc-linux-tdep.c.

References func, and ppc_linux_sigtramp_cache().

◆ ppc64le_gnu_triplet_regexp()

static const char * ppc64le_gnu_triplet_regexp ( struct gdbarch * gdbarch)
static

Definition at line 2049 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ ppc_canonicalize_syscall()

static enum gdb_syscall ppc_canonicalize_syscall ( int syscall,
int wordsize )
static

◆ ppc_elfv2_elf_make_msymbol_special()

static void ppc_elfv2_elf_make_msymbol_special ( asymbol * sym,
struct minimal_symbol * msym )
static

Definition at line 1641 of file ppc-linux-tdep.c.

References minimal_symbol::set_target_flag_1().

Referenced by ppc_linux_init_abi().

◆ ppc_elfv2_skip_entrypoint()

static CORE_ADDR ppc_elfv2_skip_entrypoint ( struct gdbarch * gdbarch,
CORE_ADDR pc )
static

◆ ppc_floatformat_for_type()

static const struct floatformat ** ppc_floatformat_for_type ( struct gdbarch * gdbarch,
const char * name,
int len )
static

◆ ppc_init_linux_record_tdep()

static void ppc_init_linux_record_tdep ( struct linux_record_tdep * record_tdep,
int wordsize )
static

Definition at line 1756 of file ppc-linux-tdep.c.

References linux_record_tdep::arg1, linux_record_tdep::arg2, linux_record_tdep::arg3, linux_record_tdep::arg4, linux_record_tdep::arg5, linux_record_tdep::arg6, linux_record_tdep::fcntl_F_GETLK, linux_record_tdep::fcntl_F_GETLK64, linux_record_tdep::fcntl_F_SETLK64, linux_record_tdep::fcntl_F_SETLKW64, linux_record_tdep::ioctl_FIOASYNC, linux_record_tdep::ioctl_FIOCLEX, linux_record_tdep::ioctl_FIONBIO, linux_record_tdep::ioctl_FIONCLEX, linux_record_tdep::ioctl_FIONREAD, linux_record_tdep::ioctl_FIOQSIZE, linux_record_tdep::ioctl_TCFLSH, linux_record_tdep::ioctl_TCGETA, linux_record_tdep::ioctl_TCGETS, linux_record_tdep::ioctl_TCSBRK, linux_record_tdep::ioctl_TCSBRKP, linux_record_tdep::ioctl_TCSETA, linux_record_tdep::ioctl_TCSETAF, linux_record_tdep::ioctl_TCSETAW, linux_record_tdep::ioctl_TCSETS, linux_record_tdep::ioctl_TCSETSF, linux_record_tdep::ioctl_TCSETSW, linux_record_tdep::ioctl_TCXONC, linux_record_tdep::ioctl_TIOCCBRK, linux_record_tdep::ioctl_TIOCCONS, linux_record_tdep::ioctl_TIOCEXCL, linux_record_tdep::ioctl_TIOCGETD, linux_record_tdep::ioctl_TIOCGICOUNT, linux_record_tdep::ioctl_TIOCGLCKTRMIOS, linux_record_tdep::ioctl_TIOCGPGRP, linux_record_tdep::ioctl_TIOCGPTN, linux_record_tdep::ioctl_TIOCGSERIAL, linux_record_tdep::ioctl_TIOCGSID, linux_record_tdep::ioctl_TIOCGSOFTCAR, linux_record_tdep::ioctl_TIOCGWINSZ, linux_record_tdep::ioctl_TIOCINQ, linux_record_tdep::ioctl_TIOCLINUX, linux_record_tdep::ioctl_TIOCMBIC, linux_record_tdep::ioctl_TIOCMBIS, linux_record_tdep::ioctl_TIOCMGET, linux_record_tdep::ioctl_TIOCMIWAIT, linux_record_tdep::ioctl_TIOCMSET, linux_record_tdep::ioctl_TIOCNOTTY, linux_record_tdep::ioctl_TIOCNXCL, linux_record_tdep::ioctl_TIOCOUTQ, linux_record_tdep::ioctl_TIOCPKT, linux_record_tdep::ioctl_TIOCSBRK, linux_record_tdep::ioctl_TIOCSCTTY, linux_record_tdep::ioctl_TIOCSERCONFIG, linux_record_tdep::ioctl_TIOCSERGETLSR, linux_record_tdep::ioctl_TIOCSERGETMULTI, linux_record_tdep::ioctl_TIOCSERGSTRUCT, linux_record_tdep::ioctl_TIOCSERGWILD, linux_record_tdep::ioctl_TIOCSERSETMULTI, linux_record_tdep::ioctl_TIOCSERSWILD, linux_record_tdep::ioctl_TIOCSETD, linux_record_tdep::ioctl_TIOCSLCKTRMIOS, linux_record_tdep::ioctl_TIOCSPGRP, linux_record_tdep::ioctl_TIOCSPTLCK, linux_record_tdep::ioctl_TIOCSSERIAL, linux_record_tdep::ioctl_TIOCSSOFTCAR, linux_record_tdep::ioctl_TIOCSTI, linux_record_tdep::ioctl_TIOCSWINSZ, PPC_R0_REGNUM, linux_record_tdep::size__old_kernel_stat, linux_record_tdep::size_cap_user_data_t, linux_record_tdep::size_epoll_event, linux_record_tdep::size_fd_set, linux_record_tdep::size_flock, linux_record_tdep::size_flock64, linux_record_tdep::size_fs_quota_stat, linux_record_tdep::size_gid_t, linux_record_tdep::size_if_dqblk, linux_record_tdep::size_int, linux_record_tdep::size_io_event, linux_record_tdep::size_iocb, linux_record_tdep::size_iovec, linux_record_tdep::size_itimerspec, linux_record_tdep::size_itimerval, linux_record_tdep::size_knfsd_fh, linux_record_tdep::size_loff_t, linux_record_tdep::size_long, linux_record_tdep::size_mem_dqinfo, linux_record_tdep::size_mq_attr, linux_record_tdep::size_msghdr, linux_record_tdep::size_msqid_ds, linux_record_tdep::size_new_utsname, linux_record_tdep::size_NFS_FHSIZE, SIZE_OF_STRUCT_TERMIOS, linux_record_tdep::size_off_t, linux_record_tdep::size_old_dirent, linux_record_tdep::size_old_gid_t, linux_record_tdep::size_old_sigaction, linux_record_tdep::size_old_sigset_t, linux_record_tdep::size_old_uid_t, linux_record_tdep::size_old_utsname, linux_record_tdep::size_oldold_utsname, linux_record_tdep::size_PAGE_SIZE, linux_record_tdep::size_pid_t, linux_record_tdep::size_pointer, linux_record_tdep::size_pollfd, linux_record_tdep::size_rlimit, linux_record_tdep::size_rusage, linux_record_tdep::size_serial_icounter_struct, linux_record_tdep::size_serial_struct, linux_record_tdep::size_shmid_ds, linux_record_tdep::size_sigaction, linux_record_tdep::size_siginfo_t, linux_record_tdep::size_sigset_t, linux_record_tdep::size_size_t, linux_record_tdep::size_sockaddr, linux_record_tdep::size_stack_t, linux_record_tdep::size_stat, linux_record_tdep::size_stat64, linux_record_tdep::size_statfs, linux_record_tdep::size_statfs64, linux_record_tdep::size_sysinfo, linux_record_tdep::size_TASK_COMM_LEN, linux_record_tdep::size_termios, linux_record_tdep::size_time_t, linux_record_tdep::size_timespec, linux_record_tdep::size_timeval, linux_record_tdep::size_timex, linux_record_tdep::size_timezone, linux_record_tdep::size_tms, linux_record_tdep::size_uid_t, linux_record_tdep::size_ulong, linux_record_tdep::size_ustat, and linux_record_tdep::size_winsize.

Referenced by ppc_linux_init_abi().

◆ ppc_linux_cgprregset()

const struct regset * ppc_linux_cgprregset ( struct gdbarch * gdbarch)

◆ ppc_linux_collect_core_cpgrregset()

static void ppc_linux_collect_core_cpgrregset ( const struct regset * regset,
const struct regcache * regcache,
int regnum,
void * buf,
size_t len )
static

◆ ppc_linux_collect_gregset()

static void ppc_linux_collect_gregset ( const struct regset * regset,
const struct regcache * regcache,
int regnum,
void * gregs,
size_t len )
static

◆ ppc_linux_core_read_description()

static const struct target_desc * ppc_linux_core_read_description ( struct gdbarch * gdbarch,
struct target_ops * target,
bfd * abfd )
static

◆ ppc_linux_cvmxregset()

const struct regset * ppc_linux_cvmxregset ( struct gdbarch * gdbarch)

◆ ppc_linux_displaced_step_prepare()

static displaced_step_prepare_status ppc_linux_displaced_step_prepare ( gdbarch * arch,
thread_info * thread,
CORE_ADDR & displaced_pc )
static

◆ ppc_linux_fpregset()

const struct regset * ppc_linux_fpregset ( void )

Definition at line 886 of file ppc-linux-tdep.c.

References ppc32_linux_fpregset.

Referenced by fill_fpregset(), and supply_fpregset().

◆ ppc_linux_get_syscall_number()

static LONGEST ppc_linux_get_syscall_number ( struct gdbarch * gdbarch,
thread_info * thread )
static

◆ ppc_linux_gregset()

const struct regset * ppc_linux_gregset ( int wordsize)

Definition at line 880 of file ppc-linux-tdep.c.

References ppc32_linux_gregset, and ppc64_linux_gregset.

Referenced by fill_gregset(), and supply_gregset().

◆ ppc_linux_init_abi()

static void ppc_linux_init_abi ( struct gdbarch_info info,
struct gdbarch * gdbarch )
static

Definition at line 2092 of file ppc-linux-tdep.c.

References floatformats_ibm_long_double, floatformats_ieee_quad, gdbarch_byte_order(), gdbarch_num_regs(), glibc_skip_solib_resolver(), target_so_ops::in_dynsym_resolve_code, linux_dwarf2_omit_typedef_p(), linux_ilp32_fetch_link_map_offsets(), linux_init_abi(), linux_lp64_fetch_link_map_offsets(), POWERPC_ELF_V1, powerpc_linux_in_dynsym_resolve_code(), POWERPC_LONG_DOUBLE_IEEE128, powerpc_so_ops, ppc32_linux_sigaction_tramp_frame, ppc32_linux_sighandler_tramp_frame, ppc64_convert_from_func_ptr_addr(), ppc64_elf_make_msymbol_special(), ppc64_gnu_triplet_regexp(), ppc64_linux_gcc_target_options(), ppc64_linux_record_tdep, ppc64_linux_sigaction_tramp_frame, ppc64_linux_sighandler_tramp_frame, ppc64_skip_trampoline_code(), ppc64le_gnu_triplet_regexp(), ppc_elfv2_elf_make_msymbol_special(), ppc_elfv2_skip_entrypoint(), ppc_floatformat_for_type(), ppc_init_linux_record_tdep(), ppc_linux_core_read_description(), ppc_linux_displaced_step_prepare(), ppc_linux_get_syscall_number(), ppc_linux_iterate_over_regset_sections(), ppc_linux_memory_remove_breakpoint(), ppc_linux_record_signal(), ppc_linux_record_tdep, ppc_linux_return_value(), ppc_linux_syscall_record(), ppc_linux_write_pc(), PPC_ORIG_R3_REGNUM, ppc_process_record(), ppc_skip_trampoline_code(), ppc_stap_is_single_operand(), ppc_stap_parse_special_token(), ppc_gdbarch_tdep::ppc_syscall_record, PPC_TRAP_REGNUM, set_gdbarch_convert_from_func_ptr_addr(), set_gdbarch_core_read_description(), set_gdbarch_displaced_step_prepare(), set_gdbarch_dwarf2_omit_typedef_p(), set_gdbarch_elf_make_msymbol_special(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_floatformat_for_type(), set_gdbarch_gcc_target_options(), set_gdbarch_gcore_bfd_target(), set_gdbarch_get_syscall_number(), set_gdbarch_gnu_triplet_regexp(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_memory_remove_breakpoint(), set_gdbarch_num_regs(), set_gdbarch_process_record(), set_gdbarch_process_record_signal(), set_gdbarch_return_value(), set_gdbarch_return_value_as_value(), set_gdbarch_skip_entrypoint(), set_gdbarch_skip_solib_resolver(), set_gdbarch_skip_trampoline_code(), set_gdbarch_so_ops(), set_gdbarch_stap_gdb_register_prefix(), set_gdbarch_stap_integer_prefixes(), set_gdbarch_stap_is_single_operand(), set_gdbarch_stap_parse_special_token(), set_gdbarch_stap_register_indirection_prefixes(), set_gdbarch_stap_register_indirection_suffixes(), set_gdbarch_write_pc(), set_solib_svr4_fetch_link_map_offsets(), set_xml_syscall_file_name(), stap_register_indirection_prefixes, stap_register_indirection_suffixes, svr4_fetch_objfile_link_map(), svr4_so_ops, tdesc_data, tdesc_find_feature(), tdesc_numbered_register(), tramp_frame_prepend_unwinder(), ppc_gdbarch_tdep::wordsize, XML_SYSCALL_FILENAME_PPC, and XML_SYSCALL_FILENAME_PPC64.

Referenced by _initialize_ppc_linux_tdep().

◆ ppc_linux_iterate_over_regset_sections()

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

Definition at line 991 of file ppc-linux-tdep.c.

References regset::collect_regset, reg_buffer::get_register_status(), ppc_gdbarch_tdep::have_ebb, ppc_gdbarch_tdep::have_htm_altivec, ppc_gdbarch_tdep::have_htm_core, ppc_gdbarch_tdep::have_htm_fpu, ppc_gdbarch_tdep::have_htm_spr, ppc_gdbarch_tdep::have_htm_vsx, ppc32_linux_cdscrregset, ppc32_linux_cfprregset, ppc32_linux_cpprregset, ppc32_linux_ctarregset, ppc32_linux_cvsxregset, ppc32_linux_dscrregset, ppc32_linux_ebbregset, ppc32_linux_fpregset, ppc32_linux_gregset, ppc32_linux_pmuregset, ppc32_linux_pprregset, PPC32_LINUX_SIZEOF_CGPRREGSET, ppc32_linux_tarregset, ppc32_linux_tm_sprregset, ppc32_linux_vsxregset, ppc64_linux_gregset, PPC64_LINUX_SIZEOF_CGPRREGSET, PPC_BESCR_REGNUM, ppc_gdbarch_tdep::ppc_cdscr_regnum, PPC_CDSCR_REGNUM, PPC_CF0_REGNUM, ppc_gdbarch_tdep::ppc_cppr_regnum, PPC_CPPR_REGNUM, PPC_CR0_REGNUM, ppc_gdbarch_tdep::ppc_ctar_regnum, PPC_CTAR_REGNUM, PPC_CVR0_REGNUM, PPC_CVSR0_UPPER_REGNUM, ppc_gdbarch_tdep::ppc_dscr_regnum, ppc_linux_cgprregset(), ppc_linux_collect_core_cpgrregset(), ppc_linux_cvmxregset(), PPC_LINUX_SIZEOF_CDSCRREGSET, PPC_LINUX_SIZEOF_CFPRREGSET, PPC_LINUX_SIZEOF_CPPRREGSET, PPC_LINUX_SIZEOF_CTARREGSET, PPC_LINUX_SIZEOF_CVMXREGSET, PPC_LINUX_SIZEOF_CVSXREGSET, PPC_LINUX_SIZEOF_DSCRREGSET, PPC_LINUX_SIZEOF_EBBREGSET, PPC_LINUX_SIZEOF_PMUREGSET, PPC_LINUX_SIZEOF_PPRREGSET, PPC_LINUX_SIZEOF_TARREGSET, PPC_LINUX_SIZEOF_TM_SPRREGSET, PPC_LINUX_SIZEOF_VRREGSET, PPC_LINUX_SIZEOF_VSXREGSET, ppc_linux_vrregset(), ppc_gdbarch_tdep::ppc_mmcr0_regnum, ppc_gdbarch_tdep::ppc_ppr_regnum, ppc_gdbarch_tdep::ppc_tar_regnum, ppc_gdbarch_tdep::ppc_vr0_regnum, ppc_gdbarch_tdep::ppc_vsr0_upper_regnum, and ppc_gdbarch_tdep::wordsize.

Referenced by ppc_linux_init_abi().

◆ ppc_linux_memory_remove_breakpoint()

static int ppc_linux_memory_remove_breakpoint ( struct gdbarch * gdbarch,
struct bp_target_info * bp_tgt )
static

◆ ppc_linux_record_signal()

static int ppc_linux_record_signal ( struct gdbarch * gdbarch,
struct regcache * regcache,
enum gdb_signal signal )
static

◆ ppc_linux_return_value()

static enum return_value_convention ppc_linux_return_value ( struct gdbarch * gdbarch,
struct value * function,
struct type * valtype,
struct regcache * regcache,
struct value ** read_value,
const gdb_byte * writebuf )
static

◆ ppc_linux_sigtramp_cache()

static void ppc_linux_sigtramp_cache ( frame_info_ptr this_frame,
struct trad_frame_cache * this_cache,
CORE_ADDR func,
LONGEST offset,
int bias )
static

◆ ppc_linux_supply_gregset()

static void ppc_linux_supply_gregset ( const struct regset * regset,
struct regcache * regcache,
int regnum,
const void * gregs,
size_t len )
static

◆ ppc_linux_syscall_record()

static int ppc_linux_syscall_record ( struct regcache * regcache)
static

◆ ppc_linux_trap_reg_p()

int ppc_linux_trap_reg_p ( struct gdbarch * gdbarch)

◆ ppc_linux_vrregset()

const struct regset * ppc_linux_vrregset ( struct gdbarch * gdbarch)

◆ ppc_linux_vsxregset()

const struct regset * ppc_linux_vsxregset ( void )

Definition at line 901 of file ppc-linux-tdep.c.

References ppc32_linux_vsxregset.

Referenced by fetch_vsx_registers(), and store_vsx_registers().

◆ ppc_linux_write_pc()

static void ppc_linux_write_pc ( struct regcache * regcache,
CORE_ADDR pc )
static

◆ ppc_skip_trampoline_code()

static CORE_ADDR ppc_skip_trampoline_code ( frame_info_ptr frame,
CORE_ADDR pc )
static

◆ ppc_stap_is_single_operand()

static int ppc_stap_is_single_operand ( struct gdbarch * gdbarch,
const char * s )
static

Definition at line 1694 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ ppc_stap_parse_special_token()

static expr::operation_up ppc_stap_parse_special_token ( struct gdbarch * gdbarch,
struct stap_parse_info * p )
static

Variable Documentation

◆ powerpc32_plt_stub

const struct ppc_insn_pattern powerpc32_plt_stub[]
static
Initial value:
=
{
{ 0xffff0000, 0x3d600000, 0 },
{ 0xffff0000, 0x816b0000, 0 },
{ 0xffffffff, 0x7d6903a6, 0 },
{ 0xffffffff, 0x4e800420, 0 },
{ 0, 0, 0 }
}

Definition at line 273 of file ppc-linux-tdep.c.

Referenced by ppc_skip_trampoline_code().

◆ powerpc32_plt_stub_so_1

const struct ppc_insn_pattern powerpc32_plt_stub_so_1[]
static
Initial value:
=
{
{ 0xffff0000, 0x817e0000, 0 },
{ 0xffffffff, 0x7d6903a6, 0 },
{ 0xffffffff, 0x4e800420, 0 },
{ 0, 0, 0 }
}

Definition at line 285 of file ppc-linux-tdep.c.

Referenced by ppc_skip_trampoline_code().

◆ powerpc32_plt_stub_so_2

const struct ppc_insn_pattern powerpc32_plt_stub_so_2[]
static
Initial value:
=
{
{ 0xffff0000, 0x3d7e0000, 0 },
{ 0xffff0000, 0x816b0000, 0 },
{ 0xffffffff, 0x7d6903a6, 0 },
{ 0xffffffff, 0x4e800420, 0 },
{ 0, 0, 0 }
}

Definition at line 295 of file ppc-linux-tdep.c.

Referenced by ppc_skip_trampoline_code().

◆ powerpc_so_ops

struct target_so_ops powerpc_so_ops
static

Definition at line 88 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ ppc32_be_linux_cvmxregset

const struct regset ppc32_be_linux_cvmxregset
static
Initial value:
= {
}
static const struct regcache_map_entry ppc32_be_regmap_cvmx[]
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition regcache.c:1273
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition regcache.c:1251

Definition at line 803 of file ppc-linux-tdep.c.

Referenced by ppc_linux_cvmxregset().

◆ ppc32_be_linux_vrregmap

const struct regcache_map_entry ppc32_be_linux_vrregmap[]
static
Initial value:
=
{
{ 32, PPC_VR0_REGNUM, 16 },
{ 1, REGCACHE_MAP_SKIP, 12},
{ 1, PPC_VSCR_REGNUM, 4 },
{ 1, PPC_VRSAVE_REGNUM, 4 },
{ 1, REGCACHE_MAP_SKIP, 12 },
{ 0 }
}
@ PPC_VRSAVE_REGNUM
Definition ppc-tdep.h:349
@ PPC_VR0_REGNUM
Definition ppc-tdep.h:347
@ PPC_VSCR_REGNUM
Definition ppc-tdep.h:348
@ REGCACHE_MAP_SKIP
Definition regcache.h:121

Definition at line 526 of file ppc-linux-tdep.c.

◆ ppc32_be_linux_vrregset

const struct regset ppc32_be_linux_vrregset
static
Initial value:
= {
}
static const struct regcache_map_entry ppc32_be_linux_vrregmap[]

Definition at line 542 of file ppc-linux-tdep.c.

Referenced by ppc_linux_vrregset().

◆ ppc32_be_regmap_cvmx

const struct regcache_map_entry ppc32_be_regmap_cvmx[]
static
Initial value:
=
{
{ 32, PPC_CVR0_REGNUM, 16 },
{ 1, REGCACHE_MAP_SKIP, 12 },
{ 1, PPC_CVSCR_REGNUM, 4 },
{ 1, PPC_CVRSAVE_REGNUM, 4 },
{ 1, REGCACHE_MAP_SKIP, 12},
{ 0 }
}
@ PPC_CVSCR_REGNUM
Definition ppc-tdep.h:383
@ PPC_CVRSAVE_REGNUM
Definition ppc-tdep.h:384
@ PPC_CVR0_REGNUM
Definition ppc-tdep.h:382

Definition at line 784 of file ppc-linux-tdep.c.

◆ ppc32_le_linux_cvmxregset

const struct regset ppc32_le_linux_cvmxregset
static
Initial value:
= {
}
static const struct regcache_map_entry ppc32_le_regmap_cvmx[]

Definition at line 797 of file ppc-linux-tdep.c.

Referenced by ppc_linux_cvmxregset().

◆ ppc32_le_linux_vrregmap

const struct regcache_map_entry ppc32_le_linux_vrregmap[]
static
Initial value:
=
{
{ 32, PPC_VR0_REGNUM, 16 },
{ 1, PPC_VSCR_REGNUM, 4 },
{ 1, REGCACHE_MAP_SKIP, 12 },
{ 1, PPC_VRSAVE_REGNUM, 4 },
{ 1, REGCACHE_MAP_SKIP, 12 },
{ 0 }
}

Definition at line 516 of file ppc-linux-tdep.c.

◆ ppc32_le_linux_vrregset

const struct regset ppc32_le_linux_vrregset
static
Initial value:
= {
}
static const struct regcache_map_entry ppc32_le_linux_vrregmap[]

Definition at line 536 of file ppc-linux-tdep.c.

Referenced by ppc_linux_vrregset().

◆ ppc32_le_regmap_cvmx

const struct regcache_map_entry ppc32_le_regmap_cvmx[]
static
Initial value:
=
{
{ 32, PPC_CVR0_REGNUM, 16 },
{ 1, PPC_CVSCR_REGNUM, 4 },
{ 1, REGCACHE_MAP_SKIP, 12 },
{ 1, PPC_CVRSAVE_REGNUM, 4 },
{ 1, REGCACHE_MAP_SKIP, 12 },
{ 0 }
}

Definition at line 774 of file ppc-linux-tdep.c.

◆ ppc32_linux_cdscrregset

const struct regset ppc32_linux_cdscrregset
Initial value:
= {
}
static const struct regcache_map_entry ppc32_regmap_cdscr[]

Definition at line 855 of file ppc-linux-tdep.c.

Referenced by fetch_ppc_registers(), fetch_register(), ppc_linux_iterate_over_regset_sections(), and store_register().

◆ ppc32_linux_cfprregset

const struct regset ppc32_linux_cfprregset
Initial value:
= {
}
static const struct regcache_map_entry ppc32_regmap_cfpr[]

Definition at line 764 of file ppc-linux-tdep.c.

Referenced by fetch_ppc_registers(), fetch_register(), ppc_linux_iterate_over_regset_sections(), and store_register().

◆ ppc32_linux_cgprregset

const struct regset ppc32_linux_cgprregset
static
Initial value:
= {
}
static const struct regcache_map_entry ppc32_regmap_cgpr[]
#define REGSET_VARIABLE_SIZE
Definition regset.h:52

Definition at line 734 of file ppc-linux-tdep.c.

Referenced by ppc_linux_cgprregset().

◆ ppc32_linux_cpprregset

const struct regset ppc32_linux_cpprregset
Initial value:
= {
}
static const struct regcache_map_entry ppc32_regmap_cppr[]

Definition at line 837 of file ppc-linux-tdep.c.

Referenced by fetch_ppc_registers(), fetch_register(), ppc_linux_iterate_over_regset_sections(), and store_register().

◆ ppc32_linux_ctarregset

const struct regset ppc32_linux_ctarregset
Initial value:
= {
}
static const struct regcache_map_entry ppc32_regmap_ctar[]

Definition at line 873 of file ppc-linux-tdep.c.

Referenced by fetch_ppc_registers(), fetch_register(), ppc_linux_iterate_over_regset_sections(), and store_register().

◆ ppc32_linux_cvsxregset

const struct regset ppc32_linux_cvsxregset
Initial value:
= {
}
static const struct regcache_map_entry ppc32_regmap_cvsx[]

Definition at line 819 of file ppc-linux-tdep.c.

Referenced by fetch_ppc_registers(), fetch_register(), ppc_linux_iterate_over_regset_sections(), and store_register().

◆ ppc32_linux_dscrregset

const struct regset ppc32_linux_dscrregset

◆ ppc32_linux_ebbregset

const struct regset ppc32_linux_ebbregset
Initial value:
= {
}
static const struct regcache_map_entry ppc32_regmap_ebb[]

Definition at line 620 of file ppc-linux-tdep.c.

Referenced by fetch_ppc_registers(), fetch_register(), ppc_linux_iterate_over_regset_sections(), and store_register().

◆ ppc32_linux_fpregset

const struct regset ppc32_linux_fpregset
static
Initial value:
= {
}
static const struct ppc_reg_offsets ppc32_linux_reg_offsets
void ppc_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
void ppc_collect_fpregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)

Definition at line 510 of file ppc-linux-tdep.c.

Referenced by ppc_linux_fpregset(), and ppc_linux_iterate_over_regset_sections().

◆ ppc32_linux_gregset

const struct regset ppc32_linux_gregset
static
Initial value:
= {
}
static void ppc_linux_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void ppc_linux_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)

Definition at line 498 of file ppc-linux-tdep.c.

Referenced by ppc_linux_gregset(), and ppc_linux_iterate_over_regset_sections().

◆ ppc32_linux_pmuregset

const struct regset ppc32_linux_pmuregset

◆ ppc32_linux_pprregset

const struct regset ppc32_linux_pprregset

◆ ppc32_linux_reg_offsets

const struct ppc_reg_offsets ppc32_linux_reg_offsets
static
Initial value:
=
{
0,
4,
4,
128,
132,
152,
144,
140,
148,
156,
0,
256,
8
}

Definition at line 458 of file ppc-linux-tdep.c.

◆ ppc32_linux_sigaction_tramp_frame

struct tramp_frame ppc32_linux_sigaction_tramp_frame
static
Initial value:
= {
4,
{
{ 0x380000ac, ULONGEST_MAX },
{ 0x44000002, ULONGEST_MAX },
},
}
@ SIGTRAMP_FRAME
Definition frame.h:198
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)
#define TRAMP_SENTINEL_INSN
Definition tramp-frame.h:44

Definition at line 1288 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ ppc32_linux_sighandler_tramp_frame

struct tramp_frame ppc32_linux_sighandler_tramp_frame
static
Initial value:
= {
4,
{
{ 0x38000077, ULONGEST_MAX },
{ 0x44000002, ULONGEST_MAX },
},
}
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)

Definition at line 1309 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ ppc32_linux_tarregset

const struct regset ppc32_linux_tarregset

◆ ppc32_linux_tm_sprregset

const struct regset ppc32_linux_tm_sprregset

◆ ppc32_linux_vsxregmap

const struct regcache_map_entry ppc32_linux_vsxregmap[]
static
Initial value:
=
{
{ 0 }
}
@ PPC_VSR0_UPPER_REGNUM
Definition ppc-tdep.h:350

Definition at line 548 of file ppc-linux-tdep.c.

◆ ppc32_linux_vsxregset

const struct regset ppc32_linux_vsxregset
static
Initial value:
= {
}
static const struct regcache_map_entry ppc32_linux_vsxregmap[]

Definition at line 554 of file ppc-linux-tdep.c.

Referenced by ppc_linux_iterate_over_regset_sections(), and ppc_linux_vsxregset().

◆ ppc32_regmap_cdscr

const struct regcache_map_entry ppc32_regmap_cdscr[]
static
Initial value:
=
{
{ 1, PPC_CDSCR_REGNUM, 8 },
{ 0 }
}
@ PPC_CDSCR_REGNUM
Definition ppc-tdep.h:389

Definition at line 846 of file ppc-linux-tdep.c.

◆ ppc32_regmap_cfpr

const struct regcache_map_entry ppc32_regmap_cfpr[]
static
Initial value:
=
{
{ 32, PPC_CF0_REGNUM, 8 },
{ 1, PPC_CFPSCR_REGNUM, 8 },
{ 0 }
}
@ PPC_CFPSCR_REGNUM
Definition ppc-tdep.h:380
@ PPC_CF0_REGNUM
Definition ppc-tdep.h:379

Definition at line 755 of file ppc-linux-tdep.c.

◆ ppc32_regmap_cgpr

const struct regcache_map_entry ppc32_regmap_cgpr[]
static
Initial value:
=
{
{ 32, PPC_CR0_REGNUM, 4 },
{ 3, REGCACHE_MAP_SKIP, 4 },
{ 1, PPC_CCTR_REGNUM, 4 },
{ 1, PPC_CLR_REGNUM, 4 },
{ 1, PPC_CXER_REGNUM, 4 },
{ 1, PPC_CCR_REGNUM, 4 },
{ 9, REGCACHE_MAP_SKIP, 4 },
{ 0 }
}
@ PPC_CXER_REGNUM
Definition ppc-tdep.h:375
@ PPC_CLR_REGNUM
Definition ppc-tdep.h:376
@ PPC_CCTR_REGNUM
Definition ppc-tdep.h:377
@ PPC_CCR_REGNUM
Definition ppc-tdep.h:374
@ PPC_CR0_REGNUM
Definition ppc-tdep.h:373

Definition at line 685 of file ppc-linux-tdep.c.

◆ ppc32_regmap_cppr

const struct regcache_map_entry ppc32_regmap_cppr[]
static
Initial value:
=
{
{ 1, PPC_CPPR_REGNUM, 8 },
{ 0 }
}
@ PPC_CPPR_REGNUM
Definition ppc-tdep.h:388

Definition at line 828 of file ppc-linux-tdep.c.

◆ ppc32_regmap_ctar

const struct regcache_map_entry ppc32_regmap_ctar[]
static
Initial value:
=
{
{ 1, PPC_CTAR_REGNUM, 8 },
{ 0 }
}
@ PPC_CTAR_REGNUM
Definition ppc-tdep.h:390

Definition at line 864 of file ppc-linux-tdep.c.

◆ ppc32_regmap_cvsx

const struct regcache_map_entry ppc32_regmap_cvsx[]
static
Initial value:
=
{
{ 0 }
}
@ PPC_CVSR0_UPPER_REGNUM
Definition ppc-tdep.h:386

Definition at line 811 of file ppc-linux-tdep.c.

◆ ppc32_regmap_dscr

const struct regcache_map_entry ppc32_regmap_dscr[]
static
Initial value:
=
{
{ 1, PPC_DSCR_REGNUM, 8 },
{ 0 }
}
@ PPC_DSCR_REGNUM
Definition ppc-tdep.h:353

Definition at line 578 of file ppc-linux-tdep.c.

◆ ppc32_regmap_ebb

const struct regcache_map_entry ppc32_regmap_ebb[]
static
Initial value:
=
{
{ 1, PPC_EBBRR_REGNUM, 8 },
{ 1, PPC_EBBHR_REGNUM, 8 },
{ 1, PPC_BESCR_REGNUM, 8 },
{ 0 }
}
@ PPC_BESCR_REGNUM
Definition ppc-tdep.h:357
@ PPC_EBBRR_REGNUM
Definition ppc-tdep.h:359
@ PPC_EBBHR_REGNUM
Definition ppc-tdep.h:358

Definition at line 610 of file ppc-linux-tdep.c.

◆ ppc32_regmap_pmu

const struct regcache_map_entry ppc32_regmap_pmu[]
static
Initial value:
=
{
{ 1, PPC_SIAR_REGNUM, 8 },
{ 1, PPC_SDAR_REGNUM, 8 },
{ 1, PPC_SIER_REGNUM, 8 },
{ 1, PPC_MMCR2_REGNUM, 8 },
{ 1, PPC_MMCR0_REGNUM, 8 },
{ 0 }
}
@ PPC_MMCR0_REGNUM
Definition ppc-tdep.h:362
@ PPC_SIER_REGNUM
Definition ppc-tdep.h:366
@ PPC_SIAR_REGNUM
Definition ppc-tdep.h:364
@ PPC_SDAR_REGNUM
Definition ppc-tdep.h:365
@ PPC_MMCR2_REGNUM
Definition ppc-tdep.h:363

Definition at line 628 of file ppc-linux-tdep.c.

◆ ppc32_regmap_ppr

const struct regcache_map_entry ppc32_regmap_ppr[]
static
Initial value:
=
{
{ 1, PPC_PPR_REGNUM, 8 },
{ 0 }
}
@ PPC_PPR_REGNUM
Definition ppc-tdep.h:352

Definition at line 562 of file ppc-linux-tdep.c.

◆ ppc32_regmap_tar

const struct regcache_map_entry ppc32_regmap_tar[]
static
Initial value:
=
{
{ 1, PPC_TAR_REGNUM, 8 },
{ 0 }
}
@ PPC_TAR_REGNUM
Definition ppc-tdep.h:354

Definition at line 594 of file ppc-linux-tdep.c.

◆ ppc32_regmap_tm_spr

const struct regcache_map_entry ppc32_regmap_tm_spr[]
static
Initial value:
=
{
{ 1, PPC_TFHAR_REGNUM, 8 },
{ 1, PPC_TEXASR_REGNUM, 8 },
{ 1, PPC_TFIAR_REGNUM, 8 },
{ 0 }
}
@ PPC_TFIAR_REGNUM
Definition ppc-tdep.h:371
@ PPC_TFHAR_REGNUM
Definition ppc-tdep.h:369
@ PPC_TEXASR_REGNUM
Definition ppc-tdep.h:370

Definition at line 648 of file ppc-linux-tdep.c.

◆ ppc64_be_linux_cgprregset

const struct regset ppc64_be_linux_cgprregset
static
Initial value:
= {
}
static const struct regcache_map_entry ppc64_be_regmap_cgpr[]

Definition at line 741 of file ppc-linux-tdep.c.

Referenced by ppc_linux_cgprregset().

◆ ppc64_be_regmap_cgpr

const struct regcache_map_entry ppc64_be_regmap_cgpr[]
static
Initial value:
=
{
{ 32, PPC_CR0_REGNUM, 8 },
{ 3, REGCACHE_MAP_SKIP, 8 },
{ 1, PPC_CCTR_REGNUM, 8 },
{ 1, PPC_CLR_REGNUM, 8 },
{ 1, REGCACHE_MAP_SKIP, 4},
{ 1, PPC_CXER_REGNUM, 4 },
{ 1, REGCACHE_MAP_SKIP, 4},
{ 1, PPC_CCR_REGNUM, 4 },
{ 0 }
}

Definition at line 711 of file ppc-linux-tdep.c.

◆ ppc64_le_linux_cgprregset

const struct regset ppc64_le_linux_cgprregset
static
Initial value:
= {
}
static const struct regcache_map_entry ppc64_le_regmap_cgpr[]

Definition at line 747 of file ppc-linux-tdep.c.

Referenced by ppc_linux_cgprregset().

◆ ppc64_le_regmap_cgpr

const struct regcache_map_entry ppc64_le_regmap_cgpr[]
static
Initial value:
=
{
{ 32, PPC_CR0_REGNUM, 8 },
{ 3, REGCACHE_MAP_SKIP, 8 },
{ 1, PPC_CCTR_REGNUM, 8 },
{ 1, PPC_CLR_REGNUM, 8 },
{ 1, PPC_CXER_REGNUM, 4 },
{ 1, REGCACHE_MAP_SKIP, 4 },
{ 1, PPC_CCR_REGNUM, 4 },
{ 1, REGCACHE_MAP_SKIP, 4},
{ 0 }
}

Definition at line 697 of file ppc-linux-tdep.c.

◆ ppc64_linux_gregset

const struct regset ppc64_linux_gregset
static
Initial value:
= {
}
static const struct ppc_reg_offsets ppc64_linux_reg_offsets

Definition at line 504 of file ppc-linux-tdep.c.

Referenced by ppc_linux_gregset(), and ppc_linux_iterate_over_regset_sections().

◆ ppc64_linux_record_tdep

struct linux_record_tdep ppc64_linux_record_tdep
static

Definition at line 1372 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi(), and ppc_linux_syscall_record().

◆ ppc64_linux_reg_offsets

const struct ppc_reg_offsets ppc64_linux_reg_offsets
static
Initial value:
=
{
0,
8,
8,
256,
264,
304,
288,
280,
296,
312,
0,
256,
8
}

Definition at line 478 of file ppc-linux-tdep.c.

◆ ppc64_linux_sigaction_tramp_frame

struct tramp_frame ppc64_linux_sigaction_tramp_frame
static
Initial value:
= {
4,
{
{ 0x38210080, ULONGEST_MAX },
{ 0x380000ac, ULONGEST_MAX },
{ 0x44000002, ULONGEST_MAX },
},
}
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)

Definition at line 1298 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ ppc64_linux_sighandler_tramp_frame

struct tramp_frame ppc64_linux_sighandler_tramp_frame
static
Initial value:
= {
4,
{
{ 0x38210080, ULONGEST_MAX },
{ 0x38000077, ULONGEST_MAX },
{ 0x44000002, ULONGEST_MAX },
},
}
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)

Definition at line 1319 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi().

◆ ppc_linux_record_tdep

struct linux_record_tdep ppc_linux_record_tdep
static

Definition at line 1371 of file ppc-linux-tdep.c.

Referenced by ppc_linux_init_abi(), and ppc_linux_syscall_record().