mirror of https://github.com/golang/go.git
all: remove darwin/386 build-tags and files
This removes all files that are only used on darwin/386 and cleans up build tags in files that are still used on other platforms. Updates #37610. Change-Id: If246642476c12d15f59a474e2b91a29c0c02fe75 Reviewed-on: https://go-review.googlesource.com/c/go/+/227581 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
parent
f7e6ab44b4
commit
8b4cbcc320
|
|
@ -1,66 +0,0 @@
|
|||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
#include <string.h> /* for strerror */
|
||||
#include <pthread.h>
|
||||
#include <signal.h>
|
||||
#include "libcgo.h"
|
||||
#include "libcgo_unix.h"
|
||||
|
||||
static void* threadentry(void*);
|
||||
|
||||
void
|
||||
x_cgo_init(G *g)
|
||||
{
|
||||
pthread_attr_t attr;
|
||||
size_t size;
|
||||
|
||||
pthread_attr_init(&attr);
|
||||
pthread_attr_getstacksize(&attr, &size);
|
||||
g->stacklo = (uintptr)&attr - size + 4096;
|
||||
pthread_attr_destroy(&attr);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_cgo_sys_thread_start(ThreadStart *ts)
|
||||
{
|
||||
pthread_attr_t attr;
|
||||
sigset_t ign, oset;
|
||||
pthread_t p;
|
||||
size_t size;
|
||||
int err;
|
||||
|
||||
sigfillset(&ign);
|
||||
pthread_sigmask(SIG_SETMASK, &ign, &oset);
|
||||
|
||||
pthread_attr_init(&attr);
|
||||
pthread_attr_getstacksize(&attr, &size);
|
||||
// Leave stacklo=0 and set stackhi=size; mstart will do the rest.
|
||||
ts->g->stackhi = size;
|
||||
err = _cgo_try_pthread_create(&p, &attr, threadentry, ts);
|
||||
|
||||
pthread_sigmask(SIG_SETMASK, &oset, nil);
|
||||
|
||||
if (err != 0) {
|
||||
fprintf(stderr, "runtime/cgo: pthread_create failed: %s\n", strerror(err));
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
static void*
|
||||
threadentry(void *v)
|
||||
{
|
||||
ThreadStart ts;
|
||||
|
||||
ts = *(ThreadStart*)v;
|
||||
free(v);
|
||||
|
||||
// Move the g pointer into the slot reserved in thread local storage.
|
||||
// Constant must match the one in cmd/link/internal/ld/sym.go.
|
||||
asm volatile("movl %0, %%gs:0x18" :: "r"(ts.g));
|
||||
|
||||
crosscall_386(ts.fn);
|
||||
return nil;
|
||||
}
|
||||
|
|
@ -1,367 +0,0 @@
|
|||
// created by cgo -cdefs and then converted to Go
|
||||
// cgo -cdefs defs_darwin.go
|
||||
|
||||
package runtime
|
||||
|
||||
import "unsafe"
|
||||
|
||||
const (
|
||||
_EINTR = 0x4
|
||||
_EFAULT = 0xe
|
||||
_EAGAIN = 0x23
|
||||
_ETIMEDOUT = 0x3c
|
||||
|
||||
_PROT_NONE = 0x0
|
||||
_PROT_READ = 0x1
|
||||
_PROT_WRITE = 0x2
|
||||
_PROT_EXEC = 0x4
|
||||
|
||||
_MAP_ANON = 0x1000
|
||||
_MAP_PRIVATE = 0x2
|
||||
_MAP_FIXED = 0x10
|
||||
|
||||
_MADV_DONTNEED = 0x4
|
||||
_MADV_FREE = 0x5
|
||||
_MADV_FREE_REUSABLE = 0x7
|
||||
_MADV_FREE_REUSE = 0x8
|
||||
|
||||
_SA_SIGINFO = 0x40
|
||||
_SA_RESTART = 0x2
|
||||
_SA_ONSTACK = 0x1
|
||||
_SA_USERTRAMP = 0x100
|
||||
_SA_64REGSET = 0x200
|
||||
|
||||
_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 = 0x7
|
||||
_FPE_INTOVF = 0x8
|
||||
_FPE_FLTDIV = 0x1
|
||||
_FPE_FLTOVF = 0x2
|
||||
_FPE_FLTUND = 0x3
|
||||
_FPE_FLTRES = 0x4
|
||||
_FPE_FLTINV = 0x5
|
||||
_FPE_FLTSUB = 0x6
|
||||
|
||||
_BUS_ADRALN = 0x1
|
||||
_BUS_ADRERR = 0x2
|
||||
_BUS_OBJERR = 0x3
|
||||
|
||||
_SEGV_MAPERR = 0x1
|
||||
_SEGV_ACCERR = 0x2
|
||||
|
||||
_ITIMER_REAL = 0x0
|
||||
_ITIMER_VIRTUAL = 0x1
|
||||
_ITIMER_PROF = 0x2
|
||||
|
||||
_EV_ADD = 0x1
|
||||
_EV_DELETE = 0x2
|
||||
_EV_CLEAR = 0x20
|
||||
_EV_RECEIPT = 0x40
|
||||
_EV_ERROR = 0x4000
|
||||
_EV_EOF = 0x8000
|
||||
_EVFILT_READ = -0x1
|
||||
_EVFILT_WRITE = -0x2
|
||||
|
||||
_PTHREAD_CREATE_DETACHED = 0x2
|
||||
|
||||
_F_SETFD = 0x2
|
||||
_F_GETFL = 0x3
|
||||
_F_SETFL = 0x4
|
||||
_FD_CLOEXEC = 0x1
|
||||
|
||||
_O_NONBLOCK = 4
|
||||
)
|
||||
|
||||
type stackt struct {
|
||||
ss_sp *byte
|
||||
ss_size uintptr
|
||||
ss_flags int32
|
||||
}
|
||||
|
||||
type sigactiont struct {
|
||||
__sigaction_u [4]byte
|
||||
sa_tramp unsafe.Pointer
|
||||
sa_mask uint32
|
||||
sa_flags int32
|
||||
}
|
||||
|
||||
type usigactiont struct {
|
||||
__sigaction_u [4]byte
|
||||
sa_mask uint32
|
||||
sa_flags int32
|
||||
}
|
||||
|
||||
type siginfo struct {
|
||||
si_signo int32
|
||||
si_errno int32
|
||||
si_code int32
|
||||
si_pid int32
|
||||
si_uid uint32
|
||||
si_status int32
|
||||
si_addr uint32
|
||||
si_value [4]byte
|
||||
si_band int32
|
||||
__pad [7]uint32
|
||||
}
|
||||
|
||||
type timeval struct {
|
||||
tv_sec int32
|
||||
tv_usec int32
|
||||
}
|
||||
|
||||
func (tv *timeval) set_usec(x int32) {
|
||||
tv.tv_usec = x
|
||||
}
|
||||
|
||||
type itimerval struct {
|
||||
it_interval timeval
|
||||
it_value timeval
|
||||
}
|
||||
|
||||
type timespec struct {
|
||||
tv_sec int32
|
||||
tv_nsec int32
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func (ts *timespec) setNsec(ns int64) {
|
||||
ts.tv_sec = timediv(ns, 1e9, &ts.tv_nsec)
|
||||
}
|
||||
|
||||
type fpcontrol struct {
|
||||
pad_cgo_0 [2]byte
|
||||
}
|
||||
|
||||
type fpstatus struct {
|
||||
pad_cgo_0 [2]byte
|
||||
}
|
||||
|
||||
type regmmst struct {
|
||||
mmst_reg [10]int8
|
||||
mmst_rsrv [6]int8
|
||||
}
|
||||
|
||||
type regxmm struct {
|
||||
xmm_reg [16]int8
|
||||
}
|
||||
|
||||
type regs64 struct {
|
||||
rax uint64
|
||||
rbx uint64
|
||||
rcx uint64
|
||||
rdx uint64
|
||||
rdi uint64
|
||||
rsi uint64
|
||||
rbp uint64
|
||||
rsp uint64
|
||||
r8 uint64
|
||||
r9 uint64
|
||||
r10 uint64
|
||||
r11 uint64
|
||||
r12 uint64
|
||||
r13 uint64
|
||||
r14 uint64
|
||||
r15 uint64
|
||||
rip uint64
|
||||
rflags uint64
|
||||
cs uint64
|
||||
fs uint64
|
||||
gs uint64
|
||||
}
|
||||
|
||||
type floatstate64 struct {
|
||||
fpu_reserved [2]int32
|
||||
fpu_fcw fpcontrol
|
||||
fpu_fsw fpstatus
|
||||
fpu_ftw uint8
|
||||
fpu_rsrv1 uint8
|
||||
fpu_fop uint16
|
||||
fpu_ip uint32
|
||||
fpu_cs uint16
|
||||
fpu_rsrv2 uint16
|
||||
fpu_dp uint32
|
||||
fpu_ds uint16
|
||||
fpu_rsrv3 uint16
|
||||
fpu_mxcsr uint32
|
||||
fpu_mxcsrmask uint32
|
||||
fpu_stmm0 regmmst
|
||||
fpu_stmm1 regmmst
|
||||
fpu_stmm2 regmmst
|
||||
fpu_stmm3 regmmst
|
||||
fpu_stmm4 regmmst
|
||||
fpu_stmm5 regmmst
|
||||
fpu_stmm6 regmmst
|
||||
fpu_stmm7 regmmst
|
||||
fpu_xmm0 regxmm
|
||||
fpu_xmm1 regxmm
|
||||
fpu_xmm2 regxmm
|
||||
fpu_xmm3 regxmm
|
||||
fpu_xmm4 regxmm
|
||||
fpu_xmm5 regxmm
|
||||
fpu_xmm6 regxmm
|
||||
fpu_xmm7 regxmm
|
||||
fpu_xmm8 regxmm
|
||||
fpu_xmm9 regxmm
|
||||
fpu_xmm10 regxmm
|
||||
fpu_xmm11 regxmm
|
||||
fpu_xmm12 regxmm
|
||||
fpu_xmm13 regxmm
|
||||
fpu_xmm14 regxmm
|
||||
fpu_xmm15 regxmm
|
||||
fpu_rsrv4 [96]int8
|
||||
fpu_reserved1 int32
|
||||
}
|
||||
|
||||
type exceptionstate64 struct {
|
||||
trapno uint16
|
||||
cpu uint16
|
||||
err uint32
|
||||
faultvaddr uint64
|
||||
}
|
||||
|
||||
type mcontext64 struct {
|
||||
es exceptionstate64
|
||||
ss regs64
|
||||
fs floatstate64
|
||||
}
|
||||
|
||||
type regs32 struct {
|
||||
eax uint32
|
||||
ebx uint32
|
||||
ecx uint32
|
||||
edx uint32
|
||||
edi uint32
|
||||
esi uint32
|
||||
ebp uint32
|
||||
esp uint32
|
||||
ss uint32
|
||||
eflags uint32
|
||||
eip uint32
|
||||
cs uint32
|
||||
ds uint32
|
||||
es uint32
|
||||
fs uint32
|
||||
gs uint32
|
||||
}
|
||||
|
||||
type floatstate32 struct {
|
||||
fpu_reserved [2]int32
|
||||
fpu_fcw fpcontrol
|
||||
fpu_fsw fpstatus
|
||||
fpu_ftw uint8
|
||||
fpu_rsrv1 uint8
|
||||
fpu_fop uint16
|
||||
fpu_ip uint32
|
||||
fpu_cs uint16
|
||||
fpu_rsrv2 uint16
|
||||
fpu_dp uint32
|
||||
fpu_ds uint16
|
||||
fpu_rsrv3 uint16
|
||||
fpu_mxcsr uint32
|
||||
fpu_mxcsrmask uint32
|
||||
fpu_stmm0 regmmst
|
||||
fpu_stmm1 regmmst
|
||||
fpu_stmm2 regmmst
|
||||
fpu_stmm3 regmmst
|
||||
fpu_stmm4 regmmst
|
||||
fpu_stmm5 regmmst
|
||||
fpu_stmm6 regmmst
|
||||
fpu_stmm7 regmmst
|
||||
fpu_xmm0 regxmm
|
||||
fpu_xmm1 regxmm
|
||||
fpu_xmm2 regxmm
|
||||
fpu_xmm3 regxmm
|
||||
fpu_xmm4 regxmm
|
||||
fpu_xmm5 regxmm
|
||||
fpu_xmm6 regxmm
|
||||
fpu_xmm7 regxmm
|
||||
fpu_rsrv4 [224]int8
|
||||
fpu_reserved1 int32
|
||||
}
|
||||
|
||||
type exceptionstate32 struct {
|
||||
trapno uint16
|
||||
cpu uint16
|
||||
err uint32
|
||||
faultvaddr uint32
|
||||
}
|
||||
|
||||
type mcontext32 struct {
|
||||
es exceptionstate32
|
||||
ss regs32
|
||||
fs floatstate32
|
||||
}
|
||||
|
||||
type ucontext struct {
|
||||
uc_onstack int32
|
||||
uc_sigmask uint32
|
||||
uc_stack stackt
|
||||
uc_link *ucontext
|
||||
uc_mcsize uint32
|
||||
uc_mcontext *mcontext32
|
||||
}
|
||||
|
||||
type keventt struct {
|
||||
ident uint32
|
||||
filter int16
|
||||
flags uint16
|
||||
fflags uint32
|
||||
data int32
|
||||
udata *byte
|
||||
}
|
||||
|
||||
type pthread uintptr
|
||||
type pthreadattr struct {
|
||||
X__sig int32
|
||||
X__opaque [36]int8
|
||||
}
|
||||
type pthreadmutex struct {
|
||||
X__sig int32
|
||||
X__opaque [40]int8
|
||||
}
|
||||
type pthreadmutexattr struct {
|
||||
X__sig int32
|
||||
X__opaque [8]int8
|
||||
}
|
||||
type pthreadcond struct {
|
||||
X__sig int32
|
||||
X__opaque [24]int8
|
||||
}
|
||||
type pthreadcondattr struct {
|
||||
X__sig int32
|
||||
X__opaque [4]int8
|
||||
}
|
||||
type machTimebaseInfo struct {
|
||||
numer uint32
|
||||
denom uint32
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT _rt0_386_darwin(SB),NOSPLIT,$0
|
||||
JMP _rt0_386(SB)
|
||||
|
||||
TEXT _rt0_386_darwin_lib(SB),NOSPLIT,$0
|
||||
JMP _rt0_386_lib(SB)
|
||||
|
||||
TEXT main(SB),NOSPLIT,$0
|
||||
// Remove the return address from the stack.
|
||||
// rt0_go doesn't expect it to be there.
|
||||
ADDL $4, SP
|
||||
JMP runtime·rt0_go(SB)
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build darwin dragonfly freebsd linux netbsd openbsd
|
||||
// +build dragonfly freebsd linux netbsd openbsd
|
||||
|
||||
package runtime
|
||||
|
||||
|
|
|
|||
|
|
@ -1,64 +0,0 @@
|
|||
// Copyright 2013 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package runtime
|
||||
|
||||
import "unsafe"
|
||||
|
||||
type sigctxt struct {
|
||||
info *siginfo
|
||||
ctxt unsafe.Pointer
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
//go:nowritebarrierrec
|
||||
func (c *sigctxt) regs() *regs32 { return &(*ucontext)(c.ctxt).uc_mcontext.ss }
|
||||
|
||||
func (c *sigctxt) eax() uint32 { return c.regs().eax }
|
||||
func (c *sigctxt) ebx() uint32 { return c.regs().ebx }
|
||||
func (c *sigctxt) ecx() uint32 { return c.regs().ecx }
|
||||
func (c *sigctxt) edx() uint32 { return c.regs().edx }
|
||||
func (c *sigctxt) edi() uint32 { return c.regs().edi }
|
||||
func (c *sigctxt) esi() uint32 { return c.regs().esi }
|
||||
func (c *sigctxt) ebp() uint32 { return c.regs().ebp }
|
||||
func (c *sigctxt) esp() uint32 { return c.regs().esp }
|
||||
|
||||
//go:nosplit
|
||||
//go:nowritebarrierrec
|
||||
func (c *sigctxt) eip() uint32 { return c.regs().eip }
|
||||
|
||||
func (c *sigctxt) eflags() uint32 { return c.regs().eflags }
|
||||
func (c *sigctxt) cs() uint32 { return c.regs().cs }
|
||||
func (c *sigctxt) fs() uint32 { return c.regs().fs }
|
||||
func (c *sigctxt) gs() uint32 { return c.regs().gs }
|
||||
func (c *sigctxt) sigcode() uint32 { return uint32(c.info.si_code) }
|
||||
func (c *sigctxt) sigaddr() uint32 { return c.info.si_addr }
|
||||
|
||||
func (c *sigctxt) set_eip(x uint32) { c.regs().eip = x }
|
||||
func (c *sigctxt) set_esp(x uint32) { c.regs().esp = x }
|
||||
func (c *sigctxt) set_sigcode(x uint32) { c.info.si_code = int32(x) }
|
||||
func (c *sigctxt) set_sigaddr(x uint32) { c.info.si_addr = x }
|
||||
|
||||
//go:nosplit
|
||||
func (c *sigctxt) fixsigcode(sig uint32) {
|
||||
switch sig {
|
||||
case _SIGTRAP:
|
||||
// OS X sets c.sigcode() == TRAP_BRKPT unconditionally for all SIGTRAPs,
|
||||
// leaving no way to distinguish a breakpoint-induced SIGTRAP
|
||||
// from an asynchronous signal SIGTRAP.
|
||||
// They all look breakpoint-induced by default.
|
||||
// Try looking at the code to see if it's a breakpoint.
|
||||
// The assumption is that we're very unlikely to get an
|
||||
// asynchronous SIGTRAP at just the moment that the
|
||||
// PC started to point at unmapped memory.
|
||||
pc := uintptr(c.eip())
|
||||
// OS X will leave the pc just after the INT 3 instruction.
|
||||
// INT 3 is usually 1 byte, but there is a 2-byte form.
|
||||
code := (*[2]byte)(unsafe.Pointer(pc - 2))
|
||||
if code[1] != 0xCC && (code[0] != 0xCD || code[1] != 3) {
|
||||
// SIGTRAP on something other than INT 3.
|
||||
c.set_sigcode(_SI_USER)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build darwin
|
||||
// +build 386
|
||||
|
||||
package runtime
|
||||
|
||||
import "unsafe"
|
||||
|
||||
//go:linkname syscall_syscall9 syscall.syscall9
|
||||
//go:nosplit
|
||||
//go:cgo_unsafe_args
|
||||
func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2, err uintptr) {
|
||||
entersyscallblock()
|
||||
libcCall(unsafe.Pointer(funcPC(syscall9)), unsafe.Pointer(&fn))
|
||||
exitsyscall()
|
||||
return
|
||||
}
|
||||
func syscall9()
|
||||
|
|
@ -1,951 +0,0 @@
|
|||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// System calls and other sys.stuff for 386, Darwin
|
||||
// System calls are implemented in libSystem, this file contains
|
||||
// trampolines that convert from Go to C calling convention.
|
||||
|
||||
#include "go_asm.h"
|
||||
#include "go_tls.h"
|
||||
#include "textflag.h"
|
||||
|
||||
// Exit the entire program (like C exit)
|
||||
TEXT runtime·exit_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP // allocate space for callee args (must be 8 mod 16)
|
||||
MOVL 16(SP), CX // arg ptr
|
||||
MOVL 0(CX), AX // arg 1 exit status
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_exit(SB)
|
||||
MOVL $0xf1, 0xf1 // crash
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·open_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 name
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 mode
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 perm
|
||||
MOVL AX, 8(SP)
|
||||
CALL libc_open(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·close_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 fd
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_close(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·read_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 fd
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 buf
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 count
|
||||
MOVL AX, 8(SP)
|
||||
CALL libc_read(SB)
|
||||
TESTL AX, AX
|
||||
JGE noerr
|
||||
CALL libc_error(SB)
|
||||
MOVL (AX), AX
|
||||
NEGL AX // caller expects negative errno value
|
||||
noerr:
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·write_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 fd
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 buf
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 count
|
||||
MOVL AX, 8(SP)
|
||||
CALL libc_write(SB)
|
||||
TESTL AX, AX
|
||||
JGE noerr
|
||||
CALL libc_error(SB)
|
||||
MOVL (AX), AX
|
||||
NEGL AX // caller expects negative errno value
|
||||
noerr:
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pipe_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), AX // arg 1 pipefd
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_pipe(SB)
|
||||
TESTL AX, AX
|
||||
JEQ 3(PC)
|
||||
CALL libc_error(SB) // return negative errno value
|
||||
NEGL AX
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·mmap_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 addr
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 len
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 prot
|
||||
MOVL AX, 8(SP)
|
||||
MOVL 12(CX), AX // arg 4 flags
|
||||
MOVL AX, 12(SP)
|
||||
MOVL 16(CX), AX // arg 5 fid
|
||||
MOVL AX, 16(SP)
|
||||
MOVL 20(CX), AX // arg 6 offset
|
||||
MOVL AX, 20(SP)
|
||||
CALL libc_mmap(SB)
|
||||
XORL DX, DX
|
||||
CMPL AX, $-1
|
||||
JNE ok
|
||||
CALL libc_error(SB)
|
||||
MOVL (AX), DX // errno
|
||||
XORL AX, AX
|
||||
ok:
|
||||
MOVL 32(SP), CX
|
||||
MOVL AX, 24(CX) // result pointer
|
||||
MOVL DX, 28(CX) // errno
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·madvise_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 addr
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 len
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 advice
|
||||
MOVL AX, 8(SP)
|
||||
CALL libc_madvise(SB)
|
||||
// ignore failure - maybe pages are locked
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·munmap_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 addr
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 len
|
||||
MOVL AX, 4(SP)
|
||||
CALL libc_munmap(SB)
|
||||
TESTL AX, AX
|
||||
JEQ 2(PC)
|
||||
MOVL $0xf1, 0xf1 // crash
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·setitimer_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 mode
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 new
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 old
|
||||
MOVL AX, 8(SP)
|
||||
CALL libc_setitimer(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·walltime_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), AX
|
||||
MOVL AX, 0(SP) // *timeval
|
||||
MOVL $0, 4(SP) // no timezone needed
|
||||
CALL libc_gettimeofday(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
GLOBL timebase<>(SB),NOPTR,$(machTimebaseInfo__size)
|
||||
|
||||
TEXT runtime·nanotime_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8+(machTimebaseInfo__size+15)/16*16, SP
|
||||
CALL libc_mach_absolute_time(SB)
|
||||
MOVL 16+(machTimebaseInfo__size+15)/16*16(SP), CX
|
||||
MOVL AX, 0(CX)
|
||||
MOVL DX, 4(CX)
|
||||
MOVL timebase<>+machTimebaseInfo_denom(SB), DI // atomic read
|
||||
MOVL timebase<>+machTimebaseInfo_numer(SB), SI
|
||||
TESTL DI, DI
|
||||
JNE initialized
|
||||
|
||||
LEAL 4(SP), AX
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_mach_timebase_info(SB)
|
||||
MOVL 4+machTimebaseInfo_numer(SP), SI
|
||||
MOVL 4+machTimebaseInfo_denom(SP), DI
|
||||
|
||||
MOVL SI, timebase<>+machTimebaseInfo_numer(SB)
|
||||
MOVL DI, AX
|
||||
XCHGL AX, timebase<>+machTimebaseInfo_denom(SB) // atomic write
|
||||
MOVL 16+(machTimebaseInfo__size+15)/16*16(SP), CX
|
||||
|
||||
initialized:
|
||||
MOVL SI, 8(CX)
|
||||
MOVL DI, 12(CX)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·sigaction_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 sig
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 new
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 old
|
||||
MOVL AX, 8(SP)
|
||||
CALL libc_sigaction(SB)
|
||||
TESTL AX, AX
|
||||
JEQ 2(PC)
|
||||
MOVL $0xf1, 0xf1 // crash
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·sigprocmask_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 how
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 new
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 old
|
||||
MOVL AX, 8(SP)
|
||||
CALL libc_pthread_sigmask(SB)
|
||||
TESTL AX, AX
|
||||
JEQ 2(PC)
|
||||
MOVL $0xf1, 0xf1 // crash
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·sigaltstack_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 new
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 old
|
||||
MOVL AX, 4(SP)
|
||||
CALL libc_sigaltstack(SB)
|
||||
TESTL AX, AX
|
||||
JEQ 2(PC)
|
||||
MOVL $0xf1, 0xf1 // crash
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·raiseproc_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
CALL libc_getpid(SB)
|
||||
MOVL AX, 0(SP) // arg 1 pid
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX
|
||||
MOVL AX, 4(SP) // arg 2 signal
|
||||
CALL libc_kill(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·sigfwd(SB),NOSPLIT,$0-16
|
||||
MOVL fn+0(FP), AX
|
||||
MOVL sig+4(FP), BX
|
||||
MOVL info+8(FP), CX
|
||||
MOVL ctx+12(FP), DX
|
||||
MOVL SP, SI
|
||||
SUBL $32, SP
|
||||
ANDL $~15, SP // align stack: handler might be a C function
|
||||
MOVL BX, 0(SP)
|
||||
MOVL CX, 4(SP)
|
||||
MOVL DX, 8(SP)
|
||||
MOVL SI, 12(SP) // save SI: handler might be a Go function
|
||||
CALL AX
|
||||
MOVL 12(SP), AX
|
||||
MOVL AX, SP
|
||||
RET
|
||||
|
||||
// Sigtramp's job is to call the actual signal handler.
|
||||
// It is called with the C calling convention, and calls out
|
||||
// to sigtrampgo with the Go calling convention.
|
||||
TEXT runtime·sigtramp(SB),NOSPLIT,$0
|
||||
SUBL $28, SP
|
||||
|
||||
// Save callee-save registers.
|
||||
MOVL BP, 12(SP)
|
||||
MOVL BX, 16(SP)
|
||||
MOVL SI, 20(SP)
|
||||
MOVL DI, 24(SP)
|
||||
|
||||
MOVL 32(SP), AX
|
||||
MOVL AX, 0(SP) // arg 1 signal number
|
||||
MOVL 36(SP), AX
|
||||
MOVL AX, 4(SP) // arg 2 siginfo
|
||||
MOVL 40(SP), AX
|
||||
MOVL AX, 8(SP) // arg 3 ctxt
|
||||
CALL runtime·sigtrampgo(SB)
|
||||
|
||||
// Restore callee-save registers.
|
||||
MOVL 12(SP), BP
|
||||
MOVL 16(SP), BX
|
||||
MOVL 20(SP), SI
|
||||
MOVL 24(SP), DI
|
||||
|
||||
ADDL $28, SP
|
||||
RET
|
||||
|
||||
TEXT runtime·cgoSigtramp(SB),NOSPLIT,$0
|
||||
JMP runtime·sigtramp(SB)
|
||||
|
||||
TEXT runtime·usleep_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 usec
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_usleep(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
// func setldt(entry int, address int, limit int)
|
||||
TEXT runtime·setldt(SB),NOSPLIT,$32
|
||||
// Nothing to do on Darwin, pthread already set thread-local storage up.
|
||||
RET
|
||||
|
||||
TEXT runtime·sysctl_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 mib
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 miblen
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 out
|
||||
MOVL AX, 8(SP)
|
||||
MOVL 12(CX), AX // arg 4 size
|
||||
MOVL AX, 12(SP)
|
||||
MOVL 16(CX), AX // arg 5 dst
|
||||
MOVL AX, 16(SP)
|
||||
MOVL 20(CX), AX // arg 6 ndst
|
||||
MOVL AX, 20(SP)
|
||||
CALL libc_sysctl(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·kqueue_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
CALL libc_kqueue(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·kevent_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 kq
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 ch
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 nch
|
||||
MOVL AX, 8(SP)
|
||||
MOVL 12(CX), AX // arg 4 ev
|
||||
MOVL AX, 12(SP)
|
||||
MOVL 16(CX), AX // arg 5 nev
|
||||
MOVL AX, 16(SP)
|
||||
MOVL 20(CX), AX // arg 6 ts
|
||||
MOVL AX, 20(SP)
|
||||
CALL libc_kevent(SB)
|
||||
CMPL AX, $-1
|
||||
JNE ok
|
||||
CALL libc_error(SB)
|
||||
MOVL (AX), AX // errno
|
||||
NEGL AX // caller wants it as a negative error code
|
||||
ok:
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·fcntl_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 fd
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 cmd
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 arg
|
||||
MOVL AX, 8(SP)
|
||||
CALL libc_fcntl(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
// mstart_stub is the first function executed on a new thread started by pthread_create.
|
||||
// It just does some low-level setup and then calls mstart.
|
||||
// Note: called with the C calling convention.
|
||||
TEXT runtime·mstart_stub(SB),NOSPLIT,$0
|
||||
// The value at SP+4 points to the m.
|
||||
// We are already on m's g0 stack.
|
||||
|
||||
// Save callee-save registers.
|
||||
SUBL $16, SP
|
||||
MOVL BP, 0(SP)
|
||||
MOVL BX, 4(SP)
|
||||
MOVL SI, 8(SP)
|
||||
MOVL DI, 12(SP)
|
||||
|
||||
MOVL SP, AX // hide argument read from vet (vet thinks this function is using the Go calling convention)
|
||||
MOVL 20(AX), DI // m
|
||||
MOVL m_g0(DI), DX // g
|
||||
|
||||
// Initialize TLS entry.
|
||||
// See cmd/link/internal/ld/sym.go:computeTLSOffset.
|
||||
MOVL DX, 0x18(GS)
|
||||
|
||||
// Someday the convention will be D is always cleared.
|
||||
CLD
|
||||
|
||||
CALL runtime·mstart(SB)
|
||||
|
||||
// Restore callee-save registers.
|
||||
MOVL 0(SP), BP
|
||||
MOVL 4(SP), BX
|
||||
MOVL 8(SP), SI
|
||||
MOVL 12(SP), DI
|
||||
|
||||
// Go is all done with this OS thread.
|
||||
// Tell pthread everything is ok (we never join with this thread, so
|
||||
// the value here doesn't really matter).
|
||||
XORL AX, AX
|
||||
|
||||
ADDL $16, SP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_attr_init_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 attr
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_pthread_attr_init(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_attr_getstacksize_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 attr
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 size
|
||||
MOVL AX, 4(SP)
|
||||
CALL libc_pthread_attr_getstacksize(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_attr_setdetachstate_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 attr
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 state
|
||||
MOVL AX, 4(SP)
|
||||
CALL libc_pthread_attr_setdetachstate(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_create_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
LEAL 16(SP), AX // arg "0" &threadid (which we throw away)
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 0(CX), AX // arg 1 attr
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 4(CX), AX // arg 2 start
|
||||
MOVL AX, 8(SP)
|
||||
MOVL 8(CX), AX // arg 3 arg
|
||||
MOVL AX, 12(SP)
|
||||
CALL libc_pthread_create(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·raise_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 sig
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_raise(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_mutex_init_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 mutex
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 attr
|
||||
MOVL AX, 4(SP)
|
||||
CALL libc_pthread_mutex_init(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_mutex_lock_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 mutex
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_pthread_mutex_lock(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_mutex_unlock_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 mutex
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_pthread_mutex_unlock(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_cond_init_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 cond
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 attr
|
||||
MOVL AX, 4(SP)
|
||||
CALL libc_pthread_cond_init(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_cond_wait_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 cond
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 mutex
|
||||
MOVL AX, 4(SP)
|
||||
CALL libc_pthread_cond_wait(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_cond_timedwait_relative_np_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 cond
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 mutex
|
||||
MOVL AX, 4(SP)
|
||||
MOVL 8(CX), AX // arg 3 timeout
|
||||
MOVL AX, 8(SP)
|
||||
CALL libc_pthread_cond_timedwait_relative_np(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_cond_signal_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 cond
|
||||
MOVL AX, 0(SP)
|
||||
CALL libc_pthread_cond_signal(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_self_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
NOP SP // hide SP from vet
|
||||
CALL libc_pthread_self(SB)
|
||||
MOVL 8(SP), CX
|
||||
MOVL AX, 0(CX) // return value
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
TEXT runtime·pthread_kill_trampoline(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $8, SP
|
||||
MOVL 16(SP), CX
|
||||
MOVL 0(CX), AX // arg 1 thread
|
||||
MOVL AX, 0(SP)
|
||||
MOVL 4(CX), AX // arg 2 sig
|
||||
MOVL AX, 4(SP)
|
||||
CALL libc_pthread_kill(SB)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
// syscall calls a function in libc on behalf of the syscall package.
|
||||
// syscall takes a pointer to a struct like:
|
||||
// struct {
|
||||
// fn uintptr
|
||||
// a1 uintptr
|
||||
// a2 uintptr
|
||||
// a3 uintptr
|
||||
// r1 uintptr
|
||||
// r2 uintptr
|
||||
// err uintptr
|
||||
// }
|
||||
// syscall must be called on the g0 stack with the
|
||||
// C calling convention (use libcCall).
|
||||
TEXT runtime·syscall(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL (0*4)(CX), AX // fn
|
||||
MOVL (1*4)(CX), DX // a1
|
||||
MOVL DX, 0(SP)
|
||||
MOVL (2*4)(CX), DX // a2
|
||||
MOVL DX, 4(SP)
|
||||
MOVL (3*4)(CX), DX // a3
|
||||
MOVL DX, 8(SP)
|
||||
|
||||
CALL AX
|
||||
|
||||
MOVL 32(SP), CX
|
||||
MOVL AX, (4*4)(CX) // r1
|
||||
MOVL DX, (5*4)(CX) // r2
|
||||
|
||||
// Standard libc functions return -1 on error
|
||||
// and set errno.
|
||||
CMPL AX, $-1
|
||||
JNE ok
|
||||
|
||||
// Get error code from libc.
|
||||
CALL libc_error(SB)
|
||||
MOVL (AX), AX
|
||||
MOVL 32(SP), CX
|
||||
MOVL AX, (6*4)(CX) // err
|
||||
|
||||
ok:
|
||||
XORL AX, AX // no error (it's ignored anyway)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
// syscallPtr is like syscall except the libc function reports an
|
||||
// error by returning NULL and setting errno.
|
||||
TEXT runtime·syscallPtr(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL (0*4)(CX), AX // fn
|
||||
MOVL (1*4)(CX), DX // a1
|
||||
MOVL DX, 0(SP)
|
||||
MOVL (2*4)(CX), DX // a2
|
||||
MOVL DX, 4(SP)
|
||||
MOVL (3*4)(CX), DX // a3
|
||||
MOVL DX, 8(SP)
|
||||
|
||||
CALL AX
|
||||
|
||||
MOVL 32(SP), CX
|
||||
MOVL AX, (4*4)(CX) // r1
|
||||
MOVL DX, (5*4)(CX) // r2
|
||||
|
||||
// syscallPtr libc functions return NULL on error
|
||||
// and set errno.
|
||||
TESTL AX, AX
|
||||
JNE ok
|
||||
|
||||
// Get error code from libc.
|
||||
CALL libc_error(SB)
|
||||
MOVL (AX), AX
|
||||
MOVL 32(SP), CX
|
||||
MOVL AX, (6*4)(CX) // err
|
||||
|
||||
ok:
|
||||
XORL AX, AX // no error (it's ignored anyway)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
// syscall6 calls a function in libc on behalf of the syscall package.
|
||||
// syscall6 takes a pointer to a struct like:
|
||||
// struct {
|
||||
// fn uintptr
|
||||
// a1 uintptr
|
||||
// a2 uintptr
|
||||
// a3 uintptr
|
||||
// a4 uintptr
|
||||
// a5 uintptr
|
||||
// a6 uintptr
|
||||
// r1 uintptr
|
||||
// r2 uintptr
|
||||
// err uintptr
|
||||
// }
|
||||
// syscall6 must be called on the g0 stack with the
|
||||
// C calling convention (use libcCall).
|
||||
TEXT runtime·syscall6(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL (0*4)(CX), AX // fn
|
||||
MOVL (1*4)(CX), DX // a1
|
||||
MOVL DX, 0(SP)
|
||||
MOVL (2*4)(CX), DX // a2
|
||||
MOVL DX, 4(SP)
|
||||
MOVL (3*4)(CX), DX // a3
|
||||
MOVL DX, 8(SP)
|
||||
MOVL (4*4)(CX), DX // a4
|
||||
MOVL DX, 12(SP)
|
||||
MOVL (5*4)(CX), DX // a5
|
||||
MOVL DX, 16(SP)
|
||||
MOVL (6*4)(CX), DX // a6
|
||||
MOVL DX, 20(SP)
|
||||
|
||||
CALL AX
|
||||
|
||||
MOVL 32(SP), CX
|
||||
MOVL AX, (7*4)(CX) // r1
|
||||
MOVL DX, (8*4)(CX) // r2
|
||||
|
||||
// Standard libc functions return -1 on error
|
||||
// and set errno.
|
||||
CMPL AX, $-1
|
||||
JNE ok
|
||||
|
||||
// Get error code from libc.
|
||||
CALL libc_error(SB)
|
||||
MOVL (AX), AX
|
||||
MOVL 32(SP), CX
|
||||
MOVL AX, (9*4)(CX) // err
|
||||
|
||||
ok:
|
||||
XORL AX, AX // no error (it's ignored anyway)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
// syscall6X calls a function in libc on behalf of the syscall package.
|
||||
// syscall6X takes a pointer to a struct like:
|
||||
// struct {
|
||||
// fn uintptr
|
||||
// a1 uintptr
|
||||
// a2 uintptr
|
||||
// a3 uintptr
|
||||
// a4 uintptr
|
||||
// a5 uintptr
|
||||
// a6 uintptr
|
||||
// r1 uintptr
|
||||
// r2 uintptr
|
||||
// err uintptr
|
||||
// }
|
||||
// syscall6X must be called on the g0 stack with the
|
||||
// C calling convention (use libcCall).
|
||||
TEXT runtime·syscall6X(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $24, SP
|
||||
MOVL 32(SP), CX
|
||||
MOVL (0*4)(CX), AX // fn
|
||||
MOVL (1*4)(CX), DX // a1
|
||||
MOVL DX, 0(SP)
|
||||
MOVL (2*4)(CX), DX // a2
|
||||
MOVL DX, 4(SP)
|
||||
MOVL (3*4)(CX), DX // a3
|
||||
MOVL DX, 8(SP)
|
||||
MOVL (4*4)(CX), DX // a4
|
||||
MOVL DX, 12(SP)
|
||||
MOVL (5*4)(CX), DX // a5
|
||||
MOVL DX, 16(SP)
|
||||
MOVL (6*4)(CX), DX // a6
|
||||
MOVL DX, 20(SP)
|
||||
|
||||
CALL AX
|
||||
|
||||
MOVL 32(SP), CX
|
||||
MOVL AX, (7*4)(CX) // r1
|
||||
MOVL DX, (8*4)(CX) // r2
|
||||
|
||||
// Standard libc functions return -1 on error
|
||||
// and set errno.
|
||||
CMPL AX, $-1
|
||||
JNE ok
|
||||
CMPL DX, $-1
|
||||
JNE ok
|
||||
|
||||
// Get error code from libc.
|
||||
CALL libc_error(SB)
|
||||
MOVL (AX), AX
|
||||
MOVL 32(SP), CX
|
||||
MOVL AX, (9*4)(CX) // err
|
||||
|
||||
ok:
|
||||
XORL AX, AX // no error (it's ignored anyway)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
||||
// syscall9 calls a function in libc on behalf of the syscall package.
|
||||
// syscall9 takes a pointer to a struct like:
|
||||
// struct {
|
||||
// fn uintptr
|
||||
// a1 uintptr
|
||||
// a2 uintptr
|
||||
// a3 uintptr
|
||||
// a4 uintptr
|
||||
// a5 uintptr
|
||||
// a6 uintptr
|
||||
// a7 uintptr
|
||||
// a8 uintptr
|
||||
// a9 uintptr
|
||||
// r1 uintptr
|
||||
// r2 uintptr
|
||||
// err uintptr
|
||||
// }
|
||||
// syscall9 must be called on the g0 stack with the
|
||||
// C calling convention (use libcCall).
|
||||
TEXT runtime·syscall9(SB),NOSPLIT,$0
|
||||
PUSHL BP
|
||||
MOVL SP, BP
|
||||
SUBL $40, SP
|
||||
MOVL 48(SP), CX
|
||||
MOVL (0*4)(CX), AX // fn
|
||||
MOVL (1*4)(CX), DX // a1
|
||||
MOVL DX, 0(SP)
|
||||
MOVL (2*4)(CX), DX // a2
|
||||
MOVL DX, 4(SP)
|
||||
MOVL (3*4)(CX), DX // a3
|
||||
MOVL DX, 8(SP)
|
||||
MOVL (4*4)(CX), DX // a4
|
||||
MOVL DX, 12(SP)
|
||||
MOVL (5*4)(CX), DX // a5
|
||||
MOVL DX, 16(SP)
|
||||
MOVL (6*4)(CX), DX // a6
|
||||
MOVL DX, 20(SP)
|
||||
MOVL (7*4)(CX), DX // a7
|
||||
MOVL DX, 24(SP)
|
||||
MOVL (8*4)(CX), DX // a8
|
||||
MOVL DX, 28(SP)
|
||||
MOVL (9*4)(CX), DX // a9
|
||||
MOVL DX, 32(SP)
|
||||
|
||||
CALL AX
|
||||
|
||||
MOVL 48(SP), CX
|
||||
MOVL AX, (10*4)(CX) // r1
|
||||
MOVL DX, (11*4)(CX) // r2
|
||||
|
||||
// Standard libc functions return -1 on error
|
||||
// and set errno.
|
||||
CMPL AX, $-1
|
||||
JNE ok
|
||||
|
||||
// Get error code from libc.
|
||||
CALL libc_error(SB)
|
||||
MOVL (AX), AX
|
||||
MOVL 48(SP), CX
|
||||
MOVL AX, (12*4)(CX) // err
|
||||
|
||||
ok:
|
||||
XORL AX, AX // no error (it's ignored anyway)
|
||||
MOVL BP, SP
|
||||
POPL BP
|
||||
RET
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
#include "textflag.h"
|
||||
#include "funcdata.h"
|
||||
|
||||
//
|
||||
// System call support for 386, Darwin
|
||||
//
|
||||
|
||||
// func Syscall(trap int32, a1, a2, a3 int32) (r1, r2, err int32);
|
||||
// func Syscall6(trap int32, a1, a2, a3, a4, a5, a6 int32) (r1, r2, err int32);
|
||||
// Trap # in AX, args on stack above caller pc.
|
||||
|
||||
TEXT ·Syscall(SB),NOSPLIT,$0-28
|
||||
CALL runtime·entersyscall(SB)
|
||||
MOVL trap+0(FP), AX // syscall entry
|
||||
// slide args down on top of system call number
|
||||
LEAL a1+4(FP), SI
|
||||
LEAL trap+0(FP), DI
|
||||
CLD
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
INT $0x80
|
||||
JAE ok
|
||||
MOVL $-1, r1+16(FP)
|
||||
MOVL $-1, r2+20(FP)
|
||||
MOVL AX, err+24(FP)
|
||||
CALL runtime·exitsyscall(SB)
|
||||
RET
|
||||
ok:
|
||||
MOVL AX, r1+16(FP)
|
||||
MOVL DX, r2+20(FP)
|
||||
MOVL $0, err+24(FP)
|
||||
CALL runtime·exitsyscall(SB)
|
||||
RET
|
||||
|
||||
TEXT ·Syscall6(SB),NOSPLIT,$0-40
|
||||
CALL runtime·entersyscall(SB)
|
||||
MOVL trap+0(FP), AX // syscall entry
|
||||
// slide args down on top of system call number
|
||||
LEAL a1+4(FP), SI
|
||||
LEAL trap+0(FP), DI
|
||||
CLD
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
INT $0x80
|
||||
JAE ok6
|
||||
MOVL $-1, r1+28(FP)
|
||||
MOVL $-1, r2+32(FP)
|
||||
MOVL AX, err+36(FP)
|
||||
CALL runtime·exitsyscall(SB)
|
||||
RET
|
||||
ok6:
|
||||
MOVL AX, r1+28(FP)
|
||||
MOVL DX, r2+32(FP)
|
||||
MOVL $0, err+36(FP)
|
||||
CALL runtime·exitsyscall(SB)
|
||||
RET
|
||||
|
||||
TEXT ·Syscall9(SB),NOSPLIT,$0-52
|
||||
CALL runtime·entersyscall(SB)
|
||||
MOVL num+0(FP), AX // syscall entry
|
||||
// slide args down on top of system call number
|
||||
LEAL a1+4(FP), SI
|
||||
LEAL num+0(FP), DI
|
||||
CLD
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
INT $0x80
|
||||
JAE ok9
|
||||
MOVL $-1, r1+40(FP)
|
||||
MOVL $-1, r2+44(FP)
|
||||
MOVL AX, err+48(FP)
|
||||
CALL runtime·exitsyscall(SB)
|
||||
RET
|
||||
ok9:
|
||||
MOVL AX, r1+40(FP)
|
||||
MOVL DX, r2+44(FP)
|
||||
MOVL $0, err+48(FP)
|
||||
CALL runtime·exitsyscall(SB)
|
||||
RET
|
||||
|
||||
TEXT ·RawSyscall(SB),NOSPLIT,$0-28
|
||||
MOVL trap+0(FP), AX // syscall entry
|
||||
// slide args down on top of system call number
|
||||
LEAL a1+4(FP), SI
|
||||
LEAL trap+0(FP), DI
|
||||
CLD
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
INT $0x80
|
||||
JAE ok1
|
||||
MOVL $-1, r1+16(FP)
|
||||
MOVL $-1, r2+20(FP)
|
||||
MOVL AX, err+24(FP)
|
||||
RET
|
||||
ok1:
|
||||
MOVL AX, r1+16(FP)
|
||||
MOVL DX, r2+20(FP)
|
||||
MOVL $0, err+24(FP)
|
||||
RET
|
||||
|
||||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
|
||||
MOVL trap+0(FP), AX // syscall entry
|
||||
// slide args down on top of system call number
|
||||
LEAL a1+4(FP), SI
|
||||
LEAL trap+0(FP), DI
|
||||
CLD
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
MOVSL
|
||||
INT $0x80
|
||||
JAE ok2
|
||||
MOVL $-1, r1+28(FP)
|
||||
MOVL $-1, r2+32(FP)
|
||||
MOVL AX, err+36(FP)
|
||||
RET
|
||||
ok2:
|
||||
MOVL AX, r1+28(FP)
|
||||
MOVL DX, r2+32(FP)
|
||||
MOVL $0, err+36(FP)
|
||||
RET
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package syscall
|
||||
|
||||
import "unsafe"
|
||||
|
||||
func setTimespec(sec, nsec int64) Timespec {
|
||||
return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
|
||||
}
|
||||
|
||||
func setTimeval(sec, usec int64) Timeval {
|
||||
return Timeval{Sec: int32(sec), Usec: int32(usec)}
|
||||
}
|
||||
|
||||
//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_fstat64
|
||||
//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_fstatfs64
|
||||
//sysnb Gettimeofday(tp *Timeval) (err error)
|
||||
//sys Lstat(path string, stat *Stat_t) (err error) = SYS_lstat64
|
||||
//sys Stat(path string, stat *Stat_t) (err error) = SYS_stat64
|
||||
//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_statfs64
|
||||
//sys fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_fstatat64
|
||||
//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
|
||||
|
||||
func SetKevent(k *Kevent_t, fd, mode, flags int) {
|
||||
k.Ident = uint32(fd)
|
||||
k.Filter = int16(mode)
|
||||
k.Flags = uint16(flags)
|
||||
}
|
||||
|
||||
func (iov *Iovec) SetLen(length int) {
|
||||
iov.Len = uint32(length)
|
||||
}
|
||||
|
||||
func (msghdr *Msghdr) SetControllen(length int) {
|
||||
msghdr.Controllen = uint32(length)
|
||||
}
|
||||
|
||||
func (cmsg *Cmsghdr) SetLen(length int) {
|
||||
cmsg.Len = uint32(length)
|
||||
}
|
||||
|
||||
func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
|
||||
var length = uint64(count)
|
||||
|
||||
_, _, e1 := Syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)
|
||||
|
||||
written = int(length)
|
||||
|
||||
if e1 != 0 {
|
||||
err = e1
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func libc_sendfile_trampoline()
|
||||
|
||||
//go:linkname libc_sendfile libc_sendfile
|
||||
//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib"
|
||||
|
||||
// Implemented in the runtime package (runtime/sys_darwin_32.go)
|
||||
func syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno)
|
||||
|
||||
func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) // sic
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,253 +0,0 @@
|
|||
// go run mkasm_darwin.go 386
|
||||
// Code generated by the command above; DO NOT EDIT.
|
||||
#include "textflag.h"
|
||||
TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getattrlist(SB)
|
||||
TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getfsstat(SB)
|
||||
TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setattrlist(SB)
|
||||
TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fdopendir(SB)
|
||||
TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_sendfile(SB)
|
||||
TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getgroups(SB)
|
||||
TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setgroups(SB)
|
||||
TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_wait4(SB)
|
||||
TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_accept(SB)
|
||||
TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_bind(SB)
|
||||
TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_connect(SB)
|
||||
TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_socket(SB)
|
||||
TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getsockopt(SB)
|
||||
TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setsockopt(SB)
|
||||
TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpeername(SB)
|
||||
TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getsockname(SB)
|
||||
TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_shutdown(SB)
|
||||
TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_socketpair(SB)
|
||||
TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_recvfrom(SB)
|
||||
TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_sendto(SB)
|
||||
TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_recvmsg(SB)
|
||||
TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_sendmsg(SB)
|
||||
TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_kevent(SB)
|
||||
TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_utimes(SB)
|
||||
TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_futimes(SB)
|
||||
TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fcntl(SB)
|
||||
TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_pipe(SB)
|
||||
TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_kill(SB)
|
||||
TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_access(SB)
|
||||
TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_adjtime(SB)
|
||||
TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chdir(SB)
|
||||
TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chflags(SB)
|
||||
TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chmod(SB)
|
||||
TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chown(SB)
|
||||
TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_chroot(SB)
|
||||
TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_close(SB)
|
||||
TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_closedir(SB)
|
||||
TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_dup(SB)
|
||||
TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_dup2(SB)
|
||||
TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_exchangedata(SB)
|
||||
TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fchdir(SB)
|
||||
TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fchflags(SB)
|
||||
TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fchmod(SB)
|
||||
TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fchown(SB)
|
||||
TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_flock(SB)
|
||||
TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fpathconf(SB)
|
||||
TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fsync(SB)
|
||||
TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_ftruncate(SB)
|
||||
TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getdtablesize(SB)
|
||||
TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getegid(SB)
|
||||
TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_geteuid(SB)
|
||||
TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getgid(SB)
|
||||
TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpgid(SB)
|
||||
TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpgrp(SB)
|
||||
TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpid(SB)
|
||||
TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getppid(SB)
|
||||
TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getpriority(SB)
|
||||
TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getrlimit(SB)
|
||||
TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getrusage(SB)
|
||||
TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getsid(SB)
|
||||
TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_getuid(SB)
|
||||
TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_issetugid(SB)
|
||||
TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_kqueue(SB)
|
||||
TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_lchown(SB)
|
||||
TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_link(SB)
|
||||
TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_listen(SB)
|
||||
TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mkdir(SB)
|
||||
TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mkfifo(SB)
|
||||
TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mknod(SB)
|
||||
TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mlock(SB)
|
||||
TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mlockall(SB)
|
||||
TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mprotect(SB)
|
||||
TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_munlock(SB)
|
||||
TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_munlockall(SB)
|
||||
TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_open(SB)
|
||||
TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_pathconf(SB)
|
||||
TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_pread(SB)
|
||||
TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_pwrite(SB)
|
||||
TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_read(SB)
|
||||
TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_readdir_r(SB)
|
||||
TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_readlink(SB)
|
||||
TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_rename(SB)
|
||||
TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_revoke(SB)
|
||||
TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_rmdir(SB)
|
||||
TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_lseek(SB)
|
||||
TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_select(SB)
|
||||
TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setegid(SB)
|
||||
TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_seteuid(SB)
|
||||
TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setgid(SB)
|
||||
TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setlogin(SB)
|
||||
TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setpgid(SB)
|
||||
TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setpriority(SB)
|
||||
TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setprivexec(SB)
|
||||
TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setregid(SB)
|
||||
TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setreuid(SB)
|
||||
TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setrlimit(SB)
|
||||
TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setsid(SB)
|
||||
TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_settimeofday(SB)
|
||||
TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_setuid(SB)
|
||||
TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_symlink(SB)
|
||||
TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_sync(SB)
|
||||
TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_truncate(SB)
|
||||
TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_umask(SB)
|
||||
TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_undelete(SB)
|
||||
TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_unlink(SB)
|
||||
TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_unmount(SB)
|
||||
TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_write(SB)
|
||||
TEXT ·libc_writev_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_writev(SB)
|
||||
TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_mmap(SB)
|
||||
TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_munmap(SB)
|
||||
TEXT ·libc_fork_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fork(SB)
|
||||
TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_ioctl(SB)
|
||||
TEXT ·libc_execve_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_execve(SB)
|
||||
TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_exit(SB)
|
||||
TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_sysctl(SB)
|
||||
TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_unlinkat(SB)
|
||||
TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_openat(SB)
|
||||
TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fstat64(SB)
|
||||
TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fstatfs64(SB)
|
||||
TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_gettimeofday(SB)
|
||||
TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_lstat64(SB)
|
||||
TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_stat64(SB)
|
||||
TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_statfs64(SB)
|
||||
TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_fstatat64(SB)
|
||||
TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0
|
||||
JMP libc_ptrace(SB)
|
||||
|
|
@ -1,362 +0,0 @@
|
|||
// mksysnum_darwin.pl /usr/include/sys/syscall.h
|
||||
// Code generated by the command above; DO NOT EDIT.
|
||||
|
||||
// +build 386,darwin
|
||||
|
||||
package syscall
|
||||
|
||||
const (
|
||||
SYS_SYSCALL = 0
|
||||
SYS_EXIT = 1
|
||||
SYS_FORK = 2
|
||||
SYS_READ = 3
|
||||
SYS_WRITE = 4
|
||||
SYS_OPEN = 5
|
||||
SYS_CLOSE = 6
|
||||
SYS_WAIT4 = 7
|
||||
SYS_LINK = 9
|
||||
SYS_UNLINK = 10
|
||||
SYS_CHDIR = 12
|
||||
SYS_FCHDIR = 13
|
||||
SYS_MKNOD = 14
|
||||
SYS_CHMOD = 15
|
||||
SYS_CHOWN = 16
|
||||
SYS_GETFSSTAT = 18
|
||||
SYS_GETPID = 20
|
||||
SYS_SETUID = 23
|
||||
SYS_GETUID = 24
|
||||
SYS_GETEUID = 25
|
||||
SYS_PTRACE = 26
|
||||
SYS_RECVMSG = 27
|
||||
SYS_SENDMSG = 28
|
||||
SYS_RECVFROM = 29
|
||||
SYS_ACCEPT = 30
|
||||
SYS_GETPEERNAME = 31
|
||||
SYS_GETSOCKNAME = 32
|
||||
SYS_ACCESS = 33
|
||||
SYS_CHFLAGS = 34
|
||||
SYS_FCHFLAGS = 35
|
||||
SYS_SYNC = 36
|
||||
SYS_KILL = 37
|
||||
SYS_GETPPID = 39
|
||||
SYS_DUP = 41
|
||||
SYS_PIPE = 42
|
||||
SYS_GETEGID = 43
|
||||
SYS_PROFIL = 44
|
||||
SYS_SIGACTION = 46
|
||||
SYS_GETGID = 47
|
||||
SYS_SIGPROCMASK = 48
|
||||
SYS_GETLOGIN = 49
|
||||
SYS_SETLOGIN = 50
|
||||
SYS_ACCT = 51
|
||||
SYS_SIGPENDING = 52
|
||||
SYS_SIGALTSTACK = 53
|
||||
SYS_IOCTL = 54
|
||||
SYS_REBOOT = 55
|
||||
SYS_REVOKE = 56
|
||||
SYS_SYMLINK = 57
|
||||
SYS_READLINK = 58
|
||||
SYS_EXECVE = 59
|
||||
SYS_UMASK = 60
|
||||
SYS_CHROOT = 61
|
||||
SYS_MSYNC = 65
|
||||
SYS_VFORK = 66
|
||||
SYS_MUNMAP = 73
|
||||
SYS_MPROTECT = 74
|
||||
SYS_MADVISE = 75
|
||||
SYS_MINCORE = 78
|
||||
SYS_GETGROUPS = 79
|
||||
SYS_SETGROUPS = 80
|
||||
SYS_GETPGRP = 81
|
||||
SYS_SETPGID = 82
|
||||
SYS_SETITIMER = 83
|
||||
SYS_SWAPON = 85
|
||||
SYS_GETITIMER = 86
|
||||
SYS_GETDTABLESIZE = 89
|
||||
SYS_DUP2 = 90
|
||||
SYS_FCNTL = 92
|
||||
SYS_SELECT = 93
|
||||
SYS_FSYNC = 95
|
||||
SYS_SETPRIORITY = 96
|
||||
SYS_SOCKET = 97
|
||||
SYS_CONNECT = 98
|
||||
SYS_GETPRIORITY = 100
|
||||
SYS_BIND = 104
|
||||
SYS_SETSOCKOPT = 105
|
||||
SYS_LISTEN = 106
|
||||
SYS_SIGSUSPEND = 111
|
||||
SYS_GETTIMEOFDAY = 116
|
||||
SYS_GETRUSAGE = 117
|
||||
SYS_GETSOCKOPT = 118
|
||||
SYS_READV = 120
|
||||
SYS_WRITEV = 121
|
||||
SYS_SETTIMEOFDAY = 122
|
||||
SYS_FCHOWN = 123
|
||||
SYS_FCHMOD = 124
|
||||
SYS_SETREUID = 126
|
||||
SYS_SETREGID = 127
|
||||
SYS_RENAME = 128
|
||||
SYS_FLOCK = 131
|
||||
SYS_MKFIFO = 132
|
||||
SYS_SENDTO = 133
|
||||
SYS_SHUTDOWN = 134
|
||||
SYS_SOCKETPAIR = 135
|
||||
SYS_MKDIR = 136
|
||||
SYS_RMDIR = 137
|
||||
SYS_UTIMES = 138
|
||||
SYS_FUTIMES = 139
|
||||
SYS_ADJTIME = 140
|
||||
SYS_GETHOSTUUID = 142
|
||||
SYS_SETSID = 147
|
||||
SYS_GETPGID = 151
|
||||
SYS_SETPRIVEXEC = 152
|
||||
SYS_PREAD = 153
|
||||
SYS_PWRITE = 154
|
||||
SYS_NFSSVC = 155
|
||||
SYS_STATFS = 157
|
||||
SYS_FSTATFS = 158
|
||||
SYS_UNMOUNT = 159
|
||||
SYS_GETFH = 161
|
||||
SYS_QUOTACTL = 165
|
||||
SYS_MOUNT = 167
|
||||
SYS_CSOPS = 169
|
||||
SYS_WAITID = 173
|
||||
SYS_ADD_PROFIL = 176
|
||||
SYS_KDEBUG_TRACE = 180
|
||||
SYS_SETGID = 181
|
||||
SYS_SETEGID = 182
|
||||
SYS_SETEUID = 183
|
||||
SYS_SIGRETURN = 184
|
||||
SYS_CHUD = 185
|
||||
SYS_FDATASYNC = 187
|
||||
SYS_STAT = 188
|
||||
SYS_FSTAT = 189
|
||||
SYS_LSTAT = 190
|
||||
SYS_PATHCONF = 191
|
||||
SYS_FPATHCONF = 192
|
||||
SYS_GETRLIMIT = 194
|
||||
SYS_SETRLIMIT = 195
|
||||
SYS_GETDIRENTRIES = 196
|
||||
SYS_MMAP = 197
|
||||
SYS_LSEEK = 199
|
||||
SYS_TRUNCATE = 200
|
||||
SYS_FTRUNCATE = 201
|
||||
SYS___SYSCTL = 202
|
||||
SYS_MLOCK = 203
|
||||
SYS_MUNLOCK = 204
|
||||
SYS_UNDELETE = 205
|
||||
SYS_ATSOCKET = 206
|
||||
SYS_ATGETMSG = 207
|
||||
SYS_ATPUTMSG = 208
|
||||
SYS_ATPSNDREQ = 209
|
||||
SYS_ATPSNDRSP = 210
|
||||
SYS_ATPGETREQ = 211
|
||||
SYS_ATPGETRSP = 212
|
||||
SYS_MKCOMPLEX = 216
|
||||
SYS_STATV = 217
|
||||
SYS_LSTATV = 218
|
||||
SYS_FSTATV = 219
|
||||
SYS_GETATTRLIST = 220
|
||||
SYS_SETATTRLIST = 221
|
||||
SYS_GETDIRENTRIESATTR = 222
|
||||
SYS_EXCHANGEDATA = 223
|
||||
SYS_SEARCHFS = 225
|
||||
SYS_DELETE = 226
|
||||
SYS_COPYFILE = 227
|
||||
SYS_FGETATTRLIST = 228
|
||||
SYS_FSETATTRLIST = 229
|
||||
SYS_POLL = 230
|
||||
SYS_WATCHEVENT = 231
|
||||
SYS_WAITEVENT = 232
|
||||
SYS_MODWATCH = 233
|
||||
SYS_GETXATTR = 234
|
||||
SYS_FGETXATTR = 235
|
||||
SYS_SETXATTR = 236
|
||||
SYS_FSETXATTR = 237
|
||||
SYS_REMOVEXATTR = 238
|
||||
SYS_FREMOVEXATTR = 239
|
||||
SYS_LISTXATTR = 240
|
||||
SYS_FLISTXATTR = 241
|
||||
SYS_FSCTL = 242
|
||||
SYS_INITGROUPS = 243
|
||||
SYS_POSIX_SPAWN = 244
|
||||
SYS_FFSCTL = 245
|
||||
SYS_NFSCLNT = 247
|
||||
SYS_FHOPEN = 248
|
||||
SYS_MINHERIT = 250
|
||||
SYS_SEMSYS = 251
|
||||
SYS_MSGSYS = 252
|
||||
SYS_SHMSYS = 253
|
||||
SYS_SEMCTL = 254
|
||||
SYS_SEMGET = 255
|
||||
SYS_SEMOP = 256
|
||||
SYS_MSGCTL = 258
|
||||
SYS_MSGGET = 259
|
||||
SYS_MSGSND = 260
|
||||
SYS_MSGRCV = 261
|
||||
SYS_SHMAT = 262
|
||||
SYS_SHMCTL = 263
|
||||
SYS_SHMDT = 264
|
||||
SYS_SHMGET = 265
|
||||
SYS_SHM_OPEN = 266
|
||||
SYS_SHM_UNLINK = 267
|
||||
SYS_SEM_OPEN = 268
|
||||
SYS_SEM_CLOSE = 269
|
||||
SYS_SEM_UNLINK = 270
|
||||
SYS_SEM_WAIT = 271
|
||||
SYS_SEM_TRYWAIT = 272
|
||||
SYS_SEM_POST = 273
|
||||
SYS_SEM_GETVALUE = 274
|
||||
SYS_SEM_INIT = 275
|
||||
SYS_SEM_DESTROY = 276
|
||||
SYS_OPEN_EXTENDED = 277
|
||||
SYS_UMASK_EXTENDED = 278
|
||||
SYS_STAT_EXTENDED = 279
|
||||
SYS_LSTAT_EXTENDED = 280
|
||||
SYS_FSTAT_EXTENDED = 281
|
||||
SYS_CHMOD_EXTENDED = 282
|
||||
SYS_FCHMOD_EXTENDED = 283
|
||||
SYS_ACCESS_EXTENDED = 284
|
||||
SYS_SETTID = 285
|
||||
SYS_GETTID = 286
|
||||
SYS_SETSGROUPS = 287
|
||||
SYS_GETSGROUPS = 288
|
||||
SYS_SETWGROUPS = 289
|
||||
SYS_GETWGROUPS = 290
|
||||
SYS_MKFIFO_EXTENDED = 291
|
||||
SYS_MKDIR_EXTENDED = 292
|
||||
SYS_IDENTITYSVC = 293
|
||||
SYS_SHARED_REGION_CHECK_NP = 294
|
||||
SYS_VM_PRESSURE_MONITOR = 296
|
||||
SYS_PSYNCH_RW_LONGRDLOCK = 297
|
||||
SYS_PSYNCH_RW_YIELDWRLOCK = 298
|
||||
SYS_PSYNCH_RW_DOWNGRADE = 299
|
||||
SYS_PSYNCH_RW_UPGRADE = 300
|
||||
SYS_PSYNCH_MUTEXWAIT = 301
|
||||
SYS_PSYNCH_MUTEXDROP = 302
|
||||
SYS_PSYNCH_CVBROAD = 303
|
||||
SYS_PSYNCH_CVSIGNAL = 304
|
||||
SYS_PSYNCH_CVWAIT = 305
|
||||
SYS_PSYNCH_RW_RDLOCK = 306
|
||||
SYS_PSYNCH_RW_WRLOCK = 307
|
||||
SYS_PSYNCH_RW_UNLOCK = 308
|
||||
SYS_PSYNCH_RW_UNLOCK2 = 309
|
||||
SYS_GETSID = 310
|
||||
SYS_SETTID_WITH_PID = 311
|
||||
SYS_PSYNCH_CVCLRPREPOST = 312
|
||||
SYS_AIO_FSYNC = 313
|
||||
SYS_AIO_RETURN = 314
|
||||
SYS_AIO_SUSPEND = 315
|
||||
SYS_AIO_CANCEL = 316
|
||||
SYS_AIO_ERROR = 317
|
||||
SYS_AIO_READ = 318
|
||||
SYS_AIO_WRITE = 319
|
||||
SYS_LIO_LISTIO = 320
|
||||
SYS_IOPOLICYSYS = 322
|
||||
SYS_PROCESS_POLICY = 323
|
||||
SYS_MLOCKALL = 324
|
||||
SYS_MUNLOCKALL = 325
|
||||
SYS_ISSETUGID = 327
|
||||
SYS___PTHREAD_KILL = 328
|
||||
SYS___PTHREAD_SIGMASK = 329
|
||||
SYS___SIGWAIT = 330
|
||||
SYS___DISABLE_THREADSIGNAL = 331
|
||||
SYS___PTHREAD_MARKCANCEL = 332
|
||||
SYS___PTHREAD_CANCELED = 333
|
||||
SYS___SEMWAIT_SIGNAL = 334
|
||||
SYS_PROC_INFO = 336
|
||||
SYS_SENDFILE = 337
|
||||
SYS_STAT64 = 338
|
||||
SYS_FSTAT64 = 339
|
||||
SYS_LSTAT64 = 340
|
||||
SYS_STAT64_EXTENDED = 341
|
||||
SYS_LSTAT64_EXTENDED = 342
|
||||
SYS_FSTAT64_EXTENDED = 343
|
||||
SYS_GETDIRENTRIES64 = 344
|
||||
SYS_STATFS64 = 345
|
||||
SYS_FSTATFS64 = 346
|
||||
SYS_GETFSSTAT64 = 347
|
||||
SYS___PTHREAD_CHDIR = 348
|
||||
SYS___PTHREAD_FCHDIR = 349
|
||||
SYS_AUDIT = 350
|
||||
SYS_AUDITON = 351
|
||||
SYS_GETAUID = 353
|
||||
SYS_SETAUID = 354
|
||||
SYS_GETAUDIT = 355
|
||||
SYS_SETAUDIT = 356
|
||||
SYS_GETAUDIT_ADDR = 357
|
||||
SYS_SETAUDIT_ADDR = 358
|
||||
SYS_AUDITCTL = 359
|
||||
SYS_BSDTHREAD_CREATE = 360
|
||||
SYS_BSDTHREAD_TERMINATE = 361
|
||||
SYS_KQUEUE = 362
|
||||
SYS_KEVENT = 363
|
||||
SYS_LCHOWN = 364
|
||||
SYS_STACK_SNAPSHOT = 365
|
||||
SYS_BSDTHREAD_REGISTER = 366
|
||||
SYS_WORKQ_OPEN = 367
|
||||
SYS_WORKQ_KERNRETURN = 368
|
||||
SYS_KEVENT64 = 369
|
||||
SYS___OLD_SEMWAIT_SIGNAL = 370
|
||||
SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371
|
||||
SYS_THREAD_SELFID = 372
|
||||
SYS___MAC_EXECVE = 380
|
||||
SYS___MAC_SYSCALL = 381
|
||||
SYS___MAC_GET_FILE = 382
|
||||
SYS___MAC_SET_FILE = 383
|
||||
SYS___MAC_GET_LINK = 384
|
||||
SYS___MAC_SET_LINK = 385
|
||||
SYS___MAC_GET_PROC = 386
|
||||
SYS___MAC_SET_PROC = 387
|
||||
SYS___MAC_GET_FD = 388
|
||||
SYS___MAC_SET_FD = 389
|
||||
SYS___MAC_GET_PID = 390
|
||||
SYS___MAC_GET_LCID = 391
|
||||
SYS___MAC_GET_LCTX = 392
|
||||
SYS___MAC_SET_LCTX = 393
|
||||
SYS_SETLCID = 394
|
||||
SYS_GETLCID = 395
|
||||
SYS_READ_NOCANCEL = 396
|
||||
SYS_WRITE_NOCANCEL = 397
|
||||
SYS_OPEN_NOCANCEL = 398
|
||||
SYS_CLOSE_NOCANCEL = 399
|
||||
SYS_WAIT4_NOCANCEL = 400
|
||||
SYS_RECVMSG_NOCANCEL = 401
|
||||
SYS_SENDMSG_NOCANCEL = 402
|
||||
SYS_RECVFROM_NOCANCEL = 403
|
||||
SYS_ACCEPT_NOCANCEL = 404
|
||||
SYS_MSYNC_NOCANCEL = 405
|
||||
SYS_FCNTL_NOCANCEL = 406
|
||||
SYS_SELECT_NOCANCEL = 407
|
||||
SYS_FSYNC_NOCANCEL = 408
|
||||
SYS_CONNECT_NOCANCEL = 409
|
||||
SYS_SIGSUSPEND_NOCANCEL = 410
|
||||
SYS_READV_NOCANCEL = 411
|
||||
SYS_WRITEV_NOCANCEL = 412
|
||||
SYS_SENDTO_NOCANCEL = 413
|
||||
SYS_PREAD_NOCANCEL = 414
|
||||
SYS_PWRITE_NOCANCEL = 415
|
||||
SYS_WAITID_NOCANCEL = 416
|
||||
SYS_POLL_NOCANCEL = 417
|
||||
SYS_MSGSND_NOCANCEL = 418
|
||||
SYS_MSGRCV_NOCANCEL = 419
|
||||
SYS_SEM_WAIT_NOCANCEL = 420
|
||||
SYS_AIO_SUSPEND_NOCANCEL = 421
|
||||
SYS___SIGWAIT_NOCANCEL = 422
|
||||
SYS___SEMWAIT_SIGNAL_NOCANCEL = 423
|
||||
SYS___MAC_MOUNT = 424
|
||||
SYS___MAC_GET_MOUNT = 425
|
||||
SYS___MAC_GETFSSTAT = 426
|
||||
SYS_FSGETPATH = 427
|
||||
SYS_AUDIT_SESSION_SELF = 428
|
||||
SYS_AUDIT_SESSION_JOIN = 429
|
||||
SYS_FILEPORT_MAKEPORT = 430
|
||||
SYS_FILEPORT_MAKEFD = 431
|
||||
SYS_AUDIT_SESSION_PORT = 432
|
||||
SYS_PID_SUSPEND = 433
|
||||
SYS_PID_RESUME = 434
|
||||
SYS_PID_HIBERNATE = 435
|
||||
SYS_PID_SHUTDOWN_SOCKETS = 436
|
||||
SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438
|
||||
SYS_MAXSYSCALL = 439
|
||||
)
|
||||
|
|
@ -1,452 +0,0 @@
|
|||
// Created by cgo -godefs - DO NOT EDIT
|
||||
// cgo -godefs types_darwin.go
|
||||
|
||||
// +build 386,darwin
|
||||
|
||||
package syscall
|
||||
|
||||
const (
|
||||
sizeofPtr = 0x4
|
||||
sizeofShort = 0x2
|
||||
sizeofInt = 0x4
|
||||
sizeofLong = 0x4
|
||||
sizeofLongLong = 0x8
|
||||
)
|
||||
|
||||
type (
|
||||
_C_short int16
|
||||
_C_int int32
|
||||
_C_long int32
|
||||
_C_long_long int64
|
||||
)
|
||||
|
||||
type Timespec struct {
|
||||
Sec int32
|
||||
Nsec int32
|
||||
}
|
||||
|
||||
type Timeval struct {
|
||||
Sec int32
|
||||
Usec int32
|
||||
}
|
||||
|
||||
type Timeval32 [0]byte
|
||||
|
||||
type Rusage struct {
|
||||
Utime Timeval
|
||||
Stime Timeval
|
||||
Maxrss int32
|
||||
Ixrss int32
|
||||
Idrss int32
|
||||
Isrss int32
|
||||
Minflt int32
|
||||
Majflt int32
|
||||
Nswap int32
|
||||
Inblock int32
|
||||
Oublock int32
|
||||
Msgsnd int32
|
||||
Msgrcv int32
|
||||
Nsignals int32
|
||||
Nvcsw int32
|
||||
Nivcsw int32
|
||||
}
|
||||
|
||||
type Rlimit struct {
|
||||
Cur uint64
|
||||
Max uint64
|
||||
}
|
||||
|
||||
type _Gid_t uint32
|
||||
|
||||
type Stat_t struct {
|
||||
Dev int32
|
||||
Mode uint16
|
||||
Nlink uint16
|
||||
Ino uint64
|
||||
Uid uint32
|
||||
Gid uint32
|
||||
Rdev int32
|
||||
Atimespec Timespec
|
||||
Mtimespec Timespec
|
||||
Ctimespec Timespec
|
||||
Birthtimespec Timespec
|
||||
Size int64
|
||||
Blocks int64
|
||||
Blksize int32
|
||||
Flags uint32
|
||||
Gen uint32
|
||||
Lspare int32
|
||||
Qspare [2]int64
|
||||
}
|
||||
|
||||
type Statfs_t struct {
|
||||
Bsize uint32
|
||||
Iosize int32
|
||||
Blocks uint64
|
||||
Bfree uint64
|
||||
Bavail uint64
|
||||
Files uint64
|
||||
Ffree uint64
|
||||
Fsid Fsid
|
||||
Owner uint32
|
||||
Type uint32
|
||||
Flags uint32
|
||||
Fssubtype uint32
|
||||
Fstypename [16]int8
|
||||
Mntonname [1024]int8
|
||||
Mntfromname [1024]int8
|
||||
Reserved [8]uint32
|
||||
}
|
||||
|
||||
type Flock_t struct {
|
||||
Start int64
|
||||
Len int64
|
||||
Pid int32
|
||||
Type int16
|
||||
Whence int16
|
||||
}
|
||||
|
||||
type Fstore_t struct {
|
||||
Flags uint32
|
||||
Posmode int32
|
||||
Offset int64
|
||||
Length int64
|
||||
Bytesalloc int64
|
||||
}
|
||||
|
||||
type Radvisory_t struct {
|
||||
Offset int64
|
||||
Count int32
|
||||
}
|
||||
|
||||
type Fbootstraptransfer_t struct {
|
||||
Offset int64
|
||||
Length uint32
|
||||
Buffer *byte
|
||||
}
|
||||
|
||||
type Log2phys_t struct {
|
||||
Flags uint32
|
||||
Contigbytes int64
|
||||
Devoffset int64
|
||||
}
|
||||
|
||||
type Fsid struct {
|
||||
Val [2]int32
|
||||
}
|
||||
|
||||
type Dirent struct {
|
||||
Ino uint64
|
||||
Seekoff uint64
|
||||
Reclen uint16
|
||||
Namlen uint16
|
||||
Type uint8
|
||||
Name [1024]int8
|
||||
Pad_cgo_0 [3]byte
|
||||
}
|
||||
|
||||
type RawSockaddrInet4 struct {
|
||||
Len uint8
|
||||
Family uint8
|
||||
Port uint16
|
||||
Addr [4]byte /* in_addr */
|
||||
Zero [8]int8
|
||||
}
|
||||
|
||||
type RawSockaddrInet6 struct {
|
||||
Len uint8
|
||||
Family uint8
|
||||
Port uint16
|
||||
Flowinfo uint32
|
||||
Addr [16]byte /* in6_addr */
|
||||
Scope_id uint32
|
||||
}
|
||||
|
||||
type RawSockaddrUnix struct {
|
||||
Len uint8
|
||||
Family uint8
|
||||
Path [104]int8
|
||||
}
|
||||
|
||||
type RawSockaddrDatalink struct {
|
||||
Len uint8
|
||||
Family uint8
|
||||
Index uint16
|
||||
Type uint8
|
||||
Nlen uint8
|
||||
Alen uint8
|
||||
Slen uint8
|
||||
Data [12]int8
|
||||
}
|
||||
|
||||
type RawSockaddr struct {
|
||||
Len uint8
|
||||
Family uint8
|
||||
Data [14]int8
|
||||
}
|
||||
|
||||
type RawSockaddrAny struct {
|
||||
Addr RawSockaddr
|
||||
Pad [92]int8
|
||||
}
|
||||
|
||||
type _Socklen uint32
|
||||
|
||||
type Linger struct {
|
||||
Onoff int32
|
||||
Linger int32
|
||||
}
|
||||
|
||||
type Iovec struct {
|
||||
Base *byte
|
||||
Len uint32
|
||||
}
|
||||
|
||||
type IPMreq struct {
|
||||
Multiaddr [4]byte /* in_addr */
|
||||
Interface [4]byte /* in_addr */
|
||||
}
|
||||
|
||||
type IPv6Mreq struct {
|
||||
Multiaddr [16]byte /* in6_addr */
|
||||
Interface uint32
|
||||
}
|
||||
|
||||
type Msghdr struct {
|
||||
Name *byte
|
||||
Namelen uint32
|
||||
Iov *Iovec
|
||||
Iovlen int32
|
||||
Control *byte
|
||||
Controllen uint32
|
||||
Flags int32
|
||||
}
|
||||
|
||||
type Cmsghdr struct {
|
||||
Len uint32
|
||||
Level int32
|
||||
Type int32
|
||||
}
|
||||
|
||||
type Inet4Pktinfo struct {
|
||||
Ifindex uint32
|
||||
Spec_dst [4]byte /* in_addr */
|
||||
Addr [4]byte /* in_addr */
|
||||
}
|
||||
|
||||
type Inet6Pktinfo struct {
|
||||
Addr [16]byte /* in6_addr */
|
||||
Ifindex uint32
|
||||
}
|
||||
|
||||
type IPv6MTUInfo struct {
|
||||
Addr RawSockaddrInet6
|
||||
Mtu uint32
|
||||
}
|
||||
|
||||
type ICMPv6Filter struct {
|
||||
Filt [8]uint32
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofSockaddrInet4 = 0x10
|
||||
SizeofSockaddrInet6 = 0x1c
|
||||
SizeofSockaddrAny = 0x6c
|
||||
SizeofSockaddrUnix = 0x6a
|
||||
SizeofSockaddrDatalink = 0x14
|
||||
SizeofLinger = 0x8
|
||||
SizeofIPMreq = 0x8
|
||||
SizeofIPv6Mreq = 0x14
|
||||
SizeofMsghdr = 0x1c
|
||||
SizeofCmsghdr = 0xc
|
||||
SizeofInet4Pktinfo = 0xc
|
||||
SizeofInet6Pktinfo = 0x14
|
||||
SizeofIPv6MTUInfo = 0x20
|
||||
SizeofICMPv6Filter = 0x20
|
||||
)
|
||||
|
||||
const (
|
||||
PTRACE_TRACEME = 0x0
|
||||
PTRACE_CONT = 0x7
|
||||
PTRACE_KILL = 0x8
|
||||
)
|
||||
|
||||
type Kevent_t struct {
|
||||
Ident uint32
|
||||
Filter int16
|
||||
Flags uint16
|
||||
Fflags uint32
|
||||
Data int32
|
||||
Udata *byte
|
||||
}
|
||||
|
||||
type FdSet struct {
|
||||
Bits [32]int32
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofIfMsghdr = 0x70
|
||||
SizeofIfData = 0x60
|
||||
SizeofIfaMsghdr = 0x14
|
||||
SizeofIfmaMsghdr = 0x10
|
||||
SizeofIfmaMsghdr2 = 0x14
|
||||
SizeofRtMsghdr = 0x5c
|
||||
SizeofRtMetrics = 0x38
|
||||
)
|
||||
|
||||
type IfMsghdr struct {
|
||||
Msglen uint16
|
||||
Version uint8
|
||||
Type uint8
|
||||
Addrs int32
|
||||
Flags int32
|
||||
Index uint16
|
||||
Pad_cgo_0 [2]byte
|
||||
Data IfData
|
||||
}
|
||||
|
||||
type IfData struct {
|
||||
Type uint8
|
||||
Typelen uint8
|
||||
Physical uint8
|
||||
Addrlen uint8
|
||||
Hdrlen uint8
|
||||
Recvquota uint8
|
||||
Xmitquota uint8
|
||||
Unused1 uint8
|
||||
Mtu uint32
|
||||
Metric uint32
|
||||
Baudrate uint32
|
||||
Ipackets uint32
|
||||
Ierrors uint32
|
||||
Opackets uint32
|
||||
Oerrors uint32
|
||||
Collisions uint32
|
||||
Ibytes uint32
|
||||
Obytes uint32
|
||||
Imcasts uint32
|
||||
Omcasts uint32
|
||||
Iqdrops uint32
|
||||
Noproto uint32
|
||||
Recvtiming uint32
|
||||
Xmittiming uint32
|
||||
Lastchange Timeval
|
||||
Unused2 uint32
|
||||
Hwassist uint32
|
||||
Reserved1 uint32
|
||||
Reserved2 uint32
|
||||
}
|
||||
|
||||
type IfaMsghdr struct {
|
||||
Msglen uint16
|
||||
Version uint8
|
||||
Type uint8
|
||||
Addrs int32
|
||||
Flags int32
|
||||
Index uint16
|
||||
Pad_cgo_0 [2]byte
|
||||
Metric int32
|
||||
}
|
||||
|
||||
type IfmaMsghdr struct {
|
||||
Msglen uint16
|
||||
Version uint8
|
||||
Type uint8
|
||||
Addrs int32
|
||||
Flags int32
|
||||
Index uint16
|
||||
Pad_cgo_0 [2]byte
|
||||
}
|
||||
|
||||
type IfmaMsghdr2 struct {
|
||||
Msglen uint16
|
||||
Version uint8
|
||||
Type uint8
|
||||
Addrs int32
|
||||
Flags int32
|
||||
Index uint16
|
||||
Pad_cgo_0 [2]byte
|
||||
Refcount int32
|
||||
}
|
||||
|
||||
type RtMsghdr struct {
|
||||
Msglen uint16
|
||||
Version uint8
|
||||
Type uint8
|
||||
Index uint16
|
||||
Pad_cgo_0 [2]byte
|
||||
Flags int32
|
||||
Addrs int32
|
||||
Pid int32
|
||||
Seq int32
|
||||
Errno int32
|
||||
Use int32
|
||||
Inits uint32
|
||||
Rmx RtMetrics
|
||||
}
|
||||
|
||||
type RtMetrics struct {
|
||||
Locks uint32
|
||||
Mtu uint32
|
||||
Hopcount uint32
|
||||
Expire int32
|
||||
Recvpipe uint32
|
||||
Sendpipe uint32
|
||||
Ssthresh uint32
|
||||
Rtt uint32
|
||||
Rttvar uint32
|
||||
Pksent uint32
|
||||
Filler [4]uint32
|
||||
}
|
||||
|
||||
const (
|
||||
SizeofBpfVersion = 0x4
|
||||
SizeofBpfStat = 0x8
|
||||
SizeofBpfProgram = 0x8
|
||||
SizeofBpfInsn = 0x8
|
||||
SizeofBpfHdr = 0x14
|
||||
)
|
||||
|
||||
type BpfVersion struct {
|
||||
Major uint16
|
||||
Minor uint16
|
||||
}
|
||||
|
||||
type BpfStat struct {
|
||||
Recv uint32
|
||||
Drop uint32
|
||||
}
|
||||
|
||||
type BpfProgram struct {
|
||||
Len uint32
|
||||
Insns *BpfInsn
|
||||
}
|
||||
|
||||
type BpfInsn struct {
|
||||
Code uint16
|
||||
Jt uint8
|
||||
Jf uint8
|
||||
K uint32
|
||||
}
|
||||
|
||||
type BpfHdr struct {
|
||||
Tstamp Timeval
|
||||
Caplen uint32
|
||||
Datalen uint32
|
||||
Hdrlen uint16
|
||||
Pad_cgo_0 [2]byte
|
||||
}
|
||||
|
||||
const (
|
||||
_AT_FDCWD = -0x2
|
||||
)
|
||||
|
||||
type Termios struct {
|
||||
Iflag uint32
|
||||
Oflag uint32
|
||||
Cflag uint32
|
||||
Lflag uint32
|
||||
Cc [20]uint8
|
||||
Ispeed uint32
|
||||
Ospeed uint32
|
||||
}
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build aix darwin,386 darwin,amd64 dragonfly freebsd linux,!android netbsd openbsd solaris
|
||||
// +build aix darwin,amd64 dragonfly freebsd linux,!android netbsd openbsd solaris
|
||||
|
||||
// Parse "zoneinfo" time zone file.
|
||||
// This is a fairly standard file format used on OS X, Linux, BSD, Sun, and others.
|
||||
|
|
|
|||
Loading…
Reference in New Issue