GDBserver
Classes | Macros | Functions | Variables
linux-x86-low.c File Reference
#include "server.h"
#include <signal.h>
#include <limits.h>
#include <inttypes.h>
#include "linux-low.h"
#include "i387-fp.h"
#include "x86-low.h"
#include "x86-xstate.h"
#include "gdb_proc_service.h"
#include "elf/common.h"
#include "agent.h"
#include "tdesc.h"
#include "tracepoint.h"
#include "ax.h"
#include "nat/linux-nat.h"
#include "nat/x86-linux.h"
#include "nat/x86-linux-dregs.h"
#include <sys/reg.h>
#include <sys/procfs.h>
#include <sys/ptrace.h>
#include <sys/uio.h>

Go to the source code of this file.

Classes

struct  arch_process_info
 

Macros

#define PTRACE_GET_THREAD_AREA   25
 
#define PTRACE_ARCH_PRCTL   30
 
#define ARCH_SET_GS   0x1001
 
#define ARCH_SET_FS   0x1002
 
#define ARCH_GET_FS   0x1003
 
#define ARCH_GET_GS   0x1004
 
#define I386_NUM_REGS   (sizeof (i386_regmap) / sizeof (i386_regmap[0]))
 
#define REGSIZE   4
 
#define x86_breakpoint_len   1
 
#define I386_LINUX_XSAVE_XCR0_OFFSET   464
 
#define EMIT_ASM(NAME, INSNS)
 
#define EMIT_ASM32(NAME, INSNS)   EMIT_ASM(NAME,INSNS)
 

Functions

void init_registers_i386_linux (void)
 
void init_registers_i386_mmx_linux (void)
 
void init_registers_i386_avx_linux (void)
 
void init_registers_i386_avx512_linux (void)
 
void init_registers_i386_mpx_linux (void)
 
ps_err_e ps_get_thread_area (const struct ps_prochandle *ph, lwpid_t lwpid, int idx, void **base)
 
static int x86_get_thread_area (int lwpid, CORE_ADDR *addr)
 
static int x86_cannot_store_register (int regno)
 
static int x86_cannot_fetch_register (int regno)
 
static void x86_fill_gregset (struct regcache *regcache, void *buf)
 
static void x86_store_gregset (struct regcache *regcache, const void *buf)
 
static void x86_fill_fpregset (struct regcache *regcache, void *buf)
 
static void x86_store_fpregset (struct regcache *regcache, const void *buf)
 
static void x86_fill_fpxregset (struct regcache *regcache, void *buf)
 
static void x86_store_fpxregset (struct regcache *regcache, const void *buf)
 
static void x86_fill_xstateregset (struct regcache *regcache, void *buf)
 
static void x86_store_xstateregset (struct regcache *regcache, const void *buf)
 
static CORE_ADDR x86_get_pc (struct regcache *regcache)
 
static void x86_set_pc (struct regcache *regcache, CORE_ADDR pc)
 
static int x86_breakpoint_at (CORE_ADDR pc)
 
static int x86_supports_z_point_type (char z_type)
 
static int x86_insert_point (enum raw_bkpt_type type, CORE_ADDR addr, int size, struct raw_breakpoint *bp)
 
static int x86_remove_point (enum raw_bkpt_type type, CORE_ADDR addr, int size, struct raw_breakpoint *bp)
 
static int x86_stopped_by_watchpoint (void)
 
static CORE_ADDR x86_stopped_data_address (void)
 
static struct arch_process_infox86_linux_new_process (void)
 
static void x86_linux_new_fork (struct process_info *parent, struct process_info *child)
 
struct x86_debug_reg_statex86_debug_reg_state (pid_t pid)
 
static int x86_siginfo_fixup (siginfo_t *native, void *inf, int direction)
 
static const struct target_descx86_linux_read_description (void)
 
static int same_process_callback (struct inferior_list_entry *entry, void *data)
 
static void x86_arch_setup_process_callback (struct inferior_list_entry *entry)
 
static void x86_linux_update_xmltarget (void)
 
static void x86_linux_process_qsupported (const char *query)
 
const struct regs_infox86_linux_regs_info (void)
 
static void x86_arch_setup (void)
 
static int x86_supports_tracepoints (void)
 
static void append_insns (CORE_ADDR *to, size_t len, const unsigned char *buf)
 
static int push_opcode (unsigned char *buf, char *op)
 
static int i386_install_fast_tracepoint_jump_pad (CORE_ADDR tpoint, CORE_ADDR tpaddr, CORE_ADDR collector, CORE_ADDR lockaddr, ULONGEST orig_size, CORE_ADDR *jump_entry, CORE_ADDR *trampoline, ULONGEST *trampoline_size, unsigned char *jjump_pad_insn, ULONGEST *jjump_pad_insn_size, CORE_ADDR *adjusted_insn_addr, CORE_ADDR *adjusted_insn_addr_end, char *err)
 
static int x86_install_fast_tracepoint_jump_pad (CORE_ADDR tpoint, CORE_ADDR tpaddr, CORE_ADDR collector, CORE_ADDR lockaddr, ULONGEST orig_size, CORE_ADDR *jump_entry, CORE_ADDR *trampoline, ULONGEST *trampoline_size, unsigned char *jjump_pad_insn, ULONGEST *jjump_pad_insn_size, CORE_ADDR *adjusted_insn_addr, CORE_ADDR *adjusted_insn_addr_end, char *err)
 
static int x86_get_min_fast_tracepoint_insn_len (void)
 
static void add_insns (unsigned char *start, int len)
 
static void i386_emit_prologue (void)
 
static void i386_emit_epilogue (void)
 
static void i386_emit_add (void)
 
static void i386_emit_sub (void)
 
static void i386_emit_mul (void)
 
static void i386_emit_lsh (void)
 
static void i386_emit_rsh_signed (void)
 
static void i386_emit_rsh_unsigned (void)
 
static void i386_emit_ext (int arg)
 
static void i386_emit_log_not (void)
 
static void i386_emit_bit_and (void)
 
static void i386_emit_bit_or (void)
 
static void i386_emit_bit_xor (void)
 
static void i386_emit_bit_not (void)
 
static void i386_emit_equal (void)
 
static void i386_emit_less_signed (void)
 
static void i386_emit_less_unsigned (void)
 
static void i386_emit_ref (int size)
 
static void i386_emit_if_goto (int *offset_p, int *size_p)
 
static void i386_emit_goto (int *offset_p, int *size_p)
 
static void i386_write_goto_address (CORE_ADDR from, CORE_ADDR to, int size)
 
static void i386_emit_const (LONGEST num)
 
static void i386_emit_call (CORE_ADDR fn)
 
static void i386_emit_reg (int reg)
 
static void i386_emit_pop (void)
 
static void i386_emit_stack_flush (void)
 
static void i386_emit_zero_ext (int arg)
 
static void i386_emit_swap (void)
 
static void i386_emit_stack_adjust (int n)
 
static void i386_emit_int_call_1 (CORE_ADDR fn, int arg1)
 
static void i386_emit_void_call_2 (CORE_ADDR fn, int arg1)
 
void i386_emit_eq_goto (int *offset_p, int *size_p)
 
void i386_emit_ne_goto (int *offset_p, int *size_p)
 
void i386_emit_lt_goto (int *offset_p, int *size_p)
 
void i386_emit_le_goto (int *offset_p, int *size_p)
 
void i386_emit_gt_goto (int *offset_p, int *size_p)
 
void i386_emit_ge_goto (int *offset_p, int *size_p)
 
static struct emit_opsx86_emit_ops (void)
 
static int x86_supports_range_stepping (void)
 
void initialize_low_arch (void)
 

Variables

const struct target_desctdesc_i386_linux
 
const struct target_desctdesc_i386_mmx_linux
 
const struct target_desctdesc_i386_avx_linux
 
const struct target_desctdesc_i386_avx512_linux
 
const struct target_desctdesc_i386_mpx_linux
 
static struct target_desctdesc_i386_linux_no_xml
 
static unsigned char jump_insn [] = { 0xe9, 0, 0, 0, 0 }
 
static unsigned char small_jump_insn [] = { 0x66, 0xe9, 0, 0 }
 
static const char * xmltarget_i386_linux_no_xml
 
static int i386_regmap []
 
static struct regset_info x86_regsets []
 
static const unsigned char x86_breakpoint [] = { 0xCC }
 
struct x86_dr_low_type x86_dr_low
 
static int use_xml
 
int have_ptrace_getfpxregs
 
static int have_ptrace_getregset = -1
 
static struct regsets_info x86_regsets_info
 
static struct usrregs_info i386_linux_usrregs_info
 
static struct regs_info i386_linux_regs_info
 
struct emit_ops i386_emit_ops
 
struct linux_target_ops the_low_target
 

Macro Definition Documentation

#define ARCH_GET_FS   0x1003

Definition at line 137 of file linux-x86-low.c.

Referenced by ps_get_thread_area(), and x86_get_thread_area().

#define ARCH_GET_GS   0x1004

Definition at line 138 of file linux-x86-low.c.

Referenced by ps_get_thread_area().

#define ARCH_SET_FS   0x1002

Definition at line 136 of file linux-x86-low.c.

#define ARCH_SET_GS   0x1001

Definition at line 135 of file linux-x86-low.c.

#define EMIT_ASM (   NAME,
  INSNS 
)
Value:
do \
{ \
extern unsigned char start_ ## NAME, end_ ## NAME; \
add_insns (&start_ ## NAME, &end_ ## NAME - &start_ ## NAME); \
__asm__ ("jmp end_" #NAME "\n" \
"\t" "start_" #NAME ":" \
"\t" INSNS "\n" \
"\t" "end_" #NAME ":"); \
} while (0)

Definition at line 1953 of file linux-x86-low.c.

#define EMIT_ASM32 (   NAME,
  INSNS 
)    EMIT_ASM(NAME,INSNS)
#define I386_LINUX_XSAVE_XCR0_OFFSET   464

Definition at line 1131 of file linux-x86-low.c.

Referenced by x86_linux_read_description().

#define I386_NUM_REGS   (sizeof (i386_regmap) / sizeof (i386_regmap[0]))
#define PTRACE_ARCH_PRCTL   30

Definition at line 129 of file linux-x86-low.c.

Referenced by ps_get_thread_area(), and x86_get_thread_area().

#define PTRACE_GET_THREAD_AREA   25

Definition at line 124 of file linux-x86-low.c.

Referenced by ps_get_thread_area(), and x86_get_thread_area().

#define REGSIZE   4

Definition at line 211 of file linux-x86-low.c.

Referenced by x86_fill_gregset(), and x86_store_gregset().

#define x86_breakpoint_len   1

Definition at line 505 of file linux-x86-low.c.

Function Documentation

static void add_insns ( unsigned char *  start,
int  len 
)
static
static void append_insns ( CORE_ADDR to,
size_t  len,
const unsigned char *  buf 
)
static
static void i386_emit_add ( void  )
static

Definition at line 2594 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_bit_and ( void  )
static

Definition at line 2676 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_bit_not ( void  )
static

Definition at line 2703 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_bit_or ( void  )
static

Definition at line 2685 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_bit_xor ( void  )
static

Definition at line 2694 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_call ( CORE_ADDR  fn)
static
static void i386_emit_const ( LONGEST  num)
static

Definition at line 2839 of file linux-x86-low.c.

References append_insns(), and current_insn_ptr.

static void i386_emit_epilogue ( void  )
static

Definition at line 2581 of file linux-x86-low.c.

References EMIT_ASM32.

void i386_emit_eq_goto ( int *  offset_p,
int *  size_p 
)

Definition at line 3041 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_equal ( void  )
static

Definition at line 2711 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_ext ( int  arg)
static

Definition at line 2637 of file linux-x86-low.c.

References EMIT_ASM32, and emit_error.

void i386_emit_ge_goto ( int *  offset_p,
int *  size_p 
)

Definition at line 3170 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_goto ( int *  offset_p,
int *  size_p 
)
static

Definition at line 2810 of file linux-x86-low.c.

References EMIT_ASM32.

void i386_emit_gt_goto ( int *  offset_p,
int *  size_p 
)

Definition at line 3144 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_if_goto ( int *  offset_p,
int *  size_p 
)
static

Definition at line 2792 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_int_call_1 ( CORE_ADDR  fn,
int  arg1 
)
static

Definition at line 2978 of file linux-x86-low.c.

References append_insns(), current_insn_ptr, EMIT_ASM32, and i386_emit_call().

void i386_emit_le_goto ( int *  offset_p,
int *  size_p 
)

Definition at line 3118 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_less_signed ( void  )
static

Definition at line 2729 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_less_unsigned ( void  )
static

Definition at line 2748 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_log_not ( void  )
static

Definition at line 2665 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_lsh ( void  )
static

Definition at line 2619 of file linux-x86-low.c.

References emit_error.

void i386_emit_lt_goto ( int *  offset_p,
int *  size_p 
)

Definition at line 3092 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_mul ( void  )
static

Definition at line 2613 of file linux-x86-low.c.

References emit_error.

void i386_emit_ne_goto ( int *  offset_p,
int *  size_p 
)

Definition at line 3066 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_pop ( void  )
static

Definition at line 2908 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_prologue ( void  )
static

Definition at line 2570 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_ref ( int  size)
static

Definition at line 2767 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_reg ( int  reg)
static
static void i386_emit_rsh_signed ( void  )
static

Definition at line 2625 of file linux-x86-low.c.

References emit_error.

static void i386_emit_rsh_unsigned ( void  )
static

Definition at line 2631 of file linux-x86-low.c.

References emit_error.

static void i386_emit_stack_adjust ( int  n)
static

Definition at line 2960 of file linux-x86-low.c.

References append_insns(), and current_insn_ptr.

static void i386_emit_stack_flush ( void  )
static

Definition at line 2916 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_sub ( void  )
static

Definition at line 2603 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_swap ( void  )
static

Definition at line 2948 of file linux-x86-low.c.

References EMIT_ASM32.

static void i386_emit_void_call_2 ( CORE_ADDR  fn,
int  arg1 
)
static

Definition at line 3006 of file linux-x86-low.c.

References append_insns(), current_insn_ptr, EMIT_ASM32, and i386_emit_call().

static void i386_emit_zero_ext ( int  arg)
static

Definition at line 2924 of file linux-x86-low.c.

References EMIT_ASM32, and emit_error.

static int i386_install_fast_tracepoint_jump_pad ( CORE_ADDR  tpoint,
CORE_ADDR  tpaddr,
CORE_ADDR  collector,
CORE_ADDR  lockaddr,
ULONGEST  orig_size,
CORE_ADDR jump_entry,
CORE_ADDR trampoline,
ULONGEST trampoline_size,
unsigned char *  jjump_pad_insn,
ULONGEST jjump_pad_insn_size,
CORE_ADDR adjusted_insn_addr,
CORE_ADDR adjusted_insn_addr_end,
char *  err 
)
static
static void i386_write_goto_address ( CORE_ADDR  from,
CORE_ADDR  to,
int  size 
)
static

Definition at line 2822 of file linux-x86-low.c.

References emit_error, and write_inferior_memory().

void init_registers_i386_avx512_linux ( void  )
void init_registers_i386_avx_linux ( void  )
void init_registers_i386_linux ( void  )
void init_registers_i386_mmx_linux ( void  )
void init_registers_i386_mpx_linux ( void  )
void initialize_low_arch ( void  )
ps_err_e ps_get_thread_area ( const struct ps_prochandle ph,
lwpid_t  lwpid,
int  idx,
void **  base 
)
static int push_opcode ( unsigned char *  buf,
char *  op 
)
static

Definition at line 1451 of file linux-x86-low.c.

Referenced by i386_install_fast_tracepoint_jump_pad().

static int same_process_callback ( struct inferior_list_entry entry,
void *  data 
)
static

Definition at line 1316 of file linux-x86-low.c.

References inferior_list_entry::id, and ptid_get_pid().

Referenced by x86_arch_setup_process_callback().

static void x86_arch_setup ( void  )
static
static void x86_arch_setup_process_callback ( struct inferior_list_entry entry)
static
static int x86_breakpoint_at ( CORE_ADDR  pc)
static

Definition at line 508 of file linux-x86-low.c.

References target_ops::read_memory, and the_target.

static int x86_cannot_fetch_register ( int  regno)
static

Definition at line 333 of file linux-x86-low.c.

References I386_NUM_REGS.

static int x86_cannot_store_register ( int  regno)
static

Definition at line 322 of file linux-x86-low.c.

References I386_NUM_REGS.

struct x86_debug_reg_state* x86_debug_reg_state ( pid_t  pid)
static struct emit_ops* x86_emit_ops ( void  )
static

Definition at line 3238 of file linux-x86-low.c.

References i386_emit_ops.

static void x86_fill_fpregset ( struct regcache regcache,
void *  buf 
)
static

Definition at line 392 of file linux-x86-low.c.

References i387_cache_to_fsave(), and i387_cache_to_fxsave().

static void x86_fill_fpxregset ( struct regcache regcache,
void *  buf 
)
static

Definition at line 414 of file linux-x86-low.c.

References i387_cache_to_fxsave().

static void x86_fill_gregset ( struct regcache regcache,
void *  buf 
)
static
static void x86_fill_xstateregset ( struct regcache regcache,
void *  buf 
)
static

Definition at line 428 of file linux-x86-low.c.

References i387_cache_to_xsave().

static int x86_get_min_fast_tracepoint_insn_len ( void  )
static
static CORE_ADDR x86_get_pc ( struct regcache regcache)
static

Definition at line 469 of file linux-x86-low.c.

References collect_register_by_name(), register_size(), and regcache::tdesc.

static int x86_get_thread_area ( int  lwpid,
CORE_ADDR addr 
)
static
static int x86_insert_point ( enum raw_bkpt_type  type,
CORE_ADDR  addr,
int  size,
struct raw_breakpoint bp 
)
static
static int x86_install_fast_tracepoint_jump_pad ( CORE_ADDR  tpoint,
CORE_ADDR  tpaddr,
CORE_ADDR  collector,
CORE_ADDR  lockaddr,
ULONGEST  orig_size,
CORE_ADDR jump_entry,
CORE_ADDR trampoline,
ULONGEST trampoline_size,
unsigned char *  jjump_pad_insn,
ULONGEST jjump_pad_insn_size,
CORE_ADDR adjusted_insn_addr,
CORE_ADDR adjusted_insn_addr_end,
char *  err 
)
static

Definition at line 1850 of file linux-x86-low.c.

References i386_install_fast_tracepoint_jump_pad().

static void x86_linux_new_fork ( struct process_info parent,
struct process_info child 
)
static
static struct arch_process_info* x86_linux_new_process ( void  )
static

Definition at line 619 of file linux-x86-low.c.

References arch_process_info::debug_reg_state, and x86_low_init_dregs().

static void x86_linux_process_qsupported ( const char *  query)
static

Definition at line 1361 of file linux-x86-low.c.

References startswith(), x86_linux_update_xmltarget(), and xstrdup().

static const struct target_desc* x86_linux_read_description ( void  )
static
const struct regs_info* x86_linux_regs_info ( void  )

Definition at line 1418 of file linux-x86-low.c.

References i386_linux_regs_info.

static void x86_linux_update_xmltarget ( void  )
static
static int x86_remove_point ( enum raw_bkpt_type  type,
CORE_ADDR  addr,
int  size,
struct raw_breakpoint bp 
)
static
static void x86_set_pc ( struct regcache regcache,
CORE_ADDR  pc 
)
static

Definition at line 488 of file linux-x86-low.c.

References register_size(), supply_register_by_name(), and regcache::tdesc.

static int x86_siginfo_fixup ( siginfo_t *  native,
void *  inf,
int  direction 
)
static

Definition at line 1072 of file linux-x86-low.c.

References current_thread, gdb_assert, linux_pid_exe_is_elf_64_file(), and lwpid_of.

static int x86_stopped_by_watchpoint ( void  )
static
static CORE_ADDR x86_stopped_data_address ( void  )
static
static void x86_store_fpregset ( struct regcache regcache,
const void *  buf 
)
static

Definition at line 402 of file linux-x86-low.c.

References i387_fsave_to_cache(), and i387_fxsave_to_cache().

static void x86_store_fpxregset ( struct regcache regcache,
const void *  buf 
)
static

Definition at line 420 of file linux-x86-low.c.

References i387_fxsave_to_cache().

static void x86_store_gregset ( struct regcache regcache,
const void *  buf 
)
static
static void x86_store_xstateregset ( struct regcache regcache,
const void *  buf 
)
static

Definition at line 434 of file linux-x86-low.c.

References i387_xsave_to_cache().

static int x86_supports_range_stepping ( void  )
static

Definition at line 3249 of file linux-x86-low.c.

static int x86_supports_tracepoints ( void  )
static

Definition at line 1438 of file linux-x86-low.c.

static int x86_supports_z_point_type ( char  z_type)
static

Definition at line 533 of file linux-x86-low.c.

References Z_PACKET_ACCESS_WP, Z_PACKET_HW_BP, Z_PACKET_SW_BP, and Z_PACKET_WRITE_WP.

Variable Documentation

int have_ptrace_getfpxregs
Initial value:
=
0

Definition at line 1136 of file linux-x86-low.c.

int have_ptrace_getregset = -1
static

Definition at line 1145 of file linux-x86-low.c.

struct emit_ops i386_emit_ops

Definition at line 3195 of file linux-x86-low.c.

Referenced by x86_emit_ops().

struct regs_info i386_linux_regs_info
static
Initial value:
=
{
NULL,
}
static struct regsets_info x86_regsets_info
static struct usrregs_info i386_linux_usrregs_info

Definition at line 1410 of file linux-x86-low.c.

Referenced by x86_linux_regs_info().

struct usrregs_info i386_linux_usrregs_info
static
Initial value:
=
{
}
#define I386_NUM_REGS
static int i386_regmap[]

Definition at line 1404 of file linux-x86-low.c.

int i386_regmap[]
static
Initial value:
=
{
EAX * 4, ECX * 4, EDX * 4, EBX * 4,
UESP * 4, EBP * 4, ESI * 4, EDI * 4,
EIP * 4, EFL * 4, CS * 4, SS * 4,
DS * 4, ES * 4, FS * 4, GS * 4
}

Definition at line 201 of file linux-x86-low.c.

Referenced by x86_fill_gregset(), and x86_store_gregset().

unsigned char jump_insn[] = { 0xe9, 0, 0, 0, 0 }
static

Definition at line 101 of file linux-x86-low.c.

Referenced by i386_install_fast_tracepoint_jump_pad().

unsigned char small_jump_insn[] = { 0x66, 0xe9, 0, 0 }
static

Definition at line 102 of file linux-x86-low.c.

Referenced by i386_install_fast_tracepoint_jump_pad().

const struct target_desc* tdesc_i386_avx512_linux

Definition at line 105 of file i386-avx512-linux.c.

Referenced by x86_linux_read_description().

const struct target_desc* tdesc_i386_avx_linux

Definition at line 83 of file i386-avx-linux.c.

Referenced by x86_linux_read_description().

const struct target_desc* tdesc_i386_linux

Definition at line 75 of file i386-linux.c.

Referenced by x86_linux_read_description().

struct target_desc* tdesc_i386_linux_no_xml
static

Definition at line 98 of file linux-x86-low.c.

Referenced by x86_linux_read_description().

const struct target_desc* tdesc_i386_mmx_linux

Definition at line 75 of file i386-mmx-linux.c.

Referenced by x86_linux_read_description().

const struct target_desc* tdesc_i386_mpx_linux

Definition at line 89 of file i386-mpx-linux.c.

Referenced by x86_linux_read_description().

struct linux_target_ops the_low_target

Definition at line 3257 of file linux-x86-low.c.

Referenced by x86_arch_setup_process_callback().

int use_xml
static

Definition at line 1110 of file linux-x86-low.c.

const unsigned char x86_breakpoint[] = { 0xCC }
static

Definition at line 504 of file linux-x86-low.c.

struct x86_dr_low_type x86_dr_low
Initial value:
=
{
sizeof (void *),
}
unsigned long x86_linux_dr_get_status(void)
void x86_linux_dr_set_control(unsigned long control)
void x86_linux_dr_set_addr(int regnum, CORE_ADDR addr)
CORE_ADDR x86_linux_dr_get_addr(int regnum)
unsigned long x86_linux_dr_get_control(void)

Definition at line 520 of file linux-x86-low.c.

struct regset_info x86_regsets[]
static
Initial value:
=
{
{ 0, 0, 0, -1, -1, NULL, NULL }
}

Definition at line 446 of file linux-x86-low.c.

Referenced by x86_linux_read_description().

struct regsets_info x86_regsets_info
static
Initial value:
=
{
0,
NULL,
}
static struct regset_info x86_regsets[]

Definition at line 1389 of file linux-x86-low.c.

const char* xmltarget_i386_linux_no_xml
static
Initial value:
= "@<target>\
<architecture>i386</architecture>\
<osabi>GNU/Linux</osabi>\
</target>"

Definition at line 106 of file linux-x86-low.c.

Referenced by initialize_low_arch().