]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: update defs for openbsd
authorJoel Sing <jsing@google.com>
Mon, 16 Apr 2012 16:35:41 +0000 (02:35 +1000)
committerAndrew Gerrand <adg@golang.org>
Mon, 16 Apr 2012 16:35:41 +0000 (02:35 +1000)
Update runtime defs for openbsd. Add struct __tfork, which will be
needed by an upcoming change.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/6007050

src/pkg/runtime/defs_openbsd.go
src/pkg/runtime/defs_openbsd_386.h
src/pkg/runtime/defs_openbsd_amd64.h
src/pkg/runtime/signal_openbsd_386.c
src/pkg/runtime/signal_openbsd_amd64.c

index 47c30cf101fdeb78ead6d39eb49c612c19c0b571..d0be0448063086bfe76492b55f98601bef5f5547 100644 (file)
@@ -7,8 +7,8 @@
 /*
 Input to cgo.
 
-GOARCH=amd64 cgo -cdefs defs.go >amd64/defs.h
-GOARCH=386 cgo -cdefs defs.go >386/defs.h
+GOARCH=amd64 go tool cgo -cdefs defs_openbsd.go >defs_openbsd_amd64.h
+GOARCH=386 go tool cgo -cdefs defs_openbsd.go >defs_openbsd_386.h
 */
 
 package runtime
@@ -93,9 +93,12 @@ const (
        ITIMER_PROF    = C.ITIMER_PROF
 )
 
+type Tfork C.struct___tfork
+
 type Sigaltstack C.struct_sigaltstack
-type Sigset C.sigset_t
+type Sigcontext C.struct_sigcontext
 type Siginfo C.siginfo_t
+type Sigset C.sigset_t
 type Sigval C.union_sigval
 
 type StackT C.stack_t
@@ -103,9 +106,3 @@ type StackT C.stack_t
 type Timespec C.struct_timespec
 type Timeval C.struct_timeval
 type Itimerval C.struct_itimerval
-
-// This is a hack to avoid pulling in machine/fpu.h.
-type sfxsave64 struct{}
-type usavefpu struct{}
-
-type Sigcontext C.struct_sigcontext
index aff87fb3b1f46a4cf690fb1798a47df63af25e87..0527ef1fc50507e41bc6990f0c4231bdee416e50 100644 (file)
-// godefs -f -m32 defs.c
+// Created by cgo -cdefs - DO NOT EDIT
+// cgo -cdefs defs_openbsd.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,
-       SA_SIGINFO = 0x40,
-       SA_RESTART = 0x2,
-       SA_ONSTACK = 0x1,
-       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 = 0x1,
-       FPE_INTOVF = 0x2,
-       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,
 
-// Types
-#pragma pack on
+       MAP_ANON        = 0x1000,
+       MAP_PRIVATE     = 0x2,
+       MAP_FIXED       = 0x10,
 
-typedef struct Sigaltstack Sigaltstack;
-struct Sigaltstack {
-       void *ss_sp;
-       uint32 ss_size;
-       int32 ss_flags;
-};
+       SA_SIGINFO      = 0x40,
+       SA_RESTART      = 0x2,
+       SA_ONSTACK      = 0x1,
+
+       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      = 0x1,
+       FPE_INTOVF      = 0x2,
+       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,
 
-typedef uint32 Sigset;
+       SEGV_MAPERR     = 0x1,
+       SEGV_ACCERR     = 0x2,
 
+       ITIMER_REAL     = 0x0,
+       ITIMER_VIRTUAL  = 0x1,
+       ITIMER_PROF     = 0x2,
+};
+
+typedef struct Tfork Tfork;
+typedef struct Sigaltstack Sigaltstack;
+typedef struct Sigcontext Sigcontext;
 typedef struct Siginfo Siginfo;
-struct Siginfo {
-       int32 si_signo;
-       int32 si_code;
-       int32 si_errno;
-       byte _data[116];
+typedef struct StackT StackT;
+typedef struct Timespec Timespec;
+typedef struct Timeval Timeval;
+typedef struct Itimerval Itimerval;
+
+#pragma pack on
+
+struct Tfork {
+       byte    *tf_tcb;
+       int32   *tf_tid;
+       int32   tf_flags;
 };
 
-typedef union Sigval Sigval;
-union Sigval {
-       int32 sival_int;
-       void *sival_ptr;
+struct Sigaltstack {
+       byte    *ss_sp;
+       uint32  ss_size;
+       int32   ss_flags;
 };
+struct Sigcontext {
+       int32   sc_gs;
+       int32   sc_fs;
+       int32   sc_es;
+       int32   sc_ds;
+       int32   sc_edi;
+       int32   sc_esi;
+       int32   sc_ebp;
+       int32   sc_ebx;
+       int32   sc_edx;
+       int32   sc_ecx;
+       int32   sc_eax;
+       int32   sc_eip;
+       int32   sc_cs;
+       int32   sc_eflags;
+       int32   sc_esp;
+       int32   sc_ss;
+       int32   sc_onstack;
+       int32   sc_mask;
+       int32   sc_trapno;
+       int32   sc_err;
+       void    *sc_fpstate;
+};
+struct Siginfo {
+       int32   si_signo;
+       int32   si_code;
+       int32   si_errno;
+       byte    _data[116];
+};
+typedef        uint32  Sigset;
+typedef        byte    Sigval[4];
 
-typedef struct StackT StackT;
 struct StackT {
-       void *ss_sp;
-       uint32 ss_size;
-       int32 ss_flags;
+       byte    *ss_sp;
+       uint32  ss_size;
+       int32   ss_flags;
 };
 
-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;
 };
 
-typedef void sfxsave64;
 
-typedef void usavefpu;
-
-typedef struct Sigcontext Sigcontext;
-struct Sigcontext {
-       int32 sc_gs;
-       int32 sc_fs;
-       int32 sc_es;
-       int32 sc_ds;
-       int32 sc_edi;
-       int32 sc_esi;
-       int32 sc_ebp;
-       int32 sc_ebx;
-       int32 sc_edx;
-       int32 sc_ecx;
-       int32 sc_eax;
-       int32 sc_eip;
-       int32 sc_cs;
-       int32 sc_eflags;
-       int32 sc_esp;
-       int32 sc_ss;
-       int32 sc_onstack;
-       int32 sc_mask;
-       int32 sc_trapno;
-       int32 sc_err;
-       usavefpu *sc_fpstate;
-};
 #pragma pack off
index 27bf4b9d655a0740add2a7b0bf8c844a2b25e676..0a4334951911cf6194a10d87547527c44b306b6d 100644 (file)
-// godefs -f -m64 defs.c
+// Created by cgo -cdefs - DO NOT EDIT
+// cgo -cdefs defs_openbsd.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,
-       SA_SIGINFO = 0x40,
-       SA_RESTART = 0x2,
-       SA_ONSTACK = 0x1,
-       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 = 0x1,
-       FPE_INTOVF = 0x2,
-       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,
 
-// Types
-#pragma pack on
+       MAP_ANON        = 0x1000,
+       MAP_PRIVATE     = 0x2,
+       MAP_FIXED       = 0x10,
 
-typedef struct Sigaltstack Sigaltstack;
-struct Sigaltstack {
-       void *ss_sp;
-       uint64 ss_size;
-       int32 ss_flags;
-       byte pad_godefs_0[4];
-};
+       SA_SIGINFO      = 0x40,
+       SA_RESTART      = 0x2,
+       SA_ONSTACK      = 0x1,
+
+       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      = 0x1,
+       FPE_INTOVF      = 0x2,
+       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,
 
-typedef uint32 Sigset;
+       SEGV_MAPERR     = 0x1,
+       SEGV_ACCERR     = 0x2,
 
+       ITIMER_REAL     = 0x0,
+       ITIMER_VIRTUAL  = 0x1,
+       ITIMER_PROF     = 0x2,
+};
+
+typedef struct Tfork Tfork;
+typedef struct Sigaltstack Sigaltstack;
+typedef struct Sigcontext Sigcontext;
 typedef struct Siginfo Siginfo;
-struct Siginfo {
-       int32 si_signo;
-       int32 si_code;
-       int32 si_errno;
-       byte pad_godefs_0[4];
-       byte _data[120];
+typedef struct StackT StackT;
+typedef struct Timespec Timespec;
+typedef struct Timeval Timeval;
+typedef struct Itimerval Itimerval;
+
+#pragma pack on
+
+struct Tfork {
+       byte    *tf_tcb;
+       int32   *tf_tid;
+       int32   tf_flags;
+       byte    Pad_cgo_0[4];
 };
 
-typedef union Sigval Sigval;
-union Sigval {
-       int32 sival_int;
-       void *sival_ptr;
+struct Sigaltstack {
+       byte    *ss_sp;
+       uint64  ss_size;
+       int32   ss_flags;
+       byte    Pad_cgo_0[4];
 };
+struct Sigcontext {
+       int64   sc_rdi;
+       int64   sc_rsi;
+       int64   sc_rdx;
+       int64   sc_rcx;
+       int64   sc_r8;
+       int64   sc_r9;
+       int64   sc_r10;
+       int64   sc_r11;
+       int64   sc_r12;
+       int64   sc_r13;
+       int64   sc_r14;
+       int64   sc_r15;
+       int64   sc_rbp;
+       int64   sc_rbx;
+       int64   sc_rax;
+       int64   sc_gs;
+       int64   sc_fs;
+       int64   sc_es;
+       int64   sc_ds;
+       int64   sc_trapno;
+       int64   sc_err;
+       int64   sc_rip;
+       int64   sc_cs;
+       int64   sc_rflags;
+       int64   sc_rsp;
+       int64   sc_ss;
+       void    *sc_fpstate;
+       int32   sc_onstack;
+       int32   sc_mask;
+};
+struct Siginfo {
+       int32   si_signo;
+       int32   si_code;
+       int32   si_errno;
+       byte    Pad_cgo_0[4];
+       byte    _data[120];
+};
+typedef        uint32  Sigset;
+typedef        byte    Sigval[8];
 
-typedef struct StackT StackT;
 struct StackT {
-       void *ss_sp;
-       uint64 ss_size;
-       int32 ss_flags;
-       byte pad_godefs_0[4];
+       byte    *ss_sp;
+       uint64  ss_size;
+       int32   ss_flags;
+       byte    Pad_cgo_0[4];
 };
 
-typedef struct Timespec Timespec;
 struct Timespec {
-       int32 tv_sec;
-       byte pad_godefs_0[4];
-       int64 tv_nsec;
+       int32   tv_sec;
+       byte    Pad_cgo_0[4];
+       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;
 };
 
-typedef void sfxsave64;
 
-typedef void usavefpu;
-
-typedef struct Sigcontext Sigcontext;
-struct Sigcontext {
-       int64 sc_rdi;
-       int64 sc_rsi;
-       int64 sc_rdx;
-       int64 sc_rcx;
-       int64 sc_r8;
-       int64 sc_r9;
-       int64 sc_r10;
-       int64 sc_r11;
-       int64 sc_r12;
-       int64 sc_r13;
-       int64 sc_r14;
-       int64 sc_r15;
-       int64 sc_rbp;
-       int64 sc_rbx;
-       int64 sc_rax;
-       int64 sc_gs;
-       int64 sc_fs;
-       int64 sc_es;
-       int64 sc_ds;
-       int64 sc_trapno;
-       int64 sc_err;
-       int64 sc_rip;
-       int64 sc_cs;
-       int64 sc_rflags;
-       int64 sc_rsp;
-       int64 sc_ss;
-       sfxsave64 *sc_fpstate;
-       int32 sc_onstack;
-       int32 sc_mask;
-};
 #pragma pack off
index 39d829484de0f68f3596f1c4049a79e7bb48ba30..dd2f7c9117f6329d7c1e7138a6a061f4afd6d417 100644 (file)
@@ -109,7 +109,7 @@ runtime·signalstack(byte *p, int32 n)
 {
        Sigaltstack st;
 
-       st.ss_sp = (int8*)p;
+       st.ss_sp = p;
        st.ss_size = n;
        st.ss_flags = 0;
        runtime·sigaltstack(&st, nil);
index 2f47ffc8435911dc77a86b612fd187af6d7264a6..eb8f0e2edd06d1da63592aff5cb35d5a64418064 100644 (file)
@@ -118,7 +118,7 @@ runtime·signalstack(byte *p, int32 n)
 {
        Sigaltstack st;
 
-       st.ss_sp = (int8*)p;
+       st.ss_sp = p;
        st.ss_size = n;
        st.ss_flags = 0;
        runtime·sigaltstack(&st, nil);