summaryrefslogtreecommitdiff
path: root/src/pkg/syscall/zsyscall_linux_386.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-06-16 17:17:02 -0700
committerRuss Cox <rsc@golang.org>2009-06-16 17:17:02 -0700
commit67d5e00af1c62a237623278b0181b98f25a3179c (patch)
treee6f2ed8488a281a586664e0a0085aa6fe227365e /src/pkg/syscall/zsyscall_linux_386.go
parent16cf893acaf7106a53a595ac6ca736026a617f93 (diff)
downloadgolang-67d5e00af1c62a237623278b0181b98f25a3179c.tar.gz
386 system call fixes:
* use 64-bit file system calls (Linux, Darwin) * use 32-bit [sic] uid/gid calls (Linux) * fix sockets on Linux Darwin/386 works again. Linux/386 is better but must never have worked; there are still bugs surrounding the creation of new threads in the runtime package. R=austin DELTA=1332 (673 added, 614 deleted, 45 changed) OCL=30327 CL=30380
Diffstat (limited to 'src/pkg/syscall/zsyscall_linux_386.go')
-rw-r--r--src/pkg/syscall/zsyscall_linux_386.go269
1 files changed, 130 insertions, 139 deletions
diff --git a/src/pkg/syscall/zsyscall_linux_386.go b/src/pkg/syscall/zsyscall_linux_386.go
index ef323b088..6e82bbb1b 100644
--- a/src/pkg/syscall/zsyscall_linux_386.go
+++ b/src/pkg/syscall/zsyscall_linux_386.go
@@ -1,4 +1,4 @@
-// mksyscall syscall_linux.go syscall_linux_386.go
+// mksyscall -l32 syscall_linux.go syscall_linux_386.go
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
package syscall
@@ -35,19 +35,6 @@ func Getcwd(buf []byte) (n int, errno int) {
return;
}
-func getgroups(n int, list *_Gid_t) (nn int, errno int) {
- r0, r1, e1 := Syscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0);
- nn = int(r0);
- errno = int(e1);
- return;
-}
-
-func setgroups(n int, list *_Gid_t) (errno int) {
- r0, r1, e1 := Syscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0);
- errno = int(e1);
- return;
-}
-
func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, errno int) {
r0, r1, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0);
wpid = int(r0);
@@ -86,12 +73,6 @@ func Chmod(path string, mode int) (errno int) {
return;
}
-func Chown(path string, uid int, gid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid));
- errno = int(e1);
- return;
-}
-
func Chroot(path string) (errno int) {
r0, r1, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0);
errno = int(e1);
@@ -182,12 +163,6 @@ func Fchmodat(dirfd int, path string, mode int, flags int) (errno int) {
return;
}
-func Fchown(fd int, uid int, gid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid));
- errno = int(e1);
- return;
-}
-
func Fchownat(dirfd int, path string, uid int, gid int, flags int) (errno int) {
r0, r1, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid), uintptr(flags), 0);
errno = int(e1);
@@ -207,18 +182,6 @@ func Fdatasync(fd int) (errno int) {
return;
}
-func Fstat(fd int, stat *Stat_t) (errno int) {
- r0, r1, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0);
- errno = int(e1);
- return;
-}
-
-func Fstatfs(fd int, buf *Statfs_t) (errno int) {
- r0, r1, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0);
- errno = int(e1);
- return;
-}
-
func Fsync(fd int) (errno int) {
r0, r1, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0);
errno = int(e1);
@@ -240,24 +203,6 @@ func Getdents(fd int, buf []byte) (n int, errno int) {
return;
}
-func Getegid() (egid int) {
- r0, r1, e1 := Syscall(SYS_GETEGID, 0, 0, 0);
- egid = int(r0);
- return;
-}
-
-func Geteuid() (euid int) {
- r0, r1, e1 := Syscall(SYS_GETEUID, 0, 0, 0);
- euid = int(r0);
- return;
-}
-
-func Getgid() (gid int) {
- r0, r1, e1 := Syscall(SYS_GETGID, 0, 0, 0);
- gid = int(r0);
- return;
-}
-
func Getpgid(pid int) (pgid int, errno int) {
r0, r1, e1 := Syscall(SYS_GETPGID, uintptr(pid), 0, 0);
pgid = int(r0);
@@ -307,12 +252,6 @@ func Gettimeofday(tv *Timeval) (errno int) {
return;
}
-func Getuid() (uid int) {
- r0, r1, e1 := Syscall(SYS_GETUID, 0, 0, 0);
- uid = int(r0);
- return;
-}
-
func Ioperm(from int, num int, on int) (errno int) {
r0, r1, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on));
errno = int(e1);
@@ -340,24 +279,12 @@ func Klogctl(typ int, buf []byte) (n int, errno int) {
return;
}
-func Lchown(path string, uid int, gid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid));
- errno = int(e1);
- return;
-}
-
func Link(oldpath string, newpath string) (errno int) {
r0, r1, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(StringBytePtr(oldpath))), uintptr(unsafe.Pointer(StringBytePtr(newpath))), 0);
errno = int(e1);
return;
}
-func Lstat(path string, stat *Stat_t) (errno int) {
- r0, r1, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0);
- errno = int(e1);
- return;
-}
-
func Mkdir(path string, mode int) (errno int) {
r0, r1, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0);
errno = int(e1);
@@ -468,13 +395,6 @@ func Rmdir(path string) (errno int) {
return;
}
-func Seek(fd int, offset int64, whence int) (off int64, errno int) {
- r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset >> 32), uintptr(whence), 0, 0);
- off = int64(r0);
- errno = int(e1);
- return;
-}
-
func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, errno int) {
r0, r1, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0);
n = int(r0);
@@ -490,24 +410,6 @@ func Setdomainname(p []byte) (errno int) {
return;
}
-func Setfsgid(gid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0);
- errno = int(e1);
- return;
-}
-
-func Setfsuid(uid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0);
- errno = int(e1);
- return;
-}
-
-func Setgid(gid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_SETGID, uintptr(gid), 0, 0);
- errno = int(e1);
- return;
-}
-
func Sethostname(p []byte) (errno int) {
var _p0 *byte;
if len(p) > 0 { _p0 = &p[0]; }
@@ -522,30 +424,6 @@ func Setpgid(pid int, pgid int) (errno int) {
return;
}
-func Setregid(rgid int, egid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0);
- errno = int(e1);
- return;
-}
-
-func Setresgid(rgid int, egid int, sgid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid));
- errno = int(e1);
- return;
-}
-
-func Setresuid(ruid int, euid int, suid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid));
- errno = int(e1);
- return;
-}
-
-func Setreuid(ruid int, euid int) (errno int) {
- r0, r1, e1 := Syscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0);
- errno = int(e1);
- return;
-}
-
func Setrlimit(resource int, rlim *Rlimit) (errno int) {
r0, r1, e1 := Syscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0);
errno = int(e1);
@@ -572,20 +450,7 @@ func Setuid(uid int) (errno int) {
func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, errno int) {
r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags));
- n = int64(r0);
- errno = int(e1);
- return;
-}
-
-func Stat(path string, stat *Stat_t) (errno int) {
- r0, r1, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0);
- errno = int(e1);
- return;
-}
-
-func Statfs(path string, buf *Statfs_t) (errno int) {
- r0, r1, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(buf)), 0);
- errno = int(e1);
+ n = int64(int64(r1)<<32 | int64(r0));
return;
}
@@ -614,8 +479,7 @@ func Sysinfo(info *Sysinfo_t) (errno int) {
func Tee(rfd int, wfd int, len int, flags int) (n int64, errno int) {
r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0);
- n = int64(r0);
- errno = int(e1);
+ n = int64(int64(r1)<<32 | int64(r0));
return;
}
@@ -716,5 +580,132 @@ func write(fd int, p *byte, np int) (n int, errno int) {
return;
}
+func Chown(path string, uid int, gid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_CHOWN32, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid));
+ errno = int(e1);
+ return;
+}
+
+func Fchown(fd int, uid int, gid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid));
+ errno = int(e1);
+ return;
+}
+
+func Fstat(fd int, stat *Stat_t) (errno int) {
+ r0, r1, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0);
+ errno = int(e1);
+ return;
+}
+
+func Fstatfs(fd int, buf *Statfs_t) (errno int) {
+ r0, r1, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0);
+ errno = int(e1);
+ return;
+}
+
+func Getegid() (egid int) {
+ r0, r1, e1 := Syscall(SYS_GETEGID32, 0, 0, 0);
+ egid = int(r0);
+ return;
+}
+
+func Geteuid() (euid int) {
+ r0, r1, e1 := Syscall(SYS_GETEUID32, 0, 0, 0);
+ euid = int(r0);
+ return;
+}
+
+func Getgid() (gid int) {
+ r0, r1, e1 := Syscall(SYS_GETGID32, 0, 0, 0);
+ gid = int(r0);
+ return;
+}
+
+func Getuid() (uid int) {
+ r0, r1, e1 := Syscall(SYS_GETUID32, 0, 0, 0);
+ uid = int(r0);
+ return;
+}
+
+func Lchown(path string, uid int, gid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid));
+ errno = int(e1);
+ return;
+}
+
+func Lstat(path string, stat *Stat_t) (errno int) {
+ r0, r1, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0);
+ errno = int(e1);
+ return;
+}
+
+func Setfsgid(gid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0);
+ errno = int(e1);
+ return;
+}
+
+func Setfsuid(uid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0);
+ errno = int(e1);
+ return;
+}
+
+func Setgid(gid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_SETGID32, uintptr(gid), 0, 0);
+ errno = int(e1);
+ return;
+}
+
+func Setregid(rgid int, egid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0);
+ errno = int(e1);
+ return;
+}
+
+func Setresgid(rgid int, egid int, sgid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid));
+ errno = int(e1);
+ return;
+}
+
+func Setresuid(ruid int, euid int, suid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid));
+ errno = int(e1);
+ return;
+}
+
+func Setreuid(ruid int, euid int) (errno int) {
+ r0, r1, e1 := Syscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0);
+ errno = int(e1);
+ return;
+}
+
+func Stat(path string, stat *Stat_t) (errno int) {
+ r0, r1, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0);
+ errno = int(e1);
+ return;
+}
+
+func Statfs(path string, buf *Statfs_t) (errno int) {
+ r0, r1, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(buf)), 0);
+ errno = int(e1);
+ return;
+}
+
+func getgroups(n int, list *_Gid_t) (nn int, errno int) {
+ r0, r1, e1 := Syscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0);
+ nn = int(r0);
+ errno = int(e1);
+ return;
+}
+
+func setgroups(n int, list *_Gid_t) (errno int) {
+ r0, r1, e1 := Syscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0);
+ errno = int(e1);
+ return;
+}
+