diff mbox

[libgo] : Move Iopl and Ioperm to 368/amd64 specific libcall_linux_*.go files.

Message ID 4EE6AB9E.4000907@cavium.com
State New
Headers show

Commit Message

David Daney Dec. 13, 2011, 1:34 a.m. UTC
Ian,

As discussed several months ago, libgo will not run on mips because it 
references the x86 specific system calls iopl() and ioperm().  These 
system calls do not exist in mips*-linux, so we move them to new 
368/amd64 specific libcall_linux_*.go files.

The attached patch was tested on x86_64-linux-gnu with no libgo 
failures.  There are still some other problems with mips*-linux, but 
this makes forward progress.

It is unclear what kind of change log is required, so I do not supply one.

Cavium, Inc. should now have a corporate contributor license agreement 
on file, so I think you can commit this upstream if acceptable.

Thanks,
David Daney
diff mbox

Patch

Index: go/syscall/libcall_linux_amd64.go
===================================================================
--- go/syscall/libcall_linux_amd64.go	(revision 0)
+++ go/syscall/libcall_linux_amd64.go	(revision 0)
@@ -0,0 +1,13 @@ 
+// Copyright 2011 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.
+
+// GNU/Linux library calls amd64 specific.
+
+package syscall
+
+//sys	Ioperm(from int, num int, on int) (errno int)
+//ioperm(from _C_long, num _C_long, on int) int
+
+//sys	Iopl(level int) (errno int)
+//iopl(level int) int
Index: go/syscall/libcall_linux_386.go
===================================================================
--- go/syscall/libcall_linux_386.go	(revision 0)
+++ go/syscall/libcall_linux_386.go	(revision 0)
@@ -0,0 +1,13 @@ 
+// Copyright 2011 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.
+
+// GNU/Linux library calls 386 specific.
+
+package syscall
+
+//sys	Ioperm(from int, num int, on int) (errno int)
+//ioperm(from _C_long, num _C_long, on int) int
+
+//sys	Iopl(level int) (errno int)
+//iopl(level int) int
Index: go/syscall/libcall_linux.go
===================================================================
--- go/syscall/libcall_linux.go	(revision 182179)
+++ go/syscall/libcall_linux.go	(working copy)
@@ -207,12 +207,6 @@  func PtraceDetach(pid int) (errno int) {
 // //sysnb	Gettid() (tid int)
 // //gettid() Pid_t
 
-//sys	Ioperm(from int, num int, on int) (errno int)
-//ioperm(from _C_long, num _C_long, on int) int
-
-//sys	Iopl(level int) (errno int)
-//iopl(level int) int
-
 // FIXME: mksysinfo linux_dirent
 //    Or just abandon this function.
 // //sys	Getdents(fd int, buf []byte) (n int, errno int)