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