peilaus alkaen
git://git.musl-libc.org/musl
synced 2025-01-18 23:45:02 +00:00
7019fbe103
previously, only a few archs defined it here. this change makes the presence consistent across all archs, and reduces the amount of header duplication (and potential for future inconsistency) between archs.
38 rivejä
1,1 KiB
C
38 rivejä
1,1 KiB
C
typedef struct user_fpregs_struct {
|
|
uint16_t cwd, swd, ftw, fop;
|
|
uint64_t rip, rdp;
|
|
uint32_t mxcsr, mxcr_mask;
|
|
uint32_t st_space[32], xmm_space[64], padding[24];
|
|
} elf_fpregset_t;
|
|
|
|
struct user_regs_struct {
|
|
unsigned long r15, r14, r13, r12, rbp, rbx, r11, r10, r9, r8;
|
|
unsigned long rax, rcx, rdx, rsi, rdi, orig_rax, rip;
|
|
unsigned long cs, eflags, rsp, ss, fs_base, gs_base, ds, es, fs, gs;
|
|
};
|
|
#define ELF_NGREG 27
|
|
typedef unsigned long long elf_greg_t, elf_gregset_t[ELF_NGREG];
|
|
|
|
struct user {
|
|
struct user_regs_struct regs;
|
|
int u_fpvalid;
|
|
struct user_fpregs_struct i387;
|
|
unsigned long u_tsize;
|
|
unsigned long u_dsize;
|
|
unsigned long u_ssize;
|
|
unsigned long start_code;
|
|
unsigned long start_stack;
|
|
long signal;
|
|
int reserved;
|
|
struct user_regs_struct *u_ar0;
|
|
struct user_fpregs_struct *u_fpstate;
|
|
unsigned long magic;
|
|
char u_comm[32];
|
|
unsigned long u_debugreg[8];
|
|
};
|
|
|
|
#define PAGE_MASK (~(PAGESIZE-1))
|
|
#define NBPG PAGESIZE
|
|
#define UPAGES 1
|
|
#define HOST_TEXT_START_ADDR (u.start_code)
|
|
#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
|