r239189 - in /trunk: gcc/go/gofrontend/MERGE li...
ian@gcc.gnu.org
ian@gcc.gnu.org
Sat Aug 6 00:36:00 GMT 2016
Author: ian
Date: Sat Aug 6 00:36:33 2016
New Revision: 239189
URL: https://gcc.gnu.org/viewcvs?rev=239189&root=gcc&view=rev
Log:
libgo: change build procedure to use build tags
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
Added:
trunk/libgo/match.sh (with props)
Removed:
trunk/libgo/go/net/fd_select.go
trunk/libgo/go/os/dir_unix.go
trunk/libgo/go/runtime/cgo_mips64x.go
trunk/libgo/go/runtime/cgo_ppc64x.go
trunk/libgo/go/runtime/defs_linux_mips64x.go
trunk/libgo/go/runtime/defs_linux_s390x.go
trunk/libgo/go/runtime/defs_plan9_arm.go
trunk/libgo/go/runtime/msan.go
trunk/libgo/go/runtime/os_android.go
trunk/libgo/go/runtime/os_linux_generic.go
trunk/libgo/go/runtime/os_linux_mips64x.go
trunk/libgo/go/runtime/os_linux_noauxv.go
trunk/libgo/go/runtime/os_linux_s390x.go
trunk/libgo/go/runtime/os_netbsd_386.go
trunk/libgo/go/runtime/os_netbsd_amd64.go
trunk/libgo/go/runtime/os_plan9_arm.go
trunk/libgo/go/runtime/signal_linux_mips64x.go
trunk/libgo/go/runtime/signal_linux_s390x.go
trunk/libgo/go/runtime/signal_mips64x.go
trunk/libgo/go/runtime/sigtab_linux_generic.go
trunk/libgo/go/runtime/sigtab_linux_mips64x.go
trunk/libgo/go/runtime/sys_mips64x.go
trunk/libgo/go/runtime/sys_nonppc64x.go
trunk/libgo/go/runtime/sys_s390x.go
trunk/libgo/go/runtime/vlrt.go
trunk/libgo/go/runtime/write_err.go
trunk/libgo/go/runtime/write_err_android.go
trunk/libgo/go/syscall/errstr_nor.go
trunk/libgo/go/syscall/libcall_waitpid.go
trunk/libgo/go/syscall/msan.go
Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/Makefile.am
trunk/libgo/Makefile.in
trunk/libgo/go/crypto/aes/aes_gcm.go
trunk/libgo/go/crypto/aes/cipher_amd64.go
trunk/libgo/go/crypto/aes/cipher_generic.go
trunk/libgo/go/crypto/aes/cipher_s390x.go
trunk/libgo/go/crypto/elliptic/p256.go
trunk/libgo/go/crypto/elliptic/p256_amd64.go
trunk/libgo/go/crypto/md5/md5block_decl.go
trunk/libgo/go/crypto/md5/md5block_generic.go
trunk/libgo/go/crypto/rc4/rc4_asm.go
trunk/libgo/go/crypto/rc4/rc4_ref.go
trunk/libgo/go/crypto/sha1/fallback_test.go
trunk/libgo/go/crypto/sha1/sha1block_amd64.go
trunk/libgo/go/crypto/sha1/sha1block_decl.go
trunk/libgo/go/crypto/sha1/sha1block_generic.go
trunk/libgo/go/crypto/sha1/sha1block_s390x.go
trunk/libgo/go/crypto/sha256/sha256block_decl.go
trunk/libgo/go/crypto/sha256/sha256block_generic.go
trunk/libgo/go/crypto/sha256/sha256block_s390x.go
trunk/libgo/go/crypto/sha512/fallback_test.go
trunk/libgo/go/crypto/sha512/sha512block_decl.go
trunk/libgo/go/crypto/sha512/sha512block_generic.go
trunk/libgo/go/crypto/sha512/sha512block_s390x.go
trunk/libgo/go/hash/crc32/crc32_amd64.go
trunk/libgo/go/hash/crc32/crc32_generic.go
trunk/libgo/go/log/syslog/syslog_libc.go
trunk/libgo/go/log/syslog/syslog_unix.go
trunk/libgo/go/math/big/arith_decl.go
trunk/libgo/go/math/big/arith_decl_pure.go
trunk/libgo/go/math/floor_asm.go
trunk/libgo/go/net/newpollserver_rtems.go
trunk/libgo/go/os/dir_largefile.go
trunk/libgo/go/os/dir_regfile.go
trunk/libgo/go/os/os_test.go
trunk/libgo/go/os/stat.go
trunk/libgo/go/os/stat_atim.go
trunk/libgo/go/os/stat_atimespec.go
trunk/libgo/go/os/stat_solaris.go
trunk/libgo/go/os/sys_uname.go
trunk/libgo/go/runtime/cgo_mmap.go
trunk/libgo/go/runtime/cgocheck.go
trunk/libgo/go/runtime/fastlog2.go
trunk/libgo/go/runtime/fastlog2table.go
trunk/libgo/go/runtime/lfstack_64bit.go
trunk/libgo/go/runtime/mmap.go
trunk/libgo/go/runtime/msan0.go
trunk/libgo/go/runtime/mstkbar.go
trunk/libgo/go/runtime/print.go
trunk/libgo/go/runtime/signal2_unix.go
trunk/libgo/go/runtime/signal_sigtramp.go
trunk/libgo/go/runtime/stack.go
trunk/libgo/go/strings/strings_amd64.go
trunk/libgo/go/strings/strings_generic.go
trunk/libgo/go/syscall/errstr.go
trunk/libgo/go/syscall/errstr_linux.go
trunk/libgo/go/syscall/exec_bsd.go
trunk/libgo/go/syscall/exec_stubs.go
trunk/libgo/go/syscall/libcall_bsd.go
trunk/libgo/go/syscall/libcall_irix.go
trunk/libgo/go/syscall/libcall_linux_ustat.go
trunk/libgo/go/syscall/libcall_posix_largefile.go
trunk/libgo/go/syscall/libcall_posix_regfile.go
trunk/libgo/go/syscall/libcall_posix_utimesnano.go
trunk/libgo/go/syscall/libcall_uname.go
trunk/libgo/go/syscall/sleep_rtems.go
trunk/libgo/go/syscall/sleep_select.go
trunk/libgo/go/syscall/socket_bsd.go
trunk/libgo/go/syscall/socket_irix.go
trunk/libgo/go/syscall/socket_linux_ppc64x_type.go
trunk/libgo/go/syscall/socket_linux_type.go
trunk/libgo/go/syscall/socket_posix.go
trunk/libgo/go/syscall/socket_xnet.go
trunk/libgo/go/syscall/syscall_stubs.go
trunk/libgo/godeps.sh
trunk/libgo/runtime/go-nosys.c
trunk/libgo/testsuite/gotest
Propchange: trunk/libgo/match.sh
('svn:executable' added)
More information about the Gcc-cvs
mailing list