Commit f02cf199 authored by Mikio Hara's avatar Mikio Hara

runtime: regenerate defs-files for freebsd

R=minux.ma, jsing
CC=golang-dev
https://golang.org/cl/6855080
parent 62f54e12
......@@ -107,7 +107,6 @@ type Rtprio C.struct_rtprio
type ThrParam C.struct_thr_param
type Sigaltstack C.struct_sigaltstack
type Sigset C.struct___sigset
type Sigval C.union_sigval
type StackT C.stack_t
type Siginfo C.siginfo_t
......
// godefs -f -m32 defs.c
// Created by cgo -cdefs - DO NOT EDIT
// cgo -cdefs defs_freebsd.go
// MACHINE GENERATED - DO NOT EDIT.
// Constants
enum {
PROT_NONE = 0,
PROT_READ = 0x1,
PROT_WRITE = 0x2,
PROT_EXEC = 0x4,
MAP_ANON = 0x1000,
MAP_PRIVATE = 0x2,
MAP_FIXED = 0x10,
MADV_FREE = 0x5,
SA_SIGINFO = 0x40,
SA_RESTART = 0x2,
SA_ONSTACK = 0x1,
UMTX_OP_WAIT = 0x2,
UMTX_OP_WAKE = 0x3,
EINTR = 0x4,
SIGHUP = 0x1,
SIGINT = 0x2,
SIGQUIT = 0x3,
SIGILL = 0x4,
SIGTRAP = 0x5,
SIGABRT = 0x6,
SIGEMT = 0x7,
SIGFPE = 0x8,
SIGKILL = 0x9,
SIGBUS = 0xa,
SIGSEGV = 0xb,
SIGSYS = 0xc,
SIGPIPE = 0xd,
SIGALRM = 0xe,
SIGTERM = 0xf,
SIGURG = 0x10,
SIGSTOP = 0x11,
SIGTSTP = 0x12,
SIGCONT = 0x13,
SIGCHLD = 0x14,
SIGTTIN = 0x15,
SIGTTOU = 0x16,
SIGIO = 0x17,
SIGXCPU = 0x18,
SIGXFSZ = 0x19,
SIGVTALRM = 0x1a,
SIGPROF = 0x1b,
SIGWINCH = 0x1c,
SIGINFO = 0x1d,
SIGUSR1 = 0x1e,
SIGUSR2 = 0x1f,
FPE_INTDIV = 0x2,
FPE_INTOVF = 0x1,
FPE_FLTDIV = 0x3,
FPE_FLTOVF = 0x4,
FPE_FLTUND = 0x5,
FPE_FLTRES = 0x6,
FPE_FLTINV = 0x7,
FPE_FLTSUB = 0x8,
BUS_ADRALN = 0x1,
BUS_ADRERR = 0x2,
BUS_OBJERR = 0x3,
SEGV_MAPERR = 0x1,
SEGV_ACCERR = 0x2,
ITIMER_REAL = 0,
ITIMER_VIRTUAL = 0x1,
ITIMER_PROF = 0x2,
PROT_NONE = 0x0,
PROT_READ = 0x1,
PROT_WRITE = 0x2,
PROT_EXEC = 0x4,
MAP_ANON = 0x1000,
MAP_PRIVATE = 0x2,
MAP_FIXED = 0x10,
MADV_FREE = 0x5,
SA_SIGINFO = 0x40,
SA_RESTART = 0x2,
SA_ONSTACK = 0x1,
UMTX_OP_WAIT = 0x2,
UMTX_OP_WAKE = 0x3,
EINTR = 0x4,
SIGHUP = 0x1,
SIGINT = 0x2,
SIGQUIT = 0x3,
SIGILL = 0x4,
SIGTRAP = 0x5,
SIGABRT = 0x6,
SIGEMT = 0x7,
SIGFPE = 0x8,
SIGKILL = 0x9,
SIGBUS = 0xa,
SIGSEGV = 0xb,
SIGSYS = 0xc,
SIGPIPE = 0xd,
SIGALRM = 0xe,
SIGTERM = 0xf,
SIGURG = 0x10,
SIGSTOP = 0x11,
SIGTSTP = 0x12,
SIGCONT = 0x13,
SIGCHLD = 0x14,
SIGTTIN = 0x15,
SIGTTOU = 0x16,
SIGIO = 0x17,
SIGXCPU = 0x18,
SIGXFSZ = 0x19,
SIGVTALRM = 0x1a,
SIGPROF = 0x1b,
SIGWINCH = 0x1c,
SIGINFO = 0x1d,
SIGUSR1 = 0x1e,
SIGUSR2 = 0x1f,
FPE_INTDIV = 0x2,
FPE_INTOVF = 0x1,
FPE_FLTDIV = 0x3,
FPE_FLTOVF = 0x4,
FPE_FLTUND = 0x5,
FPE_FLTRES = 0x6,
FPE_FLTINV = 0x7,
FPE_FLTSUB = 0x8,
BUS_ADRALN = 0x1,
BUS_ADRERR = 0x2,
BUS_OBJERR = 0x3,
SEGV_MAPERR = 0x1,
SEGV_ACCERR = 0x2,
ITIMER_REAL = 0x0,
ITIMER_VIRTUAL = 0x1,
ITIMER_PROF = 0x2,
};
// Types
typedef struct Rtprio Rtprio;
typedef struct ThrParam ThrParam;
typedef struct Sigaltstack Sigaltstack;
typedef struct Sigset Sigset;
typedef struct StackT StackT;
typedef struct Siginfo Siginfo;
typedef struct Mcontext Mcontext;
typedef struct Ucontext Ucontext;
typedef struct Timespec Timespec;
typedef struct Timeval Timeval;
typedef struct Itimerval Itimerval;
#pragma pack on
typedef struct Rtprio Rtprio;
struct Rtprio {
uint16 type;
uint16 prio;
uint16 type;
uint16 prio;
};
typedef struct ThrParam ThrParam;
struct ThrParam {
void *start_func;
void *arg;
int8 *stack_base;
uint32 stack_size;
int8 *tls_base;
uint32 tls_size;
int32 *child_tid;
int32 *parent_tid;
int32 flags;
Rtprio *rtp;
void* spare[3];
void *start_func;
byte *arg;
int8 *stack_base;
uint32 stack_size;
int8 *tls_base;
uint32 tls_size;
int32 *child_tid;
int32 *parent_tid;
int32 flags;
Rtprio *rtp;
void *spare[3];
};
typedef struct Sigaltstack Sigaltstack;
struct Sigaltstack {
int8 *ss_sp;
uint32 ss_size;
int32 ss_flags;
int8 *ss_sp;
uint32 ss_size;
int32 ss_flags;
};
typedef struct Sigset Sigset;
struct Sigset {
uint32 __bits[4];
};
typedef union Sigval Sigval;
union Sigval {
int32 sival_int;
void *sival_ptr;
int32 sigval_int;
void *sigval_ptr;
uint32 __bits[4];
};
typedef struct StackT StackT;
struct StackT {
int8 *ss_sp;
uint32 ss_size;
int32 ss_flags;
int8 *ss_sp;
uint32 ss_size;
int32 ss_flags;
};
typedef struct Siginfo Siginfo;
struct Siginfo {
int32 si_signo;
int32 si_errno;
int32 si_code;
int32 si_pid;
uint32 si_uid;
int32 si_status;
void *si_addr;
Sigval si_value;
byte _reason[32];
int32 si_signo;
int32 si_errno;
int32 si_code;
int32 si_pid;
uint32 si_uid;
int32 si_status;
byte *si_addr;
byte si_value[4];
byte _reason[32];
};
typedef struct Mcontext Mcontext;
struct Mcontext {
int32 mc_onstack;
int32 mc_gs;
int32 mc_fs;
int32 mc_es;
int32 mc_ds;
int32 mc_edi;
int32 mc_esi;
int32 mc_ebp;
int32 mc_isp;
int32 mc_ebx;
int32 mc_edx;
int32 mc_ecx;
int32 mc_eax;
int32 mc_trapno;
int32 mc_err;
int32 mc_eip;
int32 mc_cs;
int32 mc_eflags;
int32 mc_esp;
int32 mc_ss;
int32 mc_len;
int32 mc_fpformat;
int32 mc_ownedfp;
int32 mc_spare1[1];
int32 mc_fpstate[128];
int32 mc_fsbase;
int32 mc_gsbase;
int32 mc_spare2[6];
int32 mc_onstack;
int32 mc_gs;
int32 mc_fs;
int32 mc_es;
int32 mc_ds;
int32 mc_edi;
int32 mc_esi;
int32 mc_ebp;
int32 mc_isp;
int32 mc_ebx;
int32 mc_edx;
int32 mc_ecx;
int32 mc_eax;
int32 mc_trapno;
int32 mc_err;
int32 mc_eip;
int32 mc_cs;
int32 mc_eflags;
int32 mc_esp;
int32 mc_ss;
int32 mc_len;
int32 mc_fpformat;
int32 mc_ownedfp;
int32 mc_spare1[1];
int32 mc_fpstate[128];
int32 mc_fsbase;
int32 mc_gsbase;
int32 mc_spare2[6];
};
typedef struct Ucontext Ucontext;
struct Ucontext {
Sigset uc_sigmask;
Mcontext uc_mcontext;
Ucontext *uc_link;
StackT uc_stack;
int32 uc_flags;
int32 __spare__[4];
byte pad_godefs_0[12];
Sigset uc_sigmask;
Mcontext uc_mcontext;
Ucontext *uc_link;
StackT uc_stack;
int32 uc_flags;
int32 __spare__[4];
byte Pad_cgo_0[12];
};
typedef struct Timespec Timespec;
struct Timespec {
int32 tv_sec;
int32 tv_nsec;
int32 tv_sec;
int32 tv_nsec;
};
typedef struct Timeval Timeval;
struct Timeval {
int32 tv_sec;
int32 tv_usec;
int32 tv_sec;
int32 tv_usec;
};
typedef struct Itimerval Itimerval;
struct Itimerval {
Timeval it_interval;
Timeval it_value;
Timeval it_interval;
Timeval it_value;
};
#pragma pack off
// godefs -f -m64 defs.c
// Created by cgo -cdefs - DO NOT EDIT
// cgo -cdefs defs_freebsd.go
// MACHINE GENERATED - DO NOT EDIT.
// Constants
enum {
PROT_NONE = 0,
PROT_READ = 0x1,
PROT_WRITE = 0x2,
PROT_EXEC = 0x4,
MAP_ANON = 0x1000,
MAP_PRIVATE = 0x2,
MAP_FIXED = 0x10,
MADV_FREE = 0x5,
SA_SIGINFO = 0x40,
SA_RESTART = 0x2,
SA_ONSTACK = 0x1,
UMTX_OP_WAIT = 0x2,
UMTX_OP_WAKE = 0x3,
EINTR = 0x4,
SIGHUP = 0x1,
SIGINT = 0x2,
SIGQUIT = 0x3,
SIGILL = 0x4,
SIGTRAP = 0x5,
SIGABRT = 0x6,
SIGEMT = 0x7,
SIGFPE = 0x8,
SIGKILL = 0x9,
SIGBUS = 0xa,
SIGSEGV = 0xb,
SIGSYS = 0xc,
SIGPIPE = 0xd,
SIGALRM = 0xe,
SIGTERM = 0xf,
SIGURG = 0x10,
SIGSTOP = 0x11,
SIGTSTP = 0x12,
SIGCONT = 0x13,
SIGCHLD = 0x14,
SIGTTIN = 0x15,
SIGTTOU = 0x16,
SIGIO = 0x17,
SIGXCPU = 0x18,
SIGXFSZ = 0x19,
SIGVTALRM = 0x1a,
SIGPROF = 0x1b,
SIGWINCH = 0x1c,
SIGINFO = 0x1d,
SIGUSR1 = 0x1e,
SIGUSR2 = 0x1f,
FPE_INTDIV = 0x2,
FPE_INTOVF = 0x1,
FPE_FLTDIV = 0x3,
FPE_FLTOVF = 0x4,
FPE_FLTUND = 0x5,
FPE_FLTRES = 0x6,
FPE_FLTINV = 0x7,
FPE_FLTSUB = 0x8,
BUS_ADRALN = 0x1,
BUS_ADRERR = 0x2,
BUS_OBJERR = 0x3,
SEGV_MAPERR = 0x1,
SEGV_ACCERR = 0x2,
ITIMER_REAL = 0,
ITIMER_VIRTUAL = 0x1,
ITIMER_PROF = 0x2,
PROT_NONE = 0x0,
PROT_READ = 0x1,
PROT_WRITE = 0x2,
PROT_EXEC = 0x4,
MAP_ANON = 0x1000,
MAP_PRIVATE = 0x2,
MAP_FIXED = 0x10,
MADV_FREE = 0x5,
SA_SIGINFO = 0x40,
SA_RESTART = 0x2,
SA_ONSTACK = 0x1,
UMTX_OP_WAIT = 0x2,
UMTX_OP_WAKE = 0x3,
EINTR = 0x4,
SIGHUP = 0x1,
SIGINT = 0x2,
SIGQUIT = 0x3,
SIGILL = 0x4,
SIGTRAP = 0x5,
SIGABRT = 0x6,
SIGEMT = 0x7,
SIGFPE = 0x8,
SIGKILL = 0x9,
SIGBUS = 0xa,
SIGSEGV = 0xb,
SIGSYS = 0xc,
SIGPIPE = 0xd,
SIGALRM = 0xe,
SIGTERM = 0xf,
SIGURG = 0x10,
SIGSTOP = 0x11,
SIGTSTP = 0x12,
SIGCONT = 0x13,
SIGCHLD = 0x14,
SIGTTIN = 0x15,
SIGTTOU = 0x16,
SIGIO = 0x17,
SIGXCPU = 0x18,
SIGXFSZ = 0x19,
SIGVTALRM = 0x1a,
SIGPROF = 0x1b,
SIGWINCH = 0x1c,
SIGINFO = 0x1d,
SIGUSR1 = 0x1e,
SIGUSR2 = 0x1f,
FPE_INTDIV = 0x2,
FPE_INTOVF = 0x1,
FPE_FLTDIV = 0x3,
FPE_FLTOVF = 0x4,
FPE_FLTUND = 0x5,
FPE_FLTRES = 0x6,
FPE_FLTINV = 0x7,
FPE_FLTSUB = 0x8,
BUS_ADRALN = 0x1,
BUS_ADRERR = 0x2,
BUS_OBJERR = 0x3,
SEGV_MAPERR = 0x1,
SEGV_ACCERR = 0x2,
ITIMER_REAL = 0x0,
ITIMER_VIRTUAL = 0x1,
ITIMER_PROF = 0x2,
};
// Types
typedef struct Rtprio Rtprio;
typedef struct ThrParam ThrParam;
typedef struct Sigaltstack Sigaltstack;
typedef struct Sigset Sigset;
typedef struct StackT StackT;
typedef struct Siginfo Siginfo;
typedef struct Mcontext Mcontext;
typedef struct Ucontext Ucontext;
typedef struct Timespec Timespec;
typedef struct Timeval Timeval;
typedef struct Itimerval Itimerval;
#pragma pack on
typedef struct Rtprio Rtprio;
struct Rtprio {
uint16 type;
uint16 prio;
uint16 type;
uint16 prio;
};
typedef struct ThrParam ThrParam;
struct ThrParam {
void *start_func;
void *arg;
int8 *stack_base;
uint64 stack_size;
int8 *tls_base;
uint64 tls_size;
int64 *child_tid;
int64 *parent_tid;
int32 flags;
byte pad_godefs_0[4];
Rtprio *rtp;
void* spare[3];
void *start_func;
byte *arg;
int8 *stack_base;
uint64 stack_size;
int8 *tls_base;
uint64 tls_size;
int64 *child_tid;
int64 *parent_tid;
int32 flags;
byte Pad_cgo_0[4];
Rtprio *rtp;
void *spare[3];
};
typedef struct Sigaltstack Sigaltstack;
struct Sigaltstack {
int8 *ss_sp;
uint64 ss_size;
int32 ss_flags;
byte pad_godefs_0[4];
int8 *ss_sp;
uint64 ss_size;
int32 ss_flags;
byte Pad_cgo_0[4];
};
typedef struct Sigset Sigset;
struct Sigset {
uint32 __bits[4];
};
typedef union Sigval Sigval;
union Sigval {
int32 sival_int;
void *sival_ptr;
int32 sigval_int;
void *sigval_ptr;
uint32 __bits[4];
};
typedef struct StackT StackT;
struct StackT {
int8 *ss_sp;
uint64 ss_size;
int32 ss_flags;
byte pad_godefs_0[4];
int8 *ss_sp;
uint64 ss_size;
int32 ss_flags;
byte Pad_cgo_0[4];
};
typedef struct Siginfo Siginfo;
struct Siginfo {
int32 si_signo;
int32 si_errno;
int32 si_code;
int32 si_pid;
uint32 si_uid;
int32 si_status;
void *si_addr;
Sigval si_value;
byte _reason[40];
int32 si_signo;
int32 si_errno;
int32 si_code;
int32 si_pid;
uint32 si_uid;
int32 si_status;
byte *si_addr;
byte si_value[8];
byte _reason[40];
};
typedef struct Mcontext Mcontext;
struct Mcontext {
int64 mc_onstack;
int64 mc_rdi;
int64 mc_rsi;
int64 mc_rdx;
int64 mc_rcx;
int64 mc_r8;
int64 mc_r9;
int64 mc_rax;
int64 mc_rbx;
int64 mc_rbp;
int64 mc_r10;
int64 mc_r11;
int64 mc_r12;
int64 mc_r13;
int64 mc_r14;
int64 mc_r15;
uint32 mc_trapno;
uint16 mc_fs;
uint16 mc_gs;
int64 mc_addr;
uint32 mc_flags;
uint16 mc_es;
uint16 mc_ds;
int64 mc_err;
int64 mc_rip;
int64 mc_cs;
int64 mc_rflags;
int64 mc_rsp;
int64 mc_ss;
int64 mc_len;
int64 mc_fpformat;
int64 mc_ownedfp;
int64 mc_fpstate[64];
int64 mc_fsbase;
int64 mc_gsbase;
int64 mc_spare[6];
int64 mc_onstack;
int64 mc_rdi;
int64 mc_rsi;
int64 mc_rdx;
int64 mc_rcx;
int64 mc_r8;
int64 mc_r9;
int64 mc_rax;
int64 mc_rbx;
int64 mc_rbp;
int64 mc_r10;
int64 mc_r11;
int64 mc_r12;
int64 mc_r13;
int64 mc_r14;
int64 mc_r15;
uint32 mc_trapno;
uint16 mc_fs;
uint16 mc_gs;
int64 mc_addr;
uint32 mc_flags;
uint16 mc_es;
uint16 mc_ds;
int64 mc_err;
int64 mc_rip;
int64 mc_cs;
int64 mc_rflags;
int64 mc_rsp;
int64 mc_ss;
int64 mc_len;
int64 mc_fpformat;
int64 mc_ownedfp;
int64 mc_fpstate[64];
int64 mc_fsbase;
int64 mc_gsbase;
int64 mc_spare[6];
};
typedef struct Ucontext Ucontext;
struct Ucontext {
Sigset uc_sigmask;
Mcontext uc_mcontext;
Ucontext *uc_link;
StackT uc_stack;
int32 uc_flags;
int32 __spare__[4];
byte pad_godefs_0[12];
Sigset uc_sigmask;
Mcontext uc_mcontext;
Ucontext *uc_link;
StackT uc_stack;
int32 uc_flags;
int32 __spare__[4];
byte Pad_cgo_0[12];
};
typedef struct Timespec Timespec;
struct Timespec {
int64 tv_sec;
int64 tv_nsec;
int64 tv_sec;
int64 tv_nsec;
};
typedef struct Timeval Timeval;
struct Timeval {
int64 tv_sec;
int64 tv_usec;
int64 tv_sec;
int64 tv_usec;
};
typedef struct Itimerval Itimerval;
struct Itimerval {
Timeval it_interval;
Timeval it_value;
Timeval it_interval;
Timeval it_value;
};
#pragma pack off
// godefs -f -m32 defs.c
// Created by cgo -cdefs - DO NOT EDIT
// cgo -cdefs defs_freebsd.go
// MACHINE GENERATED - DO NOT EDIT.
// Constants
enum {
PROT_NONE = 0,
PROT_READ = 0x1,
PROT_WRITE = 0x2,
PROT_EXEC = 0x4,
MAP_ANON = 0x1000,
MAP_PRIVATE = 0x2,
MAP_FIXED = 0x10,
MADV_FREE = 0x5,
SA_SIGINFO = 0x40,
SA_RESTART = 0x2,
SA_ONSTACK = 0x1,
UMTX_OP_WAIT = 0x2,
UMTX_OP_WAKE = 0x3,
EINTR = 0x4,
SIGHUP = 0x1,
SIGINT = 0x2,
SIGQUIT = 0x3,
SIGILL = 0x4,
SIGTRAP = 0x5,
SIGABRT = 0x6,
SIGEMT = 0x7,
SIGFPE = 0x8,
SIGKILL = 0x9,
SIGBUS = 0xa,
SIGSEGV = 0xb,
SIGSYS = 0xc,
SIGPIPE = 0xd,
SIGALRM = 0xe,
SIGTERM = 0xf,
SIGURG = 0x10,
SIGSTOP = 0x11,
SIGTSTP = 0x12,
SIGCONT = 0x13,
SIGCHLD = 0x14,
SIGTTIN = 0x15,
SIGTTOU = 0x16,
SIGIO = 0x17,
SIGXCPU = 0x18,
SIGXFSZ = 0x19,
SIGVTALRM = 0x1a,
SIGPROF = 0x1b,
SIGWINCH = 0x1c,
SIGINFO = 0x1d,
SIGUSR1 = 0x1e,
SIGUSR2 = 0x1f,
FPE_INTDIV = 0x2,
FPE_INTOVF = 0x1,
FPE_FLTDIV = 0x3,
FPE_FLTOVF = 0x4,
FPE_FLTUND = 0x5,
FPE_FLTRES = 0x6,
FPE_FLTINV = 0x7,
FPE_FLTSUB = 0x8,
BUS_ADRALN = 0x1,
BUS_ADRERR = 0x2,
BUS_OBJERR = 0x3,
SEGV_MAPERR = 0x1,
SEGV_ACCERR = 0x2,
ITIMER_REAL = 0,
ITIMER_VIRTUAL = 0x1,
ITIMER_PROF = 0x2,
PROT_NONE = 0x0,
PROT_READ = 0x1,
PROT_WRITE = 0x2,
PROT_EXEC = 0x4,
MAP_ANON = 0x1000,
MAP_PRIVATE = 0x2,
MAP_FIXED = 0x10,
MADV_FREE = 0x5,
SA_SIGINFO = 0x40,
SA_RESTART = 0x2,
SA_ONSTACK = 0x1,
UMTX_OP_WAIT = 0x2,
UMTX_OP_WAKE = 0x3,
EINTR = 0x4,
SIGHUP = 0x1,
SIGINT = 0x2,
SIGQUIT = 0x3,
SIGILL = 0x4,
SIGTRAP = 0x5,
SIGABRT = 0x6,
SIGEMT = 0x7,
SIGFPE = 0x8,
SIGKILL = 0x9,
SIGBUS = 0xa,
SIGSEGV = 0xb,
SIGSYS = 0xc,
SIGPIPE = 0xd,
SIGALRM = 0xe,
SIGTERM = 0xf,
SIGURG = 0x10,
SIGSTOP = 0x11,
SIGTSTP = 0x12,
SIGCONT = 0x13,
SIGCHLD = 0x14,
SIGTTIN = 0x15,
SIGTTOU = 0x16,
SIGIO = 0x17,
SIGXCPU = 0x18,
SIGXFSZ = 0x19,
SIGVTALRM = 0x1a,
SIGPROF = 0x1b,
SIGWINCH = 0x1c,
SIGINFO = 0x1d,
SIGUSR1 = 0x1e,
SIGUSR2 = 0x1f,
FPE_INTDIV = 0x2,
FPE_INTOVF = 0x1,
FPE_FLTDIV = 0x3,
FPE_FLTOVF = 0x4,
FPE_FLTUND = 0x5,
FPE_FLTRES = 0x6,
FPE_FLTINV = 0x7,
FPE_FLTSUB = 0x8,
BUS_ADRALN = 0x1,
BUS_ADRERR = 0x2,
BUS_OBJERR = 0x3,
SEGV_MAPERR = 0x1,
SEGV_ACCERR = 0x2,
ITIMER_REAL = 0x0,
ITIMER_VIRTUAL = 0x1,
ITIMER_PROF = 0x2,
};
// Types
typedef struct Rtprio Rtprio;
typedef struct ThrParam ThrParam;
typedef struct Sigaltstack Sigaltstack;
typedef struct Sigset Sigset;
typedef struct StackT StackT;
typedef struct Siginfo Siginfo;
typedef struct Mcontext Mcontext;
typedef struct Ucontext Ucontext;
typedef struct Timespec Timespec;
typedef struct Timeval Timeval;
typedef struct Itimerval Itimerval;
#pragma pack on
typedef struct Rtprio Rtprio;
struct Rtprio {
uint16 type;
uint16 prio;
uint16 type;
uint16 prio;
};
typedef struct ThrParam ThrParam;
struct ThrParam {
void *start_func;
void *arg;
int8 *stack_base;
uint32 stack_size;
int8 *tls_base;
uint32 tls_size;
int32 *child_tid;
int32 *parent_tid;
int32 flags;
Rtprio *rtp;
void* spare[3];
void *start_func;
byte *arg;
uint8 *stack_base;
uint32 stack_size;
uint8 *tls_base;
uint32 tls_size;
int32 *child_tid;
int32 *parent_tid;
int32 flags;
Rtprio *rtp;
void *spare[3];
};
typedef struct Sigaltstack Sigaltstack;
struct Sigaltstack {
int8 *ss_sp;
uint32 ss_size;
int32 ss_flags;
uint8 *ss_sp;
uint32 ss_size;
int32 ss_flags;
};
typedef struct Sigset Sigset;
struct Sigset {
uint32 __bits[4];
};
typedef union Sigval Sigval;
union Sigval {
int32 sival_int;
void *sival_ptr;
int32 sigval_int;
void *sigval_ptr;
uint32 __bits[4];
};
typedef struct StackT StackT;
struct StackT {
int8 *ss_sp;
uint32 ss_size;
int32 ss_flags;
uint8 *ss_sp;
uint32 ss_size;
int32 ss_flags;
};
typedef struct Siginfo Siginfo;
struct Siginfo {
int32 si_signo;
int32 si_errno;
int32 si_code;
int32 si_pid;
uint32 si_uid;
int32 si_status;
void *si_addr;
Sigval si_value;
byte _reason[32];
int32 si_signo;
int32 si_errno;
int32 si_code;
int32 si_pid;
uint32 si_uid;
int32 si_status;
byte *si_addr;
byte si_value[4];
byte _reason[32];
};
typedef struct Mcontext Mcontext;
struct Mcontext {
uint32 r0;
uint32 r1;
uint32 r2;
uint32 r3;
uint32 r4;
uint32 r5;
uint32 r6;
uint32 r7;
uint32 r8;
uint32 r9;
uint32 r10;
uint32 r11;
uint32 r12;
uint32 r13;
uint32 r14;
uint32 r15;
uint32 cpsr;
uint32 _pad[1+33+1]; // union __fpu
uint32 __gregs[17];
byte __fpu[140];
};
typedef struct Ucontext Ucontext;
struct Ucontext {
Sigset uc_sigmask;
Mcontext uc_mcontext;
Ucontext *uc_link;
StackT uc_stack;
int32 uc_flags;
int32 __spare__[4];
byte pad_godefs_0[12];
Sigset uc_sigmask;
Mcontext uc_mcontext;
Ucontext *uc_link;
StackT uc_stack;
int32 uc_flags;
int32 __spare__[4];
};
typedef struct Timespec Timespec;
struct Timespec {
int64 tv_sec; // FreeBSD/ARM uses int64 for time_t
int32 tv_nsec;
int64 tv_sec;
int32 tv_nsec;
};
typedef struct Timeval Timeval;
struct Timeval {
int64 tv_sec; // FreeBSD/ARM uses int64 for time_t
int32 tv_usec;
int64 tv_sec;
int32 tv_usec;
};
typedef struct Itimerval Itimerval;
struct Itimerval {
Timeval it_interval;
Timeval it_value;
Timeval it_interval;
Timeval it_value;
};
#pragma pack off
......@@ -7,6 +7,24 @@
#include "signals_GOOS.h"
#include "os_GOOS.h"
#define r0 __gregs[0]
#define r1 __gregs[1]
#define r2 __gregs[2]
#define r3 __gregs[3]
#define r4 __gregs[4]
#define r5 __gregs[5]
#define r6 __gregs[6]
#define r7 __gregs[7]
#define r8 __gregs[8]
#define r9 __gregs[9]
#define r10 __gregs[10]
#define r11 __gregs[11]
#define r12 __gregs[12]
#define r13 __gregs[13]
#define r14 __gregs[14]
#define r15 __gregs[15]
#define cpsr __gregs[16]
void
runtime·dumpregs(Mcontext *r)
{
......@@ -118,7 +136,7 @@ runtime·signalstack(byte *p, int32 n)
{
Sigaltstack st;
st.ss_sp = (int8*)p;
st.ss_sp = (uint8*)p;
st.ss_size = n;
st.ss_flags = 0;
runtime·sigaltstack(&st, nil);
......
......@@ -94,12 +94,12 @@ runtime·newosproc(M *m, G *g, void *stk, void (*fn)(void))
runtime·memclr((byte*)&param, sizeof param);
param.start_func = runtime·thr_start;
param.arg = m;
param.stack_base = (int8*)g->stackbase;
param.arg = (byte*)m;
param.stack_base = (void*)g->stackbase;
param.stack_size = (byte*)stk - (byte*)g->stackbase;
param.child_tid = (intptr*)&m->procid;
param.parent_tid = nil;
param.tls_base = (int8*)&m->tls[0];
param.tls_base = (void*)&m->tls[0];
param.tls_size = sizeof m->tls;
m->tls[0] = m->id; // so 386 asm can find it
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment