GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Functions | Variables
i386-obsd-tdep.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "frame.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "regcache.h"
#include "regset.h"
#include "symtab.h"
#include "objfiles.h"
#include "osabi.h"
#include "target.h"
#include "trad-frame.h"
#include "obsd-tdep.h"
#include "i386-tdep.h"
#include "i387-tdep.h"
#include "solib-svr4.h"
#include "bsd-uthread.h"

Go to the source code of this file.

Macros

#define I386OBSD_UTHREAD_ESP_OFFSET   176
 

Functions

static int i386obsd_sigtramp_p (frame_info_ptr this_frame)
 
static void i386obsd_supply_uthread (struct regcache *regcache, int regnum, CORE_ADDR addr)
 
static void i386obsd_collect_uthread (const struct regcache *regcache, int regnum, CORE_ADDR addr)
 
static struct trad_frame_cachei386obsd_trapframe_cache (frame_info_ptr this_frame, void **this_cache)
 
static void i386obsd_trapframe_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuei386obsd_trapframe_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum)
 
static int i386obsd_trapframe_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)
 
static void i386obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_i386obsd_tdep ()
 

Variables

static const int i386obsd_page_size = 4096
 
static const int i386obsd_sigreturn_offset []
 
static int i386obsd_r_reg_offset []
 
CORE_ADDR i386obsd_sigtramp_start_addr = 0xbfbfdf20
 
CORE_ADDR i386obsd_sigtramp_end_addr = 0xbfbfdff0
 
int i386obsd_sc_reg_offset [I386_NUM_GREGS]
 
static int i386obsd_uthread_reg_offset []
 
static int i386obsd_tf_reg_offset []
 
static const struct frame_unwind i386obsd_trapframe_unwind
 

Macro Definition Documentation

◆ I386OBSD_UTHREAD_ESP_OFFSET

#define I386OBSD_UTHREAD_ESP_OFFSET   176

Definition at line 187 of file i386-obsd-tdep.c.

Referenced by i386obsd_collect_uthread(), and i386obsd_supply_uthread().

Function Documentation

◆ _initialize_i386obsd_tdep()

void _initialize_i386obsd_tdep ( )

◆ i386obsd_collect_uthread()

static void i386obsd_collect_uthread ( const struct regcache * regcache,
int regnum,
CORE_ADDR addr )
static

◆ i386obsd_init_abi()

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

◆ i386obsd_sigtramp_p()

static int i386obsd_sigtramp_p ( frame_info_ptr this_frame)
static

◆ i386obsd_supply_uthread()

static void i386obsd_supply_uthread ( struct regcache * regcache,
int regnum,
CORE_ADDR addr )
static

◆ i386obsd_trapframe_cache()

static struct trad_frame_cache * i386obsd_trapframe_cache ( frame_info_ptr this_frame,
void ** this_cache )
static

◆ i386obsd_trapframe_prev_register()

static struct value * i386obsd_trapframe_prev_register ( frame_info_ptr this_frame,
void ** this_cache,
int regnum )
static

◆ i386obsd_trapframe_sniffer()

static int i386obsd_trapframe_sniffer ( const struct frame_unwind * self,
frame_info_ptr this_frame,
void ** this_prologue_cache )
static

◆ i386obsd_trapframe_this_id()

static void i386obsd_trapframe_this_id ( frame_info_ptr this_frame,
void ** this_cache,
struct frame_id * this_id )
static

Variable Documentation

◆ i386obsd_page_size

const int i386obsd_page_size = 4096
static

Definition at line 53 of file i386-obsd-tdep.c.

Referenced by i386obsd_sigtramp_p().

◆ i386obsd_r_reg_offset

int i386obsd_r_reg_offset[]
static
Initial value:
=
{
0 * 4,
1 * 4,
2 * 4,
3 * 4,
4 * 4,
5 * 4,
6 * 4,
7 * 4,
8 * 4,
9 * 4,
10 * 4,
11 * 4,
12 * 4,
13 * 4,
14 * 4,
15 * 4
}

Definition at line 117 of file i386-obsd-tdep.c.

Referenced by i386obsd_init_abi().

◆ i386obsd_sc_reg_offset

int i386obsd_sc_reg_offset[I386_NUM_GREGS]
Initial value:
=
{
10 * 4,
9 * 4,
8 * 4,
7 * 4,
14 * 4,
6 * 4,
5 * 4,
4 * 4,
11 * 4,
13 * 4,
12 * 4,
15 * 4,
3 * 4,
2 * 4,
1 * 4,
0 * 4
}

Definition at line 144 of file i386-obsd-tdep.c.

Referenced by i386obsd_init_abi().

◆ i386obsd_sigreturn_offset

const int i386obsd_sigreturn_offset[]
static
Initial value:
= {
0x0a,
0x14,
0x3a,
-1
}

Definition at line 56 of file i386-obsd-tdep.c.

Referenced by i386obsd_sigtramp_p().

◆ i386obsd_sigtramp_end_addr

CORE_ADDR i386obsd_sigtramp_end_addr = 0xbfbfdff0

Definition at line 141 of file i386-obsd-tdep.c.

Referenced by _initialize_i386obsd_nat(), and i386obsd_init_abi().

◆ i386obsd_sigtramp_start_addr

CORE_ADDR i386obsd_sigtramp_start_addr = 0xbfbfdf20

Definition at line 140 of file i386-obsd-tdep.c.

Referenced by _initialize_i386obsd_nat(), and i386obsd_init_abi().

◆ i386obsd_tf_reg_offset

int i386obsd_tf_reg_offset[]
static
Initial value:
=
{
10 * 4,
9 * 4,
8 * 4,
7 * 4,
-1,
6 * 4,
5 * 4,
4 * 4,
13 * 4,
15 * 4,
14 * 4,
-1,
3 * 4,
2 * 4,
0 * 4,
1 * 4
}

Definition at line 285 of file i386-obsd-tdep.c.

Referenced by i386obsd_trapframe_cache().

◆ i386obsd_trapframe_unwind

const struct frame_unwind i386obsd_trapframe_unwind
static
Initial value:
= {
"i386 openbsd trap",
NULL,
}
enum unwind_stop_reason default_frame_unwind_stop_reason(frame_info_ptr this_frame, void **this_cache)
@ NORMAL_FRAME
Definition frame.h:187
static struct value * i386obsd_trapframe_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
static void i386obsd_trapframe_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
static int i386obsd_trapframe_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)

Definition at line 393 of file i386-obsd-tdep.c.

Referenced by i386obsd_init_abi().

◆ i386obsd_uthread_reg_offset

int i386obsd_uthread_reg_offset[]
static
Initial value:
=
{
11 * 4,
10 * 4,
9 * 4,
8 * 4,
-1,
6 * 4,
5 * 4,
4 * 4,
12 * 4,
-1,
13 * 4,
-1,
3 * 4,
2 * 4,
1 * 4,
0 * 4
}

Definition at line 165 of file i386-obsd-tdep.c.

Referenced by i386obsd_collect_uthread(), and i386obsd_supply_uthread().