aboutsummaryrefslogtreecommitdiff
path: root/libgo/Makefile.in
AgeCommit message (Collapse)AuthorFilesLines
2015-09-15libgo: If compiler can split-stack and linker can not, use -fno-split-stack.Ian Lance Taylor1-1/+2
If the compiler supports split-stack but we are using a gold linker that does not, as happens on PPC with current GCC but old gold, then we need to compile the Go code with -fno-split-stack to avoid a linker error avoid the inability to call from split-stack code to non-split-stack code. Reviewed-on: https://go-review.googlesource.com/14598 From-SVN: r227811
2015-09-15libgo: don't provide ustat on arm64 GNU/LinuxIan Lance Taylor1-159/+230
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 From-SVN: r227777
2015-09-10libgo: Use stat_atim.go on Solaris 12+Ian Lance Taylor1-1/+2
From Rainer Orth. Solaris 12 changes the stat_[amc]tim members of struct stat from timestruc_t to timespec_t for XPG7 compatiblity, thus breaking the libgo build. The following patch checks for this change and uses the common stat_atim.go if appropriate. Reviewed-on: https://go-review.googlesource.com/14495 From-SVN: r227665
2015-08-03syscall: RawSockaddr fix for ppc64, ppc64leIan Lance Taylor1-0/+5
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 From-SVN: r226533
2015-04-29runtime: Support -buildmode=c-shared.Ian Lance Taylor1-4/+31
These changes permit using the go tool from the upcoming Go 1.5 release with -buildmode=c-archive to build gccgo code into an archive file that can be linked with a C program. From-SVN: r222594
2015-04-24re PR go/65616 (libgobegin.a not compiled with -fPIC)Ian Lance Taylor1-13/+32
PR go/65616 libgo: Compile go-main, in libgobegin, with -fPIC. From-SVN: r222431
2015-04-07re PR go/63731 (Fallback to netgo does not work)Ian Lance Taylor1-27/+63
PR go/63731 libgo: Build and install libnetgo.a libnetgo.a provides the net package built with the netgo tag enabled. This provides the netgo fallback solution for gccgo. This lib must be explicitly linked in using the -gccgoflags, so is not included by default. From-SVN: r221906
2015-03-25re PR go/65570 (cannot find package "runtime/cgo")Ian Lance Taylor1-1/+1
PR go/65570 libgo/Makefile.am: add runtime/cgo to list of standard packages The runtime/cgo package is treated specially by the go tool. It needs to know that it is always available for gccgo. From-SVN: r221673
2015-03-24re PR go/65462 (Use of 'go get' with gccgo is not finding dependencies ↵Ian Lance Taylor1-17/+31
correctly) PR go/65462 cmd: Fix dependencies for 'go get' with gccgo Problem described in GCC BZ 65462. Generate the list of the standard GO package names based on what was built into libgo in the libgo Makefile. Change the var name from reqPkgSrc to reqStdPkgSrc to clarify it only affects standard GO packages. Skip the attempted loading of a package only if it is a standard GO package and the flag is set indicating its source is not required to be available. This requires a corresponding change to gotools to build and link in the new file containing the list of standard GO package names that was generated by the libgo Makefile. gotools/: PR go/65462 * Makefile.am (go_cmd_go_files): Add $(libgodir)/zstdpkglist.go. * Makefile.in: Rebuild. From-SVN: r221643
2015-01-21runtime: Add the Go language version information to the Version output.Ian Lance Taylor1-1/+1
From-SVN: r219976
2015-01-16compiler, reflect, runtime: Use static chain for closures.Richard Henderson1-39/+5
Change from using __go_set_closure to passing the closure value in the static chain field. Uses new backend support for setting the closure chain in a call from C via __builtin_call_with_static_chain. Uses new support in libffi for Go closures. The old architecture specific support for reflect.MakeFunc is removed, replaced by the libffi support. All work done by Richard Henderson. * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument. (Gcc_backend::static_chain_variable): New method. From-SVN: r219776
2015-01-16net: Restore earlier Solaris-specific version of setKeepAlivePeriod.Ian Lance Taylor1-2/+3
The version from the master repository seems to be appropriate for OpenSolaris but not for Solaris itself. Solaris 11.2 proper does not define TCP_KEEPIDLE or TCP_KEEPINTVL. From-SVN: r219749
2015-01-15libgo, compiler: Upgrade libgo to Go 1.4, except for runtime.Ian Lance Taylor1-27/+78
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. From-SVN: r219627
2015-01-06libgo: Add sources for go, cgo, and gofmt commands.Ian Lance Taylor1-0/+2
The new commands are not yet built. That will be done separately. Also include a few changes to go/build to support them. From-SVN: r219272
2014-12-17mksysinfo: Pass -O to compiler to avoid warnings on CentOS.Ian Lance Taylor1-1/+1
From Uros Bizjak. https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01366.html From-SVN: r218819
2014-12-01runtime: introduce mvifdiff.sh script to replace GCC's move-if-changeIan Lance Taylor1-6/+6
This goes towards making libgo more self-contained. From-SVN: r218198
2014-11-14runtime: set library name based on compiler nameIan Lance Taylor1-37/+54
Different compilers may have different release cadences or ABI incompatibilities, so it does not make sense to use the same library name for runtime libraries intended for different compilers. This CL causes a libgo built by llgo to receive the name libgo-llgo. Likewise, libgobegin is named libgobegin-llgo. From-SVN: r217583
2014-11-04libgo: add s390 supportIan Lance Taylor1-3/+16
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-03runtime: use "$GOC -dumpversion" instead of BASE-VER to discover compiler ↵Ian Lance Taylor1-1/+1
version From-SVN: r217049
2014-07-19reflect, runtime: Use libffi closures to implement reflect.MakeFunc.Ian Lance Taylor1-12/+30
Keep using the existing 386 and amd64 code on those archs, since it is more efficient. From-SVN: r212853
2014-07-19libgo: Update to Go 1.3 release.Ian Lance Taylor1-44/+46
From-SVN: r212837
2014-07-12runtime: Merge master revision 19185.Ian Lance Taylor1-52/+14
This revision renames several files in the runtime directory from .c to .goc. From-SVN: r212472
2014-07-11runtime: Rename iface.goc to go-iface.goc.Ian Lance Taylor1-3/+3
Rename in order to avoid confusion with the new runtime/iface.goc file in the Go library master sources. From-SVN: r212447
2014-07-01runtime: introduce build targets for running benchmarksIan Lance Taylor1-0/+6
This introduces the "bench" build target, which can be used to run all benchmarks. It is also possible to run subsets of benchmarks with the "package/check" build targets by setting GOBENCH to a matching regex. From-SVN: r212212
2014-06-06libgo: Merge to master revision 19184.Ian Lance Taylor1-29/+43
The next revision, 19185, renames several runtime files, and will be handled in a separate change. From-SVN: r211328
2014-06-04libgo: Merge from revision 18783:00cce3a34d7e of master library.Ian Lance Taylor1-11/+29
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. From-SVN: r211249
2014-05-29runtime: add the --without-libatomic configure optionIan Lance Taylor1-5/+4
This adds the --without-libatomic configure option, which is useful for building libgo with a non-gcc compiler. It disables libgo's dependency on libatomic. This is useful for platforms where it is known that the libatomic runtime functions are not required, or where the compiler automatically provides an implementation of them. From-SVN: r211065
2014-05-01runtime: ask $GOC rather than $CC for the version and multi-os-directoryIan Lance Taylor1-1/+1
The Go compiler may have different values for these than the C compiler. From-SVN: r209967
2014-01-08re PR go/59430 (os/user FAILs on Solaris)Ian Lance Taylor1-2/+5
PR go/59430 os/user: Use POSIX functions on Solaris. From-SVN: r206412
2013-11-24syscall: Only call varargs libc functions from C code.Ian Lance Taylor1-4/+13
From-SVN: r205321
2013-11-14net: On Solaris use Darwin keepalive code.Ian Lance Taylor1-1/+1
From-SVN: r204819
2013-11-14runtime: Add netpoll code that uses select.Ian Lance Taylor1-31/+18
Required for Solaris support. From-SVN: r204817
2013-11-14libgo/go/go/build: use syslist.go from the gc stdlib.Ian Lance Taylor1-10/+1
If cmd/go is rebuilt using -compiler gccgo the version of go/build that is linked into that cmd/go will not function properly as the list of file suffixes know as operating systems or architectures is incorrect. From-SVN: r204794
2013-11-11net: Fix TCP keepalive handling for Solaris.Ian Lance Taylor1-1/+2
From-SVN: r204688
2013-11-06libgo: Update to October 24 version of master library.Ian Lance Taylor1-37/+123
From-SVN: r204466
2013-10-09compiler, runtime: Fix complex division of NaN / 0.Ian Lance Taylor1-1/+10
From-SVN: r203331
2013-09-27reflect: Implement MakeFunc for 386.Ian Lance Taylor1-3/+9
From-SVN: r202993
2013-09-27reflect: Implement MakeFunc for amd64.Ian Lance Taylor1-11/+26
From-SVN: r202982
2013-07-16libgo: Update to Go 1.1.1.Ian Lance Taylor1-397/+109
From-SVN: r200974
2013-06-18compiler, runtime: Use function descriptors.Ian Lance Taylor1-10/+1
This changes the representation of a Go value of function type from being a pointer to function code (like a C function pointer) to being a pointer to a struct. The first field of the struct points to the function code. The remaining fields, if any, are the addresses of variables referenced in enclosing functions. For each call to a function, the address of the function descriptor is passed as the last argument. This lets us avoid generating trampolines, and removes the use of writable/executable sections of the heap. From-SVN: r200181
2013-02-20re PR go/56171 (syscall FAILs on Solaris)Ian Lance Taylor1-2/+14
PR go/56171 syscall: Solaris fixes for passing file descriptor. From Rainer Orth. From-SVN: r196180
2013-02-11re PR go/56171 (syscall FAILs on Solaris)Ian Lance Taylor1-1/+1
PR go/56171 libgo: Solaris portability for syscall package. From Rainer Orth. From-SVN: r195950
2013-02-09re PR go/56017 (libgo testsuite does not support cross testing)Ian Lance Taylor1-1/+4
PR go/56017 libgo testsuite: If using DejaGNU, don't frob the log file. From-SVN: r195927
2013-02-05re PR go/56017 (libgo testsuite does not support cross testing)Ian Lance Taylor1-3/+2
PR go/56017 libgo: Use DejaGNU when testing a cross-compiler. From-SVN: r195766
2013-02-02re PR go/56171 (syscall FAILs on Solaris)Ian Lance Taylor1-2/+10
PR go/56171 syscall: Only run creds_test on GNU/Linux. From-SVN: r195686
2013-01-29libgo: Update Go library to master revision 15489/921e53d4863c.Ian Lance Taylor1-38/+73
From-SVN: r195560
2013-01-24re PR go/46986 (Go is not supported on Darwin)Ian Lance Taylor1-3/+3
PR go/46986 libgo/Makefile, libgo/go/os/stat_atimespec.go: fix typos From-SVN: r195436
2012-12-22libgo: Update to revision 15193:6fdc1974457c of master library.Ian Lance Taylor1-6/+21
From-SVN: r194692
2012-12-18libgo: Link against libatomic_convenience.la.Ian Lance Taylor1-5/+6
gcc/go: PR go/55201 * gospec.c: Revert last patch. gcc/testsuite: PR go/55201 * lib/go.exp: Revert last patch. From-SVN: r194593
2012-12-18libgo: Link against libatomic.Andreas Schwab1-4/+5
./: PR go/55201 * Makefile.def (all-target-libgo): Depend on all-target-libatomic. * Makefile.in: Regenerate. gcc/go: PR go/55201 * gospec.c (LIBATOMIC): Define. (LIBATOMIC_PROFILE): Define. (lang_specific_driver): Add LIBATOMIC[_PROFILE] option. gcc/testsuite: * lib/go.exp (go_link_flags): Add libatomic location to flags and ld_library_path. From-SVN: r194581