Commit Graph

155 Commits

Author SHA1 Message Date
Ian Lance Taylor
658b028ad0 mksysinfo: Pass -O to compiler to avoid warnings on CentOS.
From Uros Bizjak.
https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01366.html

From-SVN: r218819
2014-12-17 14:26:55 +00:00
Ian Lance Taylor
4368bc4589 runtime: introduce mvifdiff.sh script to replace GCC's move-if-change
This goes towards making libgo more self-contained.

From-SVN: r218198
2014-12-01 01:06:29 +00:00
Ian Lance Taylor
4c46b5f0c2 runtime: set library name based on compiler name
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-14 18:02:50 +00:00
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
Ian Lance Taylor
24606f7137 runtime: use "$GOC -dumpversion" instead of BASE-VER to discover compiler version
From-SVN: r217049
2014-11-03 16:30:51 +00:00
Ian Lance Taylor
dffa732835 reflect, runtime: Use libffi closures to implement reflect.MakeFunc.
Keep using the existing 386 and amd64 code on those archs,
since it is more efficient.

From-SVN: r212853
2014-07-19 21:36:26 +00:00
Ian Lance Taylor
00d86ac99f libgo: Update to Go 1.3 release.
From-SVN: r212837
2014-07-19 08:53:52 +00:00
Ian Lance Taylor
2fa39ad859 runtime: Merge master revision 19185.
This revision renames several files in the runtime directory
from .c to .goc.

From-SVN: r212472
2014-07-12 00:01:09 +00:00
Ian Lance Taylor
c14e64d4ca runtime: Rename iface.goc to go-iface.goc.
Rename in order to avoid confusion with the new
runtime/iface.goc file in the Go library master sources.

From-SVN: r212447
2014-07-11 00:39:03 +00:00
Ian Lance Taylor
ffa98da470 runtime: introduce build targets for running benchmarks
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-07-01 23:19:24 +00:00
Ian Lance Taylor
6736ef96ea libgo: Merge to master revision 19184.
The next revision, 19185, renames several runtime files, and
will be handled in a separate change.

From-SVN: r211328
2014-06-06 22:37:27 +00:00
Ian Lance Taylor
bae90c989c libgo: Merge from revision 18783:00cce3a34d7e of master library.
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-06-04 23:15:33 +00:00
Ian Lance Taylor
9a85ed03da runtime: add the --without-libatomic configure option
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-29 20:22:27 +00:00
Ian Lance Taylor
6c76a95d1b runtime: ask $GOC rather than $CC for the version and multi-os-directory
The Go compiler may have different values for these than the C compiler.

From-SVN: r209967
2014-05-01 00:35:58 +00:00
Ian Lance Taylor
747639c28f re PR go/59430 (os/user FAILs on Solaris)
PR go/59430
os/user: Use POSIX functions on Solaris.

From-SVN: r206412
2014-01-08 01:08:29 +00:00
Ian Lance Taylor
6b05faddf0 syscall: Only call varargs libc functions from C code.
From-SVN: r205321
2013-11-24 02:38:28 +00:00
Ian Lance Taylor
01ef823cdd net: On Solaris use Darwin keepalive code.
From-SVN: r204819
2013-11-14 20:19:51 +00:00
Ian Lance Taylor
03a231f752 runtime: Add netpoll code that uses select.
Required for Solaris support.

From-SVN: r204817
2013-11-14 20:15:04 +00:00
Ian Lance Taylor
9572918137 libgo/go/go/build: use syslist.go from the gc stdlib.
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-14 18:07:31 +00:00
Ian Lance Taylor
9544822809 net: Fix TCP keepalive handling for Solaris.
From-SVN: r204688
2013-11-11 21:25:42 +00:00
Ian Lance Taylor
f038dae646 libgo: Update to October 24 version of master library.
From-SVN: r204466
2013-11-06 19:49:01 +00:00
Ian Lance Taylor
215552adac compiler, runtime: Fix complex division of NaN / 0.
From-SVN: r203331
2013-10-09 22:31:15 +00:00
Ian Lance Taylor
a84dbde7fc reflect: Implement MakeFunc for 386.
From-SVN: r202993
2013-09-27 21:34:24 +00:00
Ian Lance Taylor
8bcd5487e5 reflect: Implement MakeFunc for amd64.
From-SVN: r202982
2013-09-27 17:53:46 +00:00
Ian Lance Taylor
be47d6ecef libgo: Update to Go 1.1.1.
From-SVN: r200974
2013-07-16 06:54:42 +00:00
Ian Lance Taylor
fdbc38a6e8 compiler, runtime: Use function descriptors.
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-06-18 23:49:49 +00:00
Ian Lance Taylor
f46d686ef1 re PR go/56171 (syscall FAILs on Solaris)
PR go/56171
syscall: Solaris fixes for passing file descriptor.

From Rainer Orth.

From-SVN: r196180
2013-02-20 20:04:36 +00:00
Ian Lance Taylor
ae135907ba re PR go/56171 (syscall FAILs on Solaris)
PR go/56171
libgo: Solaris portability for syscall package.

From Rainer Orth.

From-SVN: r195950
2013-02-11 19:03:04 +00:00
Ian Lance Taylor
d3deca3973 re PR go/56017 (libgo testsuite does not support cross testing)
PR go/56017
libgo testsuite: If using DejaGNU, don't frob the log file.

From-SVN: r195927
2013-02-09 23:19:33 +00:00
Ian Lance Taylor
7134cf2833 re PR go/56017 (libgo testsuite does not support cross testing)
PR go/56017
libgo: Use DejaGNU when testing a cross-compiler.

From-SVN: r195766
2013-02-05 22:22:17 +00:00
Ian Lance Taylor
10f92c9c3f re PR go/56171 (syscall FAILs on Solaris)
PR go/56171
syscall: Only run creds_test on GNU/Linux.

From-SVN: r195686
2013-02-02 15:40:14 +00:00
Ian Lance Taylor
d6f2922e91 libgo: Update Go library to master revision 15489/921e53d4863c.
From-SVN: r195560
2013-01-29 20:52:43 +00:00
Ian Lance Taylor
72d1cef254 re PR go/46986 (Go is not supported on Darwin)
PR go/46986
libgo/Makefile, libgo/go/os/stat_atimespec.go: fix typos

From-SVN: r195436
2013-01-24 18:12:23 +00:00
Ian Lance Taylor
409a5e7eb4 libgo: Update to revision 15193:6fdc1974457c of master library.
From-SVN: r194692
2012-12-22 01:15:33 +00:00
Ian Lance Taylor
69fffc1f0e libgo: Link against libatomic_convenience.la.
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-18 22:07:38 +00:00
Andreas Schwab
0b8ca8fefe libgo: Link against libatomic.
./:
	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
2012-12-18 14:28:24 +00:00
Ian Lance Taylor
a42a906c42 libgo: Update to current master library sources.
From-SVN: r194460
2012-12-12 23:13:29 +00:00
Ian Lance Taylor
744c3195ef compiler, runtime: Track fields with tag go:"track".
* go-gcc.cc: Include "output.h".
	(global_variable): Add is_unique_section parameter.
	(global_variable_set_init): Adjust unique section if necessary.
	* Make-lang.in (go/go-gcc.o): Add dependency on output.h.

From-SVN: r193945
2012-11-29 18:11:17 +00:00
Ian Lance Taylor
fabcaa8df3 libgo: Update to current version of master library.
From-SVN: r193688
2012-11-21 07:03:38 +00:00
Ian Lance Taylor
855a44ee8f compiler, runtime: Memcmp routine returns intgo.
From-SVN: r193253
2012-11-06 18:12:45 +00:00
Ian Lance Taylor
ae0b23e2ff os: support more OSes
From-SVN: r193172
2012-11-05 17:36:40 +00:00
Ian Lance Taylor
e212c7f56c runtime/goc2c: Drop gc support, change int to intgo.
From-SVN: r193046
2012-10-31 20:49:53 +00:00
Ian Lance Taylor
f99a463f8a libgo: Solaris portability patches.
From Rainer Orth.

From-SVN: r192819
2012-10-25 18:26:34 +00:00
Ian Lance Taylor
e8028ecdd0 re PR go/54918 (libgo.so.0 is not runtime compatible between gcc-4.6.2 and gcc-4.7.x)
PR go/54918
libgo: Set library version number.

From-SVN: r192706
2012-10-23 05:01:24 +00:00
Ian Lance Taylor
4ccad563d2 libgo: Update to current sources.
From-SVN: r192704
2012-10-23 04:31:11 +00:00
Ian Lance Taylor
bd2e46c825 libgo: Update to Go 1.0.3.
From-SVN: r192025
2012-10-03 05:27:36 +00:00
Ian Lance Taylor
0e56e59065 libgo: Use libbacktrace rather than debug/elf registration.
From-SVN: r191831
2012-09-28 14:48:30 +00:00
Ian Lance Taylor
233115eaf5 runtime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD (including Darwin).
runtime: support NumCPU() on more platforms
        Added support for Solaris, Irix, *BSD (including Darwin).
        Still missing support for RTEMS.
        Fixes issue 3698 in Go issue tracker.

From-SVN: r190197
2012-08-07 04:42:49 +00:00
Ian Lance Taylor
1fae9801e4 runtime, runtime/pprof: Fix runtime/pprof test to pass, enable it.
From-SVN: r189878
2012-07-26 01:57:04 +00:00
Ian Lance Taylor
d71ec0cdd6 libgo: Make the subdirectory in the CHECK target.
From Andreas Schwab.

From-SVN: r188547
2012-06-14 04:47:45 +00:00