summaryrefslogtreecommitdiff
path: root/libgo/go/syscall
AgeCommit message (Collapse)Author
2017-10-15 PR go/82559ian
Backport from mainline: https://golang.org/cl/46712 https://golang.org/cl/46839 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@253770 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-09Backport correct Go MIPS architecture names from trunk.ian
Brings in the following patches: https://golang.org/cl/46150 https://golang.org/cl/46151 https://golang.org/cl/46152 https://golang.org/cl/46153 https://golang.org/cl/46154 https://gcc.gnu.org/ml/gcc-patches/2017-06/msg01777.html * go.test/go-test.exp (go-set-goarch): Update MIPS architecture names. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@253551 138bc75d-0d04-0410-961f-82ee72b054a4
2017-07-20 PR go/81393ian
syscall: don't use GETREGS/SETREGS on s390 They were removed in recent glibc. This is a backport of https://golang.org/cl/48231 to earlier branches. Define required type and constants in syscall package directly, don't try to pull them from the system header files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@250402 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-18 syscall, golang_org/x/net/lif: fixes for gccgo on Solarisian
Reviewed-on: https://go-review.googlesource.com/35390 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244563 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-14 libgo: update to Go 1.8 release candidate 1ian
Compiler changes: * Change map assignment to use mapassign and assign value directly. * Change string iteration to use decoderune, faster for ASCII strings. * Change makeslice to take int, and use makeslice64 for larger values. * Add new noverflow field to hmap struct used for maps. Unresolved problems, to be fixed later: * Commented out test in go/types/sizes_test.go that doesn't compile. * Commented out reflect.TestStructOf test for padding after zero-sized field. Reviewed-on: https://go-review.googlesource.com/35231 gotools/: Updates for Go 1.8rc1. * Makefile.am (go_cmd_go_files): Add bug.go. (s-zdefaultcc): Write defaultPkgConfig. * Makefile.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244456 138bc75d-0d04-0410-961f-82ee72b054a4
2016-10-13 syscall: don't use pt_regs in clone_linux.cian
It's unnecessary and it reportedly breaks the build on arm64 GNU/Linux. Reviewed-on: https://go-review.googlesource.com/30978 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241084 138bc75d-0d04-0410-961f-82ee72b054a4
2016-10-12 syscall: mark rawClone as no_split_stackian
Reviewed-on: https://go-review.googlesource.com/30955 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241072 138bc75d-0d04-0410-961f-82ee72b054a4
2016-10-12 syscall, internal/syscall/unix: Fix getrandom, clone on sparc64ian
Since sparc is a valid architecture, the name of getrandom_linux_sparc.go means that it will be ignored on sparc64, even though it's whitelisted with a +build line. On SPARC, clone has a unique return value convention which requires some inline assembly to convert it to the normal convention. Reviewed-on: https://go-review.googlesource.com/30873 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241051 138bc75d-0d04-0410-961f-82ee72b054a4
2016-09-20 syscall: build export_unix_test.go on solarisian
Patch from Rainer Orth. Reviewed-on: https://go-review.googlesource.com/29436 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240285 138bc75d-0d04-0410-961f-82ee72b054a4
2016-09-10 libgo: update to Go 1.7.1 releaseian
Reviewed-on: https://go-review.googlesource.com/29012 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240071 138bc75d-0d04-0410-961f-82ee72b054a4
2016-08-13 syscall: remove exec_solaris_test.goian
It is testing functionality that gccgo does not need and does not support. Reviewed-on: https://go-review.googlesource.com/26992 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239438 138bc75d-0d04-0410-961f-82ee72b054a4
2016-08-06 libgo: change build procedure to use build tagsian
Previously the libgo Makefile explicitly listed the set of files to compile for each package. For packages that use build tags, this required a lot of awkward automake conditionals in the Makefile. This CL changes the build to look at the build tags in the files. The new shell script libgo/match.sh does the matching. This required adjusting a lot of build tags, and removing some files that are never used. I verified that the exact same sets of files are compiled on amd64 GNU/Linux. I also tested the build on i386 Solaris. Writing match.sh revealed some bugs in the build tag handling that already exists, in a slightly different form, in the gotest shell script. This CL fixes those problems as well. The old code used automake conditionals to handle systems that were missing strerror_r and wait4. Rather than deal with those in Go, those functions are now implemented in runtime/go-nosys.c when necessary, so the Go code can simply assume that they exist. The os testsuite looked for dir_unix.go, which was never built for gccgo and has now been removed. I changed the testsuite to look for dir.go instead. Reviewed-on: https://go-review.googlesource.com/25546 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239189 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-22 libgo: update to go1.7rc3ian
Reviewed-on: https://go-review.googlesource.com/25150 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238662 138bc75d-0d04-0410-961f-82ee72b054a4
2016-02-26 PR go/69966ian
syscall: Add new Getsockopt functions. Add GetsockoptICMPv6Filter, GetsockoptIPv6MTUInfo, GetsockoptUcred as appropriate. These functions exist in the master library. For GCC PR 69966. Reviewed-on: https://go-review.googlesource.com/19960 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233747 138bc75d-0d04-0410-961f-82ee72b054a4
2016-02-03 libgo: Update to go1.6rc1.ian
Reviewed-on: https://go-review.googlesource.com/19200 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233110 138bc75d-0d04-0410-961f-82ee72b054a4
2015-11-21 PR go/66378ian
syscall: Fix initial offset value in syscall.Sendfile. Bug reported in https://gcc.gnu.org/PR66378. Reviewed-on: https://go-review.googlesource.com/17159 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230699 138bc75d-0d04-0410-961f-82ee72b054a4
2015-11-06 libgo: Solaris portability fixes.ian
Only build net/hook_cloexec.go on GNU/Linux and FreeBSD, because those are the only systems with accept4. Add syscall/libcall_bsd.go to define sendfile for *BSD and Solaris. Revert tcpsockopt_solaris.go back to the earlier version, so that it works on Solaris 10. Always pass the address of a Pid_t value to TIOCGPGRP and TIOCSPGRP. Include <unistd.h> in runtime/go-varargs.c. Reviewed-on: https://go-review.googlesource.com/16719 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229880 138bc75d-0d04-0410-961f-82ee72b054a4
2015-11-02 syscall: Change raw_ioctl cmd type to uintptr.ian
Attempt to fix a build bug report: ../../../../libgo/go/syscall/exec_linux.go:185:37: error: integer constant overflow _, err1 = raw_ioctl_ptr(sys.Ctty, TIOCSPGRP, unsafe.Pointer(&pgrp)) Reviewed-on: https://go-review.googlesource.com/16539 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229674 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-31 runtime: Remove now unnecessary pad field from ParFor.ian
It is not needed due to the removal of the ctx field. Reviewed-on: https://go-review.googlesource.com/16525 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229616 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-15 libgo: don't provide ustat on arm64 GNU/Linuxian
This avoids linker warnings when linking against glibc, as apparently arm64 GNU/Linux does not support the ustat system call. Also update to automake 1.11.6, as that is the new GCC standard. Reviewed-on: https://go-review.googlesource.com/14567 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227777 138bc75d-0d04-0410-961f-82ee72b054a4
2015-08-03 syscall: RawSockaddr fix for ppc64, ppc64leian
The struct RawSockaddr contains a field Data which should be uint8 on ppc64 and ppc64le, but is declared as int8 in gccgo. This change adds a two new files which contain the structure declaration for RawSockaddr, one with the correct types for for ppc64 and ppc64le, and the other for non-ppc64 platforms. Fixes golang/go#11469 Reviewed-on: https://go-review.googlesource.com/11946 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226533 138bc75d-0d04-0410-961f-82ee72b054a4
2015-07-13 syscall: remove calls to Entersyscall & Exitsyscall in Getdentsian
The syscall for Getdents in syscall/libcall_linux.go called Entersyscall and Exitsyscall, causing the runtime_sched counts for goroutines to be incorrect. Inconsistent counts caused checkdead in runtime/proc.c to panic. Fixes golang/go#11406 Reviewed-on: https://go-review.googlesource.com/11761 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225745 138bc75d-0d04-0410-961f-82ee72b054a4
2015-03-06libgo: Upgrade to Go 1.4.2 release.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221245 138bc75d-0d04-0410-961f-82ee72b054a4
2015-01-23 PR go/64573ian
syscall: Restore line somehow lost in libgo merge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220068 138bc75d-0d04-0410-961f-82ee72b054a4
2015-01-15libgo, compiler: Upgrade libgo to Go 1.4, except for runtime.ian
This upgrades all of libgo other than the runtime package to the Go 1.4 release. In Go 1.4 much of the runtime was rewritten into Go. Merging that code will take more time and will not change the API, so I'm putting it off for now. There are a few runtime changes anyhow, to accomodate other packages that rely on minor modifications to the runtime support. The compiler changes slightly to add a one-bit flag to each type descriptor kind that is stored directly in an interface, which for gccgo is currently only pointer types. Another one-bit flag (gcprog) is reserved because it is used by the gc compiler, but gccgo does not currently use it. There is another error check in the compiler since I ran across it during testing. gotools/: * Makefile.am (go_cmd_go_files): Sort entries. Add generate.go. * Makefile.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219627 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-04libgo: add s390 supportian
From Dominik Vogt. * libgo/go/syscall/libcall_linux_s390.go: New file for s390 support. * libgo/go/syscall/syscall_linux_s390.go: Ditto. * libgo/go/syscall/libcall_linux_s390x.go: New file for s390x support. * libgo/go/syscall/syscall_linux_s390x.go: Ditto. * libgo/go/runtime/pprof/pprof.go (printStackRecord): Support s390 and s390x. * libgo/runtime/runtime.c (runtime_cputicks): Add support for s390 and s390x * libgo/mksysinfo.sh: Ditto. (upcase_fields): New helper function * libgo/go/debug/elf/file.go (applyRelocations): Implement relocations on s390x. (applyRelocationsS390x): Ditto. (DWARF): Ditto. * libgo/go/debug/elf/elf.go (R_390): New constants for S390 relocations. (r390Strings): Ditto. (String): Helper function for S390 relocations. (GoString): Ditto. * libgo/go/reflect/makefuncgo_s390.go: New file. (S390MakeFuncStubGo): Implementation of s390 abi. * libgo/go/reflect/makefuncgo_s390x.go: New file. (S390xMakeFuncStubGo): Implementation of s390x abi. * libgo/go/reflect/makefunc_s390.c: New file. (makeFuncStub): s390 and s390x specific implementation of function. * libgo/go/reflect/makefunc.go (MakeFunc): Add support for s390 and s390x. (makeMethodValue): Ditto. (makeValueMethod): Ditto. * libgo/Makefile.am (go_reflect_makefunc_s_file): Ditto. (go_reflect_makefunc_file): Ditto. * libgo/go/reflect/makefunc_dummy.c: Ditto. * libgo/runtime/runtime.h (__go_makefunc_can_recover): Export prototype for use in makefunc_s390.c. (__go_makefunc_returning): Ditto. * libgo/go/syscall/exec_linux.go (forkAndExecInChild): Fix order of the arguments of the clone system call for s390[x]. * libgo/configure.ac (is_s390): New variable. (is_s390x): Ditto (LIBGO_IS_S390): Ditto. (LIBGO_IS_S390X): Ditto. (GOARCH): Support s390 and s390x. * libgo/go/go/build/build.go (cgoEnabled): Ditto. * libgo/go/go/build/syslist.go (goarchList): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217106 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-05runtime: Use the clone system call on GNU/Linux.ian
Without this we weren't supporting the standard Cloneflags field of SysProcAttr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214972 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-19libgo: Update to Go 1.3 release.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212837 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-06libgo: Merge to master revision 19184.ian
The next revision, 19185, renames several runtime files, and will be handled in a separate change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211328 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-04libgo: Merge from revision 18783:00cce3a34d7e of master library.ian
This revision was committed January 7, 2014. The next revision deleted runtime/mfinal.c. That will be done in a subsequent merge. This merge changes type descriptors to add a zero field, pointing to a zero value for that type. This is implemented as a common variable. * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and alignment parameters. Permit init parameter to be NULL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211249 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-17gofrontend: deduplicate C syscall function declarationsian
A gccgo language extension allows a function to be declared multiple times. Avoid the use of this extension by dedeplicating declarations in mksyscall.awk. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209508 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-17runtime: remove use of obsolete map deletion syntaxian
The use of this syntax was eliminated upstream in Go 992248b2adc2, but this particular use slipped through somehow. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209506 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-17gofrontend: avoid use of unsafe.Sizeof extensionian
Avoid the use of a gccgo language extension which allows unsafe.Sizeof to accept a type by passing an expression of the relevant type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209503 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-25syscall: Set SizeofSockaddrAny to the value the go distribution usesian
In particular this means that the names Getsockname returns are not truncated to 26 characters. Fixes issue 6829 https://codereview.appspot.com/31840043/ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205368 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-24syscall: Only call varargs libc functions from C code.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205321 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-06libgo: Update to October 24 version of master library.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204466 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-17syscall: Add Dup3, {Get,List,Remove,Set}xattr, {Get,Set}priority.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203788 138bc75d-0d04-0410-961f-82ee72b054a4
2013-08-02syscall: Change AWK split call to use []+ rather than []*.ian
Using []* fails with the awk that is part of busybox: https://groups.google.com/d/msg/gofrontend-dev/NbQsG_AMDpY/sXCc03kkwn4J git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201455 138bc75d-0d04-0410-961f-82ee72b054a4
2013-07-24net: Only use GNU/Linux unix socket abstract paths on GNU/Linux.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201217 138bc75d-0d04-0410-961f-82ee72b054a4
2013-07-16libgo: Update to Go 1.1.1.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200974 138bc75d-0d04-0410-961f-82ee72b054a4
2013-02-20 PR go/56171ian
syscall: Solaris fixes for passing file descriptor. From Rainer Orth. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196180 138bc75d-0d04-0410-961f-82ee72b054a4
2013-02-08syscall: Always use _C_int for C libcalls.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195897 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-29libgo: Update Go library to master revision 15489/921e53d4863c.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195560 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-24 PR go/46986ian
all: prepend #__USER_LABEL_PREFIX__ to mangled Go symbols For old-fashioned Darwin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195438 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-22libgo: Update to revision 15193:6fdc1974457c of master library.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194692 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-12libgo: Update to current master library sources.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194460 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-05syscall: Fix splice syscall.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194185 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-24syscall: Fix handling of Unix domain @ addresses.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193783 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-21libgo: Update to current version of master library.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193688 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-12syscall: Force first letter of error message to lower case.ian
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193449 138bc75d-0d04-0410-961f-82ee72b054a4