aboutsummaryrefslogtreecommitdiff
path: root/src/lib/syscall
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-06-04 11:16:03 -0700
committerRuss Cox <rsc@golang.org>2009-06-04 11:16:03 -0700
commit3a0df4c451b1db1eb8ab178d4cd2522496bc892d (patch)
tree93ccc52d7ec8faec7c4604dee258e7bbc7d8165e /src/lib/syscall
parentf51ca384eba74692315b51b1db99d412f4472e17 (diff)
downloadgo-3a0df4c451b1db1eb8ab178d4cd2522496bc892d.tar.xz
more 386 runtime fixes.
can pass many tests; current stumbling block is an 8l bug. R=r DELTA=122 (83 added, 8 deleted, 31 changed) OCL=29872 CL=29876
Diffstat (limited to 'src/lib/syscall')
-rw-r--r--src/lib/syscall/asm_darwin_386.s2
-rw-r--r--src/lib/syscall/syscall_darwin_386.go9
-rw-r--r--src/lib/syscall/syscall_darwin_amd64.go5
3 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/syscall/asm_darwin_386.s b/src/lib/syscall/asm_darwin_386.s
index 7fb90c28a5..a8ec5b00cf 100644
--- a/src/lib/syscall/asm_darwin_386.s
+++ b/src/lib/syscall/asm_darwin_386.s
@@ -48,7 +48,7 @@ TEXT syscall·Syscall6(SB),7,$0
MOVSL
MOVSL
INT $0x80
- JAE ok
+ JAE ok6
MOVL $-1, 32(SP) // r1
MOVL $-1, 36(SP) // r2
MOVL AX, 40(SP) // errno
diff --git a/src/lib/syscall/syscall_darwin_386.go b/src/lib/syscall/syscall_darwin_386.go
index 6f82e04e48..5633d7c034 100644
--- a/src/lib/syscall/syscall_darwin_386.go
+++ b/src/lib/syscall/syscall_darwin_386.go
@@ -6,6 +6,10 @@ package syscall
import "syscall"
+func Getpagesize() int {
+ return 4096
+}
+
func TimespecToNsec(ts Timespec) int64 {
return int64(ts.Sec)*1e9 + int64(ts.Nsec);
}
@@ -38,3 +42,8 @@ func Gettimeofday(tv *Timeval) (errno int) {
return err;
}
+func SetKevent(k *Kevent_t, fd, mode, flags int) {
+ k.Ident = uint32(fd);
+ k.Filter = int16(mode);
+ k.Flags = uint16(flags);
+}
diff --git a/src/lib/syscall/syscall_darwin_amd64.go b/src/lib/syscall/syscall_darwin_amd64.go
index 8620232230..f7a93f1216 100644
--- a/src/lib/syscall/syscall_darwin_amd64.go
+++ b/src/lib/syscall/syscall_darwin_amd64.go
@@ -42,3 +42,8 @@ func Gettimeofday(tv *Timeval) (errno int) {
return err;
}
+func SetKevent(k *Kevent_t, fd, mode, flags int) {
+ k.Ident = uint64(fd);
+ k.Filter = int16(mode);
+ k.Flags = uint16(flags);
+}