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

Go to the source code of this file.

Macros

#define AMD64OBSD_UTHREAD_RSP_OFFSET   400
 
#define amd64obsd_tf_reg_offset   amd64obsd_sc_reg_offset
 

Functions

static int amd64obsd_sigtramp_p (frame_info_ptr this_frame)
 
static CORE_ADDR amd64obsd_sigcontext_addr (frame_info_ptr this_frame)
 
static void amd64obsd_supply_uthread (struct regcache *regcache, int regnum, CORE_ADDR addr)
 
static void amd64obsd_collect_uthread (const struct regcache *regcache, int regnum, CORE_ADDR addr)
 
static struct trad_frame_cacheamd64obsd_trapframe_cache (frame_info_ptr this_frame, void **this_cache)
 
static void amd64obsd_trapframe_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valueamd64obsd_trapframe_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum)
 
static int amd64obsd_trapframe_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)
 
static void amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_amd64obsd_tdep ()
 

Variables

static const int amd64obsd_page_size = 4096
 
int amd64obsd_r_reg_offset []
 
static int amd64obsd_sc_reg_offset []
 
static int amd64obsd_uthread_reg_offset []
 
static const struct frame_unwind amd64obsd_trapframe_unwind
 

Macro Definition Documentation

◆ amd64obsd_tf_reg_offset

#define amd64obsd_tf_reg_offset   amd64obsd_sc_reg_offset

Definition at line 315 of file amd64-obsd-tdep.c.

Referenced by amd64obsd_trapframe_cache().

◆ AMD64OBSD_UTHREAD_RSP_OFFSET

#define AMD64OBSD_UTHREAD_RSP_OFFSET   400

Definition at line 218 of file amd64-obsd-tdep.c.

Referenced by amd64obsd_collect_uthread(), and amd64obsd_supply_uthread().

Function Documentation

◆ _initialize_amd64obsd_tdep()

void _initialize_amd64obsd_tdep ( )

◆ amd64obsd_collect_uthread()

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

◆ amd64obsd_init_abi()

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

◆ amd64obsd_sigcontext_addr()

static CORE_ADDR amd64obsd_sigcontext_addr ( frame_info_ptr this_frame)
static

◆ amd64obsd_sigtramp_p()

static int amd64obsd_sigtramp_p ( frame_info_ptr this_frame)
static

◆ amd64obsd_supply_uthread()

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

◆ amd64obsd_trapframe_cache()

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

◆ amd64obsd_trapframe_prev_register()

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

◆ amd64obsd_trapframe_sniffer()

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

◆ amd64obsd_trapframe_this_id()

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

Variable Documentation

◆ amd64obsd_page_size

const int amd64obsd_page_size = 4096
static

Definition at line 42 of file amd64-obsd-tdep.c.

Referenced by amd64obsd_sigcontext_addr(), and amd64obsd_sigtramp_p().

◆ amd64obsd_r_reg_offset

int amd64obsd_r_reg_offset[]
Initial value:
=
{
14 * 8,
13 * 8,
3 * 8,
2 * 8,
1 * 8,
0 * 8,
12 * 8,
15 * 8,
4 * 8,
5 * 8,
6 * 8,
7 * 8,
8 * 8,
9 * 8,
10 * 8,
11 * 8,
16 * 8,
17 * 8,
18 * 8,
19 * 8,
20 * 8,
21 * 8,
22 * 8,
23 * 8
}

Definition at line 130 of file amd64-obsd-tdep.c.

Referenced by _initialize_amd64obsd_nat(), _initialize_amd64obsd_tdep(), and amd64obsd_init_abi().

◆ amd64obsd_sc_reg_offset

int amd64obsd_sc_reg_offset[]
static
Initial value:
=
{
14 * 8,
13 * 8,
3 * 8,
2 * 8,
1 * 8,
0 * 8,
12 * 8,
24 * 8,
4 * 8,
5 * 8,
6 * 8,
7 * 8,
8 * 8,
9 * 8,
10 * 8,
11 * 8,
21 * 8,
23 * 8,
22 * 8,
25 * 8,
18 * 8,
17 * 8,
16 * 8,
15 * 8
}

Definition at line 159 of file amd64-obsd-tdep.c.

Referenced by amd64obsd_init_abi().

◆ amd64obsd_trapframe_unwind

const struct frame_unwind amd64obsd_trapframe_unwind
static
Initial value:
=
{
"amd64 openbsd trap",
NULL,
}
static struct value * amd64obsd_trapframe_prev_register(frame_info_ptr this_frame, void **this_cache, int regnum)
static int amd64obsd_trapframe_sniffer(const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache)
static void amd64obsd_trapframe_this_id(frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id)
enum unwind_stop_reason default_frame_unwind_stop_reason(frame_info_ptr this_frame, void **this_cache)
@ NORMAL_FRAME
Definition frame.h:187

Definition at line 405 of file amd64-obsd-tdep.c.

Referenced by amd64obsd_init_abi().

◆ amd64obsd_uthread_reg_offset

int amd64obsd_uthread_reg_offset[]
static
Initial value:
=
{
19 * 8,
16 * 8,
18 * 8,
17 * 8,
14 * 8,
13 * 8,
15 * 8,
-1,
12 * 8,
11 * 8,
10 * 8,
9 * 8,
8 * 8,
7 * 8,
6 * 8,
5 * 8,
20 * 8,
4 * 8,
21 * 8,
-1,
3 * 8,
2 * 8,
1 * 8,
0 * 8
}

Definition at line 188 of file amd64-obsd-tdep.c.

Referenced by amd64obsd_collect_uthread(), and amd64obsd_supply_uthread().