gcc/libgo/go/syscall
Ian Lance Taylor 1fec5f5274 libgo: add s390 support
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.

From-SVN: r217106
2014-11-04 22:39:30 +00:00
..
bpf_bsd.go libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
creds_test.go
dir_plan9.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
env_plan9.go libgo: Update to Go 1.1.1. 2013-07-16 06:54:42 +00:00
env_unix.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
env_windows.go libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
errno.c
errstr.go
errstr_linux.go
errstr_nor.go
exec_bsd.go libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
exec_linux.go libgo: add s390 support 2014-11-04 22:39:30 +00:00
exec_stubs.go
exec_unix.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
exec_windows.go
libcall_irix.go syscall: Always use _C_int for C libcalls. 2013-02-08 19:24:26 +00:00
libcall_linux.go syscall: Only call varargs libc functions from C code. 2013-11-24 02:38:28 +00:00
libcall_linux_386.go syscall: Always use _C_int for C libcalls. 2013-02-08 19:24:26 +00:00
libcall_linux_alpha.go syscall: Always use _C_int for C libcalls. 2013-02-08 19:24:26 +00:00
libcall_linux_amd64.go syscall: Always use _C_int for C libcalls. 2013-02-08 19:24:26 +00:00
libcall_linux_s390.go libgo: add s390 support 2014-11-04 22:39:30 +00:00
libcall_linux_s390x.go libgo: add s390 support 2014-11-04 22:39:30 +00:00
libcall_linux_utimesnano.go syscall: Always use _C_int for C libcalls. 2013-02-08 19:24:26 +00:00
libcall_posix.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
libcall_posix_largefile.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
libcall_posix_regfile.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
libcall_posix_utimesnano.go
libcall_solaris_386.go syscall: Always use _C_int for C libcalls. 2013-02-08 19:24:26 +00:00
libcall_solaris_amd64.go
libcall_solaris_sparc.go syscall: Always use _C_int for C libcalls. 2013-02-08 19:24:26 +00:00
libcall_solaris_sparc64.go
libcall_support.go
libcall_uname.go
libcall_wait4.go
libcall_waitpid.go
lsf_linux.go libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
mksyscall.awk libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
mmap_unix_test.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
netlink_linux.go libgo: Update Go library to master revision 15489/921e53d4863c. 2013-01-29 20:52:43 +00:00
race0.go libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
route_bsd.go libgo: Merge from revision 18783:00cce3a34d7e of master library. 2014-06-04 23:15:33 +00:00
route_darwin.go libgo: Update to Go 1.1.1. 2013-07-16 06:54:42 +00:00
route_dragonfly.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
route_freebsd.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
route_freebsd_32bit.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
route_freebsd_64bit.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
route_netbsd.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
route_openbsd.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
security_windows.go libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
signame.c libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
sleep_rtems.go
sleep_select.go
sockcmsg_linux.go libgo: Update Go library to master revision 15489/921e53d4863c. 2013-01-29 20:52:43 +00:00
sockcmsg_unix.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
socket.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
socket_bsd.go net: Only use GNU/Linux unix socket abstract paths on GNU/Linux. 2013-07-24 16:53:17 +00:00
socket_irix.go net: Only use GNU/Linux unix socket abstract paths on GNU/Linux. 2013-07-24 16:53:17 +00:00
socket_linux.go net: Only use GNU/Linux unix socket abstract paths on GNU/Linux. 2013-07-24 16:53:17 +00:00
socket_posix.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
socket_solaris.go net: Only use GNU/Linux unix socket abstract paths on GNU/Linux. 2013-07-24 16:53:17 +00:00
socket_xnet.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
str.go
syscall.go
syscall_errno.go
syscall_linux_386.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
syscall_linux_alpha.go
syscall_linux_amd64.go
syscall_linux_s390.go libgo: add s390 support 2014-11-04 22:39:30 +00:00
syscall_linux_s390x.go libgo: add s390 support 2014-11-04 22:39:30 +00:00
syscall_solaris.go
syscall_stubs.go
syscall_test.go libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
syscall_unix.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
syscall_unix_test.go libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
wait.c