Commit Graph

558 Commits

Author SHA1 Message Date
Ian Lance Taylor ba986acb05 re PR go/64573 (Cmd.Start swallows error from fork()/clone())
PR go/64573
syscall: Restore line somehow lost in libgo merge.

From-SVN: r220068
2015-01-23 23:45:04 +00:00
Ian Lance Taylor 9d8d3ba2bc re PR go/64725 (FAIL: libgo/runtime TestFinalizerType testing.go:278: #2: finalizer for type func(*int) didn't run)
PR go/64725
runtime: Disable tests that require that a finalizer run.

From-SVN: r220067
2015-01-23 23:22:29 +00:00
Ian Lance Taylor 73cb399d51 re PR go/64683 (FAIL: runtime/pprof -- testing.go:278: The entry did not match)
PR go/64683
runtime/pprof: Let memory profiler test pass if value not collected.

Since gccgo's GC is not precise, the transient value may not
be collected.  Let the regexp match that case as well.

From-SVN: r219900
2015-01-20 16:11:36 +00:00
Richard Henderson 3bac62c2b2 Add attribute unused to dummy arguments in ffi stub
From-SVN: r219862
2015-01-19 14:10:59 -08:00
Ian Lance Taylor b077669c47 reflect: Fix build for systems that do not define ffi_go_closure.
From-SVN: r219831
2015-01-19 02:56:28 +00:00
Ian Lance Taylor 20780a006f testing/quick: Revert Alpha specific change.
No longer needed now that libffi supports complex types.

From-SVN: r219777
2015-01-16 23:19:20 +00:00
Richard Henderson 38bf819a5f compiler, reflect, runtime: Use static chain for closures.
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-16 22:58:53 +00:00
Ian Lance Taylor 72d7151a72 net: Restore earlier Solaris-specific version of setKeepAlivePeriod.
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-16 15:57:32 +00:00
Ian Lance Taylor 1d59990631 go/build: cgo works on linux/alpha.
From Uros Bizjak.

From-SVN: r219691
2015-01-15 22:06:54 +00:00
Ian Lance Taylor 4c16468417 reflect: Correct error in conversion of s390x support to Go 1.4.
From-SVN: r219685
2015-01-15 20:42:43 +00:00
Ian Lance Taylor 3307c079d5 Add files somehow left out of last commit (upgrade to Go 1.4).
From-SVN: r219628
2015-01-15 00:40:25 +00:00
Ian Lance Taylor f8d9fa9e80 libgo, compiler: Upgrade libgo to Go 1.4, except for runtime.
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-15 00:27:56 +00:00
Ian Lance Taylor bb782ca3ec cmd/go: Back-port CL 157460043 (pass $CGO_LDFLAGS to linker with the "gccgo" toolchain).
From-SVN: r219419
2015-01-10 01:01:10 +00:00
Ian Lance Taylor b44fb4c37a cmd/go: Adjust finding gccgo to match current upstream sources.
From-SVN: r219406
2015-01-09 21:18:04 +00:00
Ian Lance Taylor d9ebff44bb cmd/go: Use builtin constant to set default gccgo compiler.
Don't look it up on PATH.  This lets a go tool built as part
of a GCC build use the gccgo from the same build.

Also pass -c when assembling a .s file with gccgo.

From-SVN: r219358
2015-01-08 20:32:42 +00:00
Ian Lance Taylor 7d7d64c1ae libgo: Add sources for go, cgo, and gofmt commands.
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
2015-01-06 23:26:02 +00:00
Ian Lance Taylor e846322c86 testing: Add testing.MainStart function.
This patches in the Go 1.4 function, for convenience for
people using the Go 1.4 go tool with mainline gccgo.

From-SVN: r218700
2014-12-13 01:00:49 +00:00
Ian Lance Taylor 6f7ccafa91 runtime: GOARCH values for ppc64 BE & LE
ppc64 for BE
ppc64le for LE
issue 8654

From-SVN: r217941
2014-11-21 18:22:05 +00:00
Ian Lance Taylor c9bc4e2d2b sync/atomic: fix data races in tests
Backport https://codereview.appspot.com/111320044 from Go
master library.

From-SVN: r217110
2014-11-05 03:39:49 +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 5d51c2d70c debug/elf: add power64 support along with relocation test
Backport of https://codereview.appspot.com/125910043 from the
dev.power64 branch of the master repository.

From-SVN: r216813
2014-10-28 22:57:35 +00:00
Ian Lance Taylor 50a504654d libgo: Update to Go 1.3.3 release.
From-SVN: r216746
2014-10-27 16:57:33 +00:00
Ian Lance Taylor 7b28fa2c6b reflect: allocate correct type in assignTo and cvtT2I
Backport https://codereview.appspot.com/155450044 from the
master Go library.  Original description:

I came across this while debugging a GC problem in gccgo.
There is code in assignTo and cvtT2I that handles assignment
to all interface values.  It allocates an empty interface even
if the real type is a non-empty interface.  The fields are
then set for a non-empty interface, but the memory is recorded
as holding an empty interface.  This means that the GC has
incorrect information.

This is extremely unlikely to fail, because the code in the GC
that handles empty interfaces looks like this:

obj = nil;
typ = eface->type;
if(typ != nil) {
        if(!(typ->kind&KindDirectIface) || !(typ->kind&KindNoPointers))
                obj = eface->data;

In the current runtime the condition is always true--if
KindDirectIface is set, then KindNoPointers is clear--and we
always want to set obj = eface->data.  So the question is what
happens when we incorrectly store a non-empty interface value
in memory marked as an empty interface.  In that case
eface->type will not be a *rtype as we expect, but will
instead be a pointer to an Itab.  We are going to use this
pointer to look at a *rtype kind field.  The *rtype struct
starts out like this:

type rtype struct {
        size          uintptr
        hash          uint32            // hash of type; avoids computation in hash tables
        _             uint8             // unused/padding
        align         uint8             // alignment of variable with this type
        fieldAlign    uint8             // alignment of struct field with this type
        kind          uint8             // enumeration for C

An Itab always has at least two pointers, so on a
little-endian 64-bit system the kind field will be the high
byte of the second pointer.  This will normally be zero, so
the test of typ->kind will succeed, which is what we want.

On a 32-bit system it might be possible to construct a failing
case by somehow getting the Itab for an interface with one
method to be immediately followed by a word that is all ones.
The effect would be that the test would sometimes fail and the
GC would not mark obj, leading to an invalid dangling
pointer.  I have not tried to construct this test.

I noticed this in gccgo, where this error is much more likely
to cause trouble for a rather random reason: gccgo uses a
different layout of rtype, and in gccgo the kind field happens
to be the low byte of a pointer, not the high byte.

From-SVN: r216489
2014-10-20 18:04:55 +00:00
Ian Lance Taylor 19d4baed57 re PR go/60406 (recover.go: test13reflect2 test failure)
PR go/60406
runtime: Check callers in can_recover if return address	doesn't match.

Also use __builtin_extract_return_address and tighten up the
checks in FFI code.

Fixes PR 60406.

From-SVN: r216003
2014-10-08 14:03:13 +00:00
Ian Lance Taylor 22806403ec re PR go/61877 (reflect: cannot use []string as type string in Call)
PR go/61877
refect: fix direct call of variadic method value

As reported in bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61877
gcc mainline has regressed in this.  This CL adds the tests proposed
for the main Go repository:

        https://codereview.appspot.com/151280043/
        https://codereview.appspot.com/152060043/

restores the code from the amd64/386 path that makes this work and
was lost when the Go 1.3 stdlib was merged and changes the FFI path
to call into the same helper code as the amd64/386 path.

I've only tested this on amd64 but I did test a version that was
patched to unconditionally take the FFI path.

From-SVN: r215859
2014-10-03 15:51:38 +00:00
Ian Lance Taylor 01c2fa9d53 runtime: Use the clone system call on GNU/Linux.
Without this we weren't supporting the standard Cloneflags
field of SysProcAttr.

From-SVN: r214972
2014-09-05 15:24:36 +00:00
Chris Manghane f1d2ac4f84 compiler: Add precise type information on the heap.
* go-gcc.cc (Gcc_backend::implicit_variable): Remove init
	parameter.  Add is_hidden parameter.
	(Gcc_backend::implicit_variable_set_init): New method.
	(Gcc_backend::implicit_variable_reference): New method.

From-SVN: r214894
2014-09-03 22:56:09 +00:00
Ian Lance Taylor d5d0580e64 runtime: remove unused variable
This variable is unused apparently as a result of local changes.
gccgo accepts this variable declaration, but other frontends may not.

From-SVN: r212873
2014-07-20 19:20:12 +00:00
Ian Lance Taylor aefa5ff4cf runtime: add a missing import
This adds an import of the runtime package to fix compilation
of the TestStopCPUProfilingWithProfilerOff function.

The gccgo compiler should never have accepted this.  The patch
for the comiler is http://codereview.appspot.com/116960043 .
The test is https://codereview.appspot.com/118000043 .

From-SVN: r212870
2014-07-20 15:09:04 +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 7b169c293d runtime: add missing benchmark input files to the repository
From-SVN: r211961
2014-06-24 23:52:47 +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 5584c49a11 gofrontend: deduplicate C syscall function declarations
A gccgo language extension allows a function to be declared multiple
times. Avoid the use of this extension by dedeplicating declarations
in mksyscall.awk.

From-SVN: r209508
2014-04-17 23:39:23 +00:00
Ian Lance Taylor e8ad3ca026 runtime: remove use of obsolete map deletion syntax
The use of this syntax was eliminated upstream in Go 992248b2adc2,
but this particular use slipped through somehow.

From-SVN: r209506
2014-04-17 23:27:31 +00:00
Ian Lance Taylor e315e8a5b9 gofrontend: avoid use of unsafe.Sizeof extension
Avoid the use of a gccgo language extension which allows unsafe.Sizeof
to accept a type by passing an expression of the relevant type.

From-SVN: r209503
2014-04-17 23:13:39 +00:00
Ian Lance Taylor 73cc28d4e7 libgo: Remove Solaris 8 & 9 support.
From Rainer Orth.

From-SVN: r209448
2014-04-16 20:33:57 +00:00
Ian Lance Taylor a10d35a8ba libgo: Update to Go 1.2.1 release.
From-SVN: r208286
2014-03-03 20:14:52 +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 71d0d50aa3 go/build: Set GOARCH on arm64 systems.
I am reliably informed that the architecture name and letter for the
plan9/inferno compilers for 64-bit ARM systems will be "arm64" and "7"
respectively, so let's get that bit in nice and early.

From Michael Hudson-Doyle.
https://codereview.appspot.com/34830045/

From-SVN: r206374
2014-01-06 19:24:23 +00:00
Ian Lance Taylor f89b66f5ad net: work around Solaris connect issue when server closes socket
On Solaris, if you do a in-progress connect, and then the
server accepts and closes the socket, the client's later
attempt to complete the connect will fail with EINVAL.  Handle
this case by assuming that the connect succeeded.  This code
is weird enough that it is implemented as Solaris-only so that
it doesn't hide a real error on a different OS.

See http://golang.org/issue/6828.

From-SVN: r206232
2013-12-28 18:00:30 +00:00
Ian Lance Taylor afc8adc88f re PR go/59506 (net FAILs (timeout) on alpha)
PR go/59506

net: use DialTimeout in TestSelfConnect

Backported from master repository.

This avoids problems with systems that take a long time to
find out nothing is listening, while still testing for the
self-connect misfeature since a self-connect should be fast.
With this we may be able to remove the test for non-Linux
systems.

Tested (on GNU/Linux) by editing selfConnect in
tcpsock_posix.go to always return false and verifying that
TestSelfConnect then fails with and without this change.

Idea from Uros Bizjak.

From-SVN: r206224
2013-12-27 21:42:26 +00:00
Uros Bizjak ce2b81bfce Revert unwanted commit.
From-SVN: r206201
2013-12-25 23:24:26 +01:00
Allan Sandfeld Jensen 74924838e8 re PR target/59422 (Support more targets for function multi versioning)
gcc/

2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59422
	* config/i386/i386.c (get_builtin_code_for_version): Handle
	PROCESSOR_HASWELL, PROCESSOR_SILVERMONT, PROCESSOR_BTVER1,
	PROCESSOR_BTVER2, PROCESSOR_BDVER3 and PROCESSOR_BDVER4.
	Change priority of PROCESSOR_BDVER1 to P_PROC_XOP.
	(fold_builtin_cpu): Add "ivybridge", "haswell", "bonnell",
	"silvermont", "bobcat" and "jaguar" CPU names.  Add "sse4a",
	"fma4", "xop" and "fma" ISA names.

libgcc/

2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
	    H.J. Lu  <hongjiu.lu@intel.com>

        PR target/59422
        * config/i386/cpuinfo.c (enum processor_types):  Add AMD_BOBCAT
	and AMD_JAGUAR.
	(enum processor_subtypes): Add AMDFAM15H_BDVER3, AMDFAM15H_BDVER4,
	INTEL_COREI7_IVYBRIDGE and INTEL_COREI7_HASWELL.
	(enum processor_features): Add  FEATURE_SSE4_A, FEATURE_FMA4,
	FEATURE_XOP and FEATURE_FMA.
	(get_amd_cpu): Handle AMD_BOBCAT, AMD_JAGUAR, AMDFAM15H_BDVER2 and
	AMDFAM15H_BDVER3.
	(get_intel_cpu): Handle INTEL_COREI7 and INTEL_COREI7_HASWELL.
        (get_available_features): Handle FEATURE_FMA, FEATURE_SSE4_A,
	FEATURE_FMA4 and FEATURE_XOP.

testsuite/

2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>

	PR target/59422
	* gcc.target/i386/funcspec-5.c (test_fma, test_xop, test_no_fma,
	test_no_xop, test_arch_corei7, test_arch_corei7_avx,
	test_arch_core_avx2, test_arch_bdver1, test_arch_bdver2,
	test_arch_bdver3, test_tune_corei7, test_tune_corei7_avx,
	test_tune_core_avx2, test_tune_bdver1, test_tune_bdver2 and
	test_tune_bdver3): New function prototypes.

From-SVN: r206200
2013-12-25 23:22:24 +01:00
Ian Lance Taylor ea56ff71a4 reflect: Fix MakeFunc returning float32 or float64 on 386.
From-SVN: r205932
2013-12-12 17:44:01 +00:00
Ian Lance Taylor 547a416879 compiler, reflect, runtime: Implement method values in reflect.
From-SVN: r205913
2013-12-12 01:08:52 +00:00
Ian Lance Taylor b1d137cf58 reflect, runtime: Let reflect.MakeFunc functions call recover.
From-SVN: r205908
2013-12-11 23:43:16 +00:00
Ian Lance Taylor df5d92ce0e reflect: Rename struct field to be consistent in assembler and Go.
From-SVN: r205555
2013-11-30 18:08:42 +00:00
Ian Lance Taylor 9c6230e90e reflect: Fix MakeFunc for 386 when returning a struct.
When a 386 function returns a struct, it needs to return using
an rtd instruction that pops the hidden struct parameter off
the stack.  That wasn't happening.

From-SVN: r205551
2013-11-30 17:14:50 +00:00
Ian Lance Taylor 815ca4d336 libgo: Update to current Go library.
From-SVN: r205426
2013-11-27 01:05:38 +00:00
Ian Lance Taylor 0fea993fa8 syscall: Set SizeofSockaddrAny to the value the go distribution uses
In particular this means that the names Getsockname returns are not
truncated to 26 characters.

Fixes issue 6829

https://codereview.appspot.com/31840043/

From-SVN: r205368
2013-11-25 22:54:05 +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 41674b9fe4 reflect: Handle calls to functions that take or return empty structs
Fixes issue 6761

This simple change seems to work fine, slightly to my surprise.

This includes the tests I submitted to the main Go repository at
https://codereview.appspot.com/26570046

From-SVN: r205001
2013-11-19 02:30:03 +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 eb50be04e9 go/build: Add all known gccgo architectures to list.
From-SVN: r204796
2013-11-14 18:16:59 +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 3c450181dc mksysinfo, net: Always define F_DUPFD_CLOEXEC.
For Solaris and CentOS portability.

From-SVN: r204687
2013-11-11 21:21:50 +00:00
Ian Lance Taylor eb47f18904 os: Do not try to run go command in test.
From-SVN: r204684
2013-11-11 19:41:00 +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 d5b18b0b13 syscall: Add Dup3, {Get,List,Remove,Set}xattr, {Get,Set}priority.
From-SVN: r203788
2013-10-17 18:41:12 +00:00
Ian Lance Taylor e3f6b60da9 reflect: Use C style comments in 386 assembly for Solaris assembler.
From Rainer Orth.

From-SVN: r203249
2013-10-07 15:32:08 +00:00
Ian Lance Taylor 8a2cb59f1c reflect: Fix calling Interface method on value created by MakeFunc.
From-SVN: r203212
2013-10-04 18:52:22 +00:00
Ian Lance Taylor cc1a9ac808 reflect: Use hand-coded .eh_frame section rather than CFI directives.
From Rainer Orth.

From-SVN: r203120
2013-10-02 17:30:07 +00:00
Ian Lance Taylor 2cb01a3972 reflect: Fix reflect.Call with function following non-pointer.
From-SVN: r203052
2013-10-01 03:12:15 +00:00
Ian Lance Taylor 5f18389f4d reflect: Copy stack values onto heap in amd64 MakeFunc.
From-SVN: r202995
2013-09-27 22:13:11 +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 b15d794389 reflect: Fix bug calling method on indirect value.
The gccgo-specific iword function was checking v.kind, but for
a method value that is always Func.  Fix to check v.typ.Kind()
instead.

From-SVN: r202670
2013-09-17 22:11:43 +00:00
Ian Lance Taylor 05a7d56678 compiler, runtime: Use runtime functions to pass closure value.
This changes the compiler and runtime to not pass a closure
value as the last argument, but to instead pass it via
__go_set_closure and retrieve it via __go_get_closure.  This
eliminates the need for function descriptor wrapper functions.
It will make it possible to retrieve the closure value in a
reflect.MakeFunc function.

From-SVN: r202233
2013-09-03 21:52:37 +00:00
Ian Lance Taylor 537a6f7b47 net: give C.getaddrinfo a hint that we only want SOCK_STREAM answers
This should be more efficient everywhere, and appears to be
required on Solaris.

Copied from master repository.

From-SVN: r201637
2013-08-09 20:51:16 +00:00
Ian Lance Taylor 1b3dc031eb syscall: Change AWK split call to use []+ rather than []*.
Using []* fails with the awk that is part of busybox:
https://groups.google.com/d/msg/gofrontend-dev/NbQsG_AMDpY/sXCc03kkwn4J

From-SVN: r201455
2013-08-02 22:30:30 +00:00
Ian Lance Taylor f735ce315f net: Only use GNU/Linux unix socket abstract paths on GNU/Linux.
From-SVN: r201217
2013-07-24 16:53:17 +00:00
Ian Lance Taylor 017e07a118 net/http: Don't try to trace sendfile64 on alpha.
From Uros Bizjak.

From-SVN: r201206
2013-07-24 13:09:32 +00:00
Ian Lance Taylor 9d824f6c8f log/syslog: Restore interface to make this work on Solaris again.
From-SVN: r201188
2013-07-23 21:23:27 +00:00
Ian Lance Taylor da8091da1b net: Remove Solaris-specific version of listenerSockaddr.
Solaris will use the version in sock_unix.go.

From-SVN: r201183
2013-07-23 20:38:49 +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 73e0b984b3 runtime, testing/quick: libffi doesn't handle complex on Alpha.
From Uros Bizjak.

From-SVN: r196389
2013-03-01 19:26:43 +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 d54fc07473 compiler, libgo: Permit testing package when test imports it circularly.
From-SVN: r195931
2013-02-10 06:02:38 +00:00
Ian Lance Taylor 540817f4ef syscall: Always use _C_int for C libcalls.
From-SVN: r195897
2013-02-08 19:24:26 +00:00
Ian Lance Taylor af4acefcd7 re PR go/56173 (Several libgo tests FAIL on Solaris/SPARC)
PR go/56173
crypto/md5: fix for big-endian processors

From-SVN: r195867
2013-02-07 21:40:10 +00:00
Ian Lance Taylor aa62fd35b5 re PR go/56172 (net FAILs on Solaris)
PR go/56172
net: Skip TestMulticastListener on Solaris

From Rainer Orth.

From-SVN: r195855
2013-02-07 17:04:24 +00:00
Ian Lance Taylor d617bce48c re PR go/56172 (net FAILs on Solaris)
PR go/56172
net: Fixes for select based pollster.

Make Close work properly, mainly for testing.  Restart the
select if a descriptor is closed.

From-SVN: r195823
2013-02-06 22:40:18 +00:00
Ian Lance Taylor 777133fefb libgo: Update Go library to master revision 15502/229081515358.
From-SVN: r195569
2013-01-30 01:37:13 +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 f6b1e65ec3 re PR go/46986 (Go is not supported on Darwin)
PR go/46986
all: prepend #__USER_LABEL_PREFIX__ to mangled Go symbols
For old-fashioned Darwin.

From-SVN: r195438
2013-01-24 19:44:23 +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 5c167ca0a2 compiler: Error if name defined in both package and file blocks.
From-SVN: r194685
2012-12-21 22:23:23 +00:00
Ian Lance Taylor a57bf4070a log/syslog: Solaris portability patches.
From-SVN: r194566
2012-12-17 21:07:27 +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 4d901dd735 os: Clean up directory reading code.
From-SVN: r194237
2012-12-06 02:00:13 +00:00
Ian Lance Taylor 03a6c305d3 syscall: Fix splice syscall.
From-SVN: r194185
2012-12-05 08:49:01 +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 40ff695f5c syscall: Fix handling of Unix domain @ addresses.
From-SVN: r193783
2012-11-24 20:46:59 +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 a3ce4803ea reflect: Fix invalid sharing in valueInterface.
From-SVN: r193614
2012-11-19 05:34:08 +00:00
Ian Lance Taylor 86f2731e63 syscall: Force first letter of error message to lower case.
From-SVN: r193449
2012-11-12 19:34:52 +00:00
Ian Lance Taylor 7e03f00470 reflect: Fix bug comparing struct field types.
From-SVN: r193395
2012-11-10 20:24:04 +00:00
Ian Lance Taylor fb3f38da2a compiler, libgo: Fixes to prepare for 64-bit int.
From-SVN: r193254
2012-11-06 18:28:21 +00:00
Ian Lance Taylor ae0b23e2ff os: support more OSes
From-SVN: r193172
2012-11-05 17:36:40 +00:00
Ian Lance Taylor ff95e2ab0b syscall, mksysinfo: Prepare syscall package for 64-bit int.
From-SVN: r193112
2012-11-02 23:39:36 +00:00
Ian Lance Taylor 776f27a67f compiler, runtime: More steps toward separating int and intgo.
From-SVN: r193059
2012-11-01 03:02:13 +00:00
Ian Lance Taylor 85c2f96c1c syscall: fix creds_test to reliably close os.File
Uncovered by Uros Bizjak.

Before this patch the test would close the file descriptor but
not the os.File.  When the os.File was GC'ed, the finalizer
would close the file descriptor again.  That would cause
problems if the same file descriptor were returned by a later
call to open in another test.

On my system:

> GOGC=30 go test
--- FAIL: TestPassFD (0.04 seconds)
passfd_test.go:62: 	FileConn: dup: bad file descriptor
FAIL

From-SVN: r192854
2012-10-26 17:50:10 +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 8d672b2640 runtime: Disable crash tests that runs go tool.
From-SVN: r192735
2012-10-23 18:01:06 +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 a85cfff41d debug/elf, debug/dwarf: DWARF line number fixes.
Support DW_AT_high_pc as a constant.
Support DW_AT_ranges.

PR gcc/52583

From-SVN: r191008
2012-09-06 05:28:02 +00:00
Ian Lance Taylor c92900d1db compiler: Remove old handling of unsafe.Pointer in type assertions.
Fixes issue 17.

From-SVN: r190608
2012-08-23 00:20:48 +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 08a680a887 libgo: Update to Go 1.0.2 release.
From-SVN: r188943
2012-06-25 16:20:03 +00:00
Ian Lance Taylor c789c04510 compiler, reflect: Quote package path with tabs.
From-SVN: r188548
2012-06-14 05:04:04 +00:00
Ian Lance Taylor 73b5b93a59 os/user: Use Entersyscall.
From-SVN: r188496
2012-06-13 05:56:09 +00:00
Ian Lance Taylor 57d195e224 os: Use Entersyscall when reading directories.
From-SVN: r188494
2012-06-13 04:47:25 +00:00
Ian Lance Taylor 9690ac05c9 compiler, reflect: Handle package path like gc compiler.
From-SVN: r188482
2012-06-12 20:33:22 +00:00
Ian Lance Taylor 7bea4023f2 runtime: Better SWIG interface for allocating Go memory from C/C++.
From-SVN: r188164
2012-06-04 05:34:59 +00:00
Ian Lance Taylor eaca667ecf log/syslog: Fix name of C function syslog_c.
From Rainer Orth.

From-SVN: r187596
2012-05-16 14:52:03 +00:00
Ian Lance Taylor c39cbb22b0 debug/dwarf: Fix handling of LineSetFile.
From-SVN: r187578
2012-05-16 05:36:31 +00:00
Ian Lance Taylor f3ab5720f7 libgo: Use -fgo-pkgpath.
From-SVN: r187485
2012-05-14 22:08:42 +00:00
Ian Lance Taylor 33e337e34d libgo: Update to Go 1.0.1 release.
From-SVN: r187163
2012-05-04 15:01:11 +00:00
Ian Lance Taylor 81b9589421 re PR go/52586 (libgo fails to build for mips*64-linux-gnu (reference to undefined name 'SYS_GETDENTS64'))
PR go/52586
mksysinfo, syscall: Make sure SYS_GETDENTS64 is defined.

Fixes build on MIPS GNU/Linux.

From-SVN: r186986
2012-04-30 16:04:17 +00:00
Ian Lance Taylor 6c88c77ec7 re PR go/52358 (math FAILs on Solaris 8 and 9)
PR go/52358
math: Work around bug in Solaris 9 implementation of ldexp.

The bug is that ldexp(-1, -1075) should return -0, but the
Solaris 9 implementation returns +0.

From-SVN: r186913
2012-04-27 16:32:42 +00:00
Ian Lance Taylor 181c7267c7 mksysinfo, net: Always define syscall.SO_REUSEPORT.
From-SVN: r186857
2012-04-26 04:25:56 +00:00
Ian Lance Taylor 2b210b6f0b re PR go/52341 (crypto/rand FAILs before Solaris 11)
PR go/52341

crypto/rand: Use io.ReadFull when reading from /dev/urandom.

From-SVN: r186803
2012-04-25 04:40:49 +00:00
Ian Lance Taylor b685de12d2 re PR go/52583 (Several new go testsuite failues on Solaris)
PR go/52583

net: Solaris fixes.

In particular fix fd_select.go to handle the case where a file
descriptor is closed by one goroutine while another goroutine
is waiting for it.

From-SVN: r186801
2012-04-25 04:26:12 +00:00
Ian Lance Taylor 1ec20ea138 go-lang.c (go_langhook_init): Set MPFR precision to 256.
* go-lang.c (go_langhook_init): Set MPFR precision to 256.

time: Adjust float expression so that it first integer context.

From-SVN: r186727
2012-04-23 21:39:12 +00:00
Ian Lance Taylor f04e40afc1 mksysinfo: More fixes to emulate master Go library.
From-SVN: r186685
2012-04-22 20:07:23 +00:00
Ian Lance Taylor f12e8bd5c3 godump.c (go_output_typedef): Dump size of structs.
* godump.c (go_output_typedef): Dump size of structs.

mksysinfo, syscall: Change Sizeof names from var to const.

From-SVN: r186678
2012-04-22 18:51:44 +00:00
Ian Lance Taylor 1410c22260 syscall: Additional constants, some type corrections.
From-SVN: r186655
2012-04-21 18:49:58 +00:00
Ian Lance Taylor d25a12fc2d net, syscall: Use native endianness for GNU/Linux netlink code.
From-SVN: r186640
2012-04-20 20:11:28 +00:00
Ian Lance Taylor 0e27a180fd net/http: Ignore sigaltstack when running strace in test.
Avoids bug in strace 4.5.20 on powerpc-unknown-linux-gnu.

From-SVN: r186635
2012-04-20 18:51:05 +00:00
Ian Lance Taylor 76c0db7391 debug/dwarf: Fix address lookups for different types of lines.
This fixes the lookup when, e.g., discriminators force adding
new line arrays.

From-SVN: r186633
2012-04-20 18:44:09 +00:00
Ian Lance Taylor cf1f0eb7cc runtime: Disable memory profiling in gc_test.
From-SVN: r186631
2012-04-20 18:40:14 +00:00
Ian Lance Taylor ea8505da90 syscall, net: Fix GNU/Linux netlink code for big-endian systems.
From-SVN: r186123
2012-04-03 23:44:53 +00:00
Ian Lance Taylor a1552fc3ec libgo: Update to weekly.2012-03-27 aka go1 release.
From-SVN: r186029
2012-03-30 22:36:44 +00:00
Ian Lance Taylor 99002f8366 File removed in weekly.2012-03-22 release.
From-SVN: r186028
2012-03-30 22:14:14 +00:00
Ian Lance Taylor 9a18821cfc libgo: Update to weekly.2012-03-22.
From-SVN: r186026
2012-03-30 22:09:55 +00:00
Ian Lance Taylor 456fba2651 libgo: Update to weekly.2012-03-13.
From-SVN: r186023
2012-03-30 21:27:11 +00:00
Ian Lance Taylor e0be8a5c20 syscall: Convert errno to error after Exitsyscall.
From-SVN: r186020
2012-03-30 21:10:32 +00:00
Ian Lance Taylor a0c8ad3bdf compiler, libgo: unsafe.{Sizeof,Alignof,Offsetof} return uintptr.
From-SVN: r185946
2012-03-29 03:53:13 +00:00
Ian Lance Taylor 03934a5632 syscall: Fix errno handling in syscall.Syscall and friends.
From-SVN: r185746
2012-03-23 18:41:07 +00:00
Ian Lance Taylor 24aea58753 libgo: Export {enter,exit}syscall and use it for getaddrinfo.
From-SVN: r185363
2012-03-13 23:01:30 +00:00
Ian Lance Taylor 896977b38f debug/dwarf: Support DWARF versions 3 and 4.
From-SVN: r185126
2012-03-09 06:35:00 +00:00
Ian Lance Taylor 060b4284aa debug/elf: Don't crash if line numbers are not available.
From-SVN: r185124
2012-03-09 05:33:10 +00:00
Ian Lance Taylor 0effc3f961 libgo: Implement and use runtime.Caller, runtime.Func.FileLine.
From-SVN: r185025
2012-03-07 01:16:20 +00:00
Ian Lance Taylor 593f74bbab libgo: Update to weekly.2012-03-04 release.
From-SVN: r185010
2012-03-06 17:57:23 +00:00
Ian Lance Taylor 501699af16 libgo: Update to weekly.2012-02-22 release.
From-SVN: r184819
2012-03-02 20:01:37 +00:00
Ian Lance Taylor cbb6491d76 libgo: Update to weekly.2012-02-14 release.
From-SVN: r184798
2012-03-02 16:38:43 +00:00
Ian Lance Taylor b65734ac6c syscall: Fill out GNU/Linux support.
From-SVN: r184669
2012-02-29 20:02:31 +00:00
Ian Lance Taylor 5d46bf0538 libgo: Add mount flags, fallocate, statfs.
From-SVN: r184365
2012-02-18 01:22:02 +00:00
Ian Lance Taylor a64b24bdef re PR go/51874 (Many libgo testsuite failures on IRIX)
PR go/51874
math: Don't use libc log2 and trunc functions.

From-SVN: r184300
2012-02-16 07:17:03 +00:00
Ian Lance Taylor 2b120fe98e syscall: Change Dup2 to only return an error.
From-SVN: r184222
2012-02-14 19:36:31 +00:00
Ian Lance Taylor 09578bcd52 net: Don't run UDP multicast tests on Alpha GNU/Linux.
From Uros Bizjak.

From-SVN: r184187
2012-02-14 00:30:12 +00:00
Ian Lance Taylor 14e50d352e sync/atomic: Disable tests which can't run based on pointer size.
From-SVN: r184136
2012-02-12 05:57:02 +00:00
Ian Lance Taylor 1fd5b9687e os: Fix Solaris stat functions.
From Rainer Orth.

From-SVN: r184065
2012-02-09 18:07:43 +00:00
Ian Lance Taylor 94252f4bcc libgo: Update to weekly.2012-02-07.
From-SVN: r184034
2012-02-09 08:19:58 +00:00
Ian Lance Taylor 09839cde4c os: Fix typo in //extern comment.
From-SVN: r184023
2012-02-08 22:21:04 +00:00
Ian Lance Taylor b806269c9b compiler, libgo: Use //extern comments rather than __asm__.
From-SVN: r183981
2012-02-07 19:26:30 +00:00
Ian Lance Taylor 4631101689 compiler, reflect: Fix hash codes of named types, fix PtrTo hash.
From-SVN: r183889
2012-02-04 01:41:24 +00:00
Ian Lance Taylor 10f5ffa4e9 syscall: Add syscall.Times.
From-SVN: r183826
2012-02-02 06:40:11 +00:00
Ian Lance Taylor 7c275c4339 os/exec: Make sure file descriptor is not closed early.
From-SVN: r183815
2012-02-01 20:47:15 +00:00
Ian Lance Taylor 9af4cb9545 libgo: Update to weekly.2012-01-27.
From-SVN: r183810
2012-02-01 19:26:59 +00:00
Ian Lance Taylor 7d18953823 syscall: Add Gettid on GNU/Linux systems.
From-SVN: r183775
2012-01-31 20:47:55 +00:00
Ian Lance Taylor e8738e985e syscall: Don't use PtraceRegs if it is not defined.
From-SVN: r183758
2012-01-31 14:23:07 +00:00
Ian Lance Taylor 4a1a859611 syscall: Support socket control messages.
From-SVN: r183745
2012-01-30 23:57:42 +00:00
Ian Lance Taylor af5c13eb04 syscall: Define IPV6 constants for Irix.
From Rainer Orth.

From-SVN: r183652
2012-01-27 22:37:14 +00:00
Ian Lance Taylor eb6a1fe097 libgo: Fix merge errors shown on Solaris.
From Rainer Orth.

From-SVN: r183651
2012-01-27 22:34:53 +00:00
Ian Lance Taylor af92e38566 libgo: Update to weekly.2012-01-20.
From-SVN: r183540
2012-01-25 21:54:22 +00:00
Ian Lance Taylor df1304ee03 libgo: Update to weekly.2012-01-15.
From-SVN: r183539
2012-01-25 20:56:26 +00:00
Ian Lance Taylor b1b3aec1b1 compiler: Give an error if a variable is defined but not used.
From-SVN: r183458
2012-01-23 23:55:31 +00:00
Ian Lance Taylor 4cce1836bd libgo: Only build iopl and ioperm on 386, amd64, alpha GNU/Linux.
From-SVN: r183171
2012-01-13 23:35:44 +00:00
Ian Lance Taylor df4aa89a5e libgo: Update to weekly.2011-12-22.
From-SVN: r183150
2012-01-13 05:11:45 +00:00
Ian Lance Taylor 9a0e3259f4 libgo: Update to weekly.2011-12-14.
From-SVN: r183118
2012-01-12 01:31:45 +00:00
Ian Lance Taylor e44d7e3917 syscall: Don't define IPMreq in socket_irix.go.
From Rainer Orth.

From-SVN: r182549
2011-12-20 18:17:21 +00:00
Ian Lance Taylor d48be5dfaf libgo: Fix use of -D_GNU_SOURCE and friends when building libgo.
From-SVN: r182548
2011-12-20 18:14:30 +00:00
Ian Lance Taylor a84bd8ba19 os: Fix fileInfoFromStat for Solaris.
From Rainer Orth.

From-SVN: r182402
2011-12-16 14:45:49 +00:00
Ian Lance Taylor 5f8090a435 syscall: Move Errno into its own file, for RTEMS.
From-SVN: r182356
2011-12-15 07:12:03 +00:00
Ian Lance Taylor d536359059 libgo: Update to weekly.2011-12-06.
From-SVN: r182338
2011-12-14 15:41:54 +00:00
Ian Lance Taylor 9532fecfc5 runtime: Bump memory limit in gc_test.
From-SVN: r182332
2011-12-14 14:54:32 +00:00
Ian Lance Taylor 90a9ea010a runtime: Change gc_test to test only newly allocated memory.
From-SVN: r182315
2011-12-13 23:15:36 +00:00
Ian Lance Taylor de05aad683 syscall: Don't build wait status functions on RTEMS.
From-SVN: r182313
2011-12-13 22:07:25 +00:00
Ian Lance Taylor 9dadf3bf5e libgo: Solaris compatibility patches.
From Rainer Orth.

From-SVN: r182296
2011-12-13 19:18:34 +00:00
Ian Lance Taylor 7b1c3dd9e6 libgo: Update to weekly.2011-12-02.
From-SVN: r182295
2011-12-13 19:16:27 +00:00
Ian Lance Taylor ab61e9c4da libgo: Update to weekly.2011-11-18.
From-SVN: r182266
2011-12-12 23:40:51 +00:00
Ian Lance Taylor fe4bf59fb6 net/http: delete temporary files.
From-SVN: r182256
2011-12-12 18:45:08 +00:00
Ian Lance Taylor 9820d09c26 syslog: Fix name of C syslog function.
From Rainer Orth.

From-SVN: r182168
2011-12-09 16:46:44 +00:00
Ian Lance Taylor c19bd76920 libgo: Add back tests of syscall time.
From-SVN: r182075
2011-12-07 01:55:49 +00:00
Ian Lance Taylor 598fd331d0 libgo: Remove debug/proc, os.Error.
From-SVN: r182074
2011-12-07 01:21:57 +00:00
Ian Lance Taylor 9c63abc9a1 libgo: Update to weekly 2011-11-09.
From-SVN: r182073
2011-12-07 01:11:29 +00:00
Ian Lance Taylor 6c025f46f0 libgo: Remove more os.Error cases.
From Rainer Orth.

From-SVN: r182060
2011-12-06 18:13:04 +00:00
Ian Lance Taylor 2fd401c8f1 libgo: Update to weekly.2011-11-02.
From-SVN: r181964
2011-12-03 02:17:34 +00:00
Ian Lance Taylor 506cf9aaea libgo: Update to weekly.2011-11-01.
From-SVN: r181938
2011-12-02 19:34:41 +00:00
Ian Lance Taylor b740cb6335 libgo: update to weekly.2011-10-25
Changes were mainly straightforward to merge.

From-SVN: r181824
2011-11-29 23:02:54 +00:00
Ian Lance Taylor 737087cbc8 runtime: Multiplex goroutines onto OS threads.
From-SVN: r181772
2011-11-28 05:45:49 +00:00
Ian Lance Taylor f58abe3caa syscall: Remove Linux system calls not available in older glibcs.
From-SVN: r180784
2011-11-02 17:53:20 +00:00
Ian Lance Taylor c417a082ea exp/terminal: Use tcgetattr/tcsetattr rather than ioctl.
From-SVN: r180780
2011-11-02 16:50:10 +00:00
Ian Lance Taylor 207c35fa9e syscall: Portability code for epoll_event on GNU/Linux.
From-SVN: r180729
2011-11-01 04:12:01 +00:00
Ian Lance Taylor 7e547d7b31 syscall: Fix Errstr on systems without strerror_r.
From-SVN: r180714
2011-10-31 21:55:22 +00:00
Ian Lance Taylor b59546bf65 syscall: Remove a couple more 3-parameter match's in mksyscall.awk.
From-SVN: r180712
2011-10-31 21:47:30 +00:00
Ian Lance Taylor f6497cc6b5 syscalls: Rewrite awk script to work with nawk.
From-SVN: r180559
2011-10-27 04:56:46 +00:00
Ian Lance Taylor d8f412571f Update Go library to last weekly.
From-SVN: r180552
2011-10-26 23:57:58 +00:00
Ian Lance Taylor 04cc7d7c13 Solaris/Irix compatibility patches.
From-SVN: r180440
2011-10-25 18:06:32 +00:00
Ian Lance Taylor f9367b7c70 Fix Solaris build.
From Rainer Orth.

From-SVN: r180439
2011-10-25 17:45:55 +00:00
Ian Lance Taylor 980889d814 Error if naked return when result variables are shadowed.
From-SVN: r180401
2011-10-24 19:44:18 +00:00
Ian Lance Taylor 703f56e5cb Some minor fixes to the rewritten syscall library.
From-SVN: r180363
2011-10-24 04:57:08 +00:00
Ian Lance Taylor de27caacfb Implement new syscall package.
Calls to library functions now use entersyscall and
exitsyscall as appropriate.  This is a first step toward
multiplexing goroutines onto threads.

From-SVN: r180345
2011-10-23 19:04:37 +00:00
Ian Lance Taylor 94bf1a5fb7 Update Go library to r60.3 release.
From-SVN: r180327
2011-10-22 16:19:46 +00:00
Ian Lance Taylor 9d49f4d0ab Update Go library to release r60.1.
From-SVN: r179076
2011-09-22 04:47:32 +00:00
Ian Lance Taylor 270aae3307 Add html/testdata files accidentally omitted.
From-SVN: r179075
2011-09-22 04:02:11 +00:00
Ian Lance Taylor adb0401dac Update Go library to r60.
From-SVN: r178910
2011-09-16 15:47:21 +00:00
Ian Lance Taylor d75dae75d7 json: fix test when rand returns 0.
Fixes using gccgo when optimizing, which changes the order of
calls to rand.  Same patch proposed upstream.

From-SVN: r175927
2011-07-06 18:38:24 +00:00
Ian Lance Taylor 81a75bb28f os: Correct Ctime_ns calculation.
From-SVN: r174501
2011-05-31 18:08:48 +00:00
Ian Lance Taylor 349ea8e855 re PR go/48502 (os_test.TestStartProcess FAILs on Solaris 2)
PR go/48502
libgo/os: Fix test to run on Solaris.

Patch brought over from upstream library.

From-SVN: r174167
2011-05-25 05:57:54 +00:00
Ian Lance Taylor d14a6437c3 libgo: Solaris/Irix portability fixes.
From Rainer Orth.

From-SVN: r174144
2011-05-24 21:43:12 +00:00
Ian Lance Taylor 9ff56c9570 Update to current version of Go library.
From-SVN: r173931
2011-05-20 00:18:15 +00:00
Ian Lance Taylor 99e5f0cee1 libgo http/cgi: Pass down environment variables for irix and solaris.
From-SVN: r173181
2011-04-29 17:53:53 +00:00
Ian Lance Taylor eb864be48f libgo/time: Support Irix 6 location of zoneinfo files.
From-SVN: r172936
2011-04-25 19:42:33 +00:00
Ian Lance Taylor 9f3b1e6c60 libgo: Irix 6 patches.
From Rainer Orth.

From-SVN: r172935
2011-04-25 19:36:12 +00:00
Ian Lance Taylor 549dd8fe83 re PR go/48553 (fmt FAILs on 32-bit Solaris 2 with stack overflow)
PR go/48553
libgo: Bring over patch to lower recursion depth in fmt.

From-SVN: r172883
2011-04-23 00:09:23 +00:00
Ian Lance Taylor 90eadacd1e re PR go/48503 (http/cgi FAILs if libgcc_s.so.1 isn't in default ld.so.1 search path)
PR go/48503
libgo: Bring over http/cgi environment inheritance patches.

From-SVN: r172864
2011-04-22 18:23:47 +00:00
Ian Lance Taylor 405ca10418 libgo: Update to current Go library.
From-SVN: r172106
2011-04-07 17:09:10 +00:00
Ian Lance Taylor e59b917109 libgo: Support for alpha.
From Uros Bizjak.

From-SVN: r171860
2011-04-01 23:02:16 +00:00
Ian Lance Taylor 654d2ec080 re PR go/47515 (Issues porting libgo to IRIX 6.5)
PR go/47515
libgo: Add Irix support.

From Rainer Orth.

From-SVN: r171806
2011-03-31 23:55:21 +00:00
Ian Lance Taylor 4bce572db2 re PR go/48242 (gotest needs timeout mechanism)
PR go/48242
libgo: Add timeout for tests.

From-SVN: r171803
2011-03-31 22:36:10 +00:00
Ian Lance Taylor c9103dde96 libgo: Remove unnecessary EINTR checks.
We always use SA_RESTART with signals, so
read/write/etc. should never return EINTR.

From-SVN: r171802
2011-03-31 22:19:54 +00:00
Ian Lance Taylor f72f416913 Update to current Go library.
From-SVN: r171732
2011-03-30 15:33:16 +00:00
Ian Lance Taylor efbb12ae8a re PR go/48312 (http, rpc, websocket tests hang on Solaris 2/x86)
PR go/48312
Fix fd_select.go for changes in FD handling.

We have to wake up the goroutine waiting in select each time
we change the set of descriptors we are waiting for, unlike
epoll.

From-SVN: r171623
2011-03-28 18:35:53 +00:00
Ian Lance Taylor 80ec23acbd Rename net/fd_rtems.go to net/fd_select.go.
From-SVN: r171621
2011-03-28 18:30:21 +00:00
Ian Lance Taylor 8039ca76a5 Update to current version of Go library.
From-SVN: r171427
2011-03-24 23:46:17 +00:00
Ian Lance Taylor 4573f2cb64 Missed test data in libgo update.
From-SVN: r171362
2011-03-23 21:09:55 +00:00
Ian Lance Taylor 0d3e7f5d44 Somehow missed this addition when updating the library.
From-SVN: r171361
2011-03-23 21:04:39 +00:00
Ian Lance Taylor 5133f00ef8 Update to current version of Go library (revision 94d654be2064).
From-SVN: r171076
2011-03-16 23:05:44 +00:00
Ian Lance Taylor bef18456b7 Solaris specific syslog support.
From-SVN: r170837
2011-03-09 22:13:09 +00:00
Ian Lance Taylor a33d93c3df re PR go/48019 (Need to handle EINTR in libgo testsuite)
PR go/48019
Ignore EINTR in socket connect.

From-SVN: r170811
2011-03-09 06:57:04 +00:00
Ian Lance Taylor 26bc022b8f Solaris libgo testsuite fixes.
From-SVN: r170762
2011-03-07 23:37:12 +00:00
Ian Lance Taylor a3dbf764ae Support libgo on Solaris.
From Rainer Orth.

From-SVN: r170355
2011-02-21 04:17:20 +00:00
Ian Lance Taylor 43e4710147 time: Look for zoneinfo files in Solaris directory.
From-SVN: r169380
2011-01-29 00:07:56 +00:00
Ian Lance Taylor 51677e0338 Add Solaris version of os.Hostname.
From-SVN: r169350
2011-01-28 01:44:55 +00:00
Ian Lance Taylor b91b9ad43e When closing a file, call closedir if we called opendir.
Fixes Go issue 1448.

From-SVN: r169344
2011-01-28 00:01:08 +00:00
Ian Lance Taylor ffbdd13975 netchan: Avoid race condition in test.
Copied from master library.

From-SVN: r169311
2011-01-26 23:53:19 +00:00
Ian Lance Taylor 753e7b85bd net: Check for EINTR.
From-SVN: r169309
2011-01-26 22:37:13 +00:00
Ian Lance Taylor b800200de6 Update some net tests from master sources.
From-SVN: r169298
2011-01-26 19:51:26 +00:00
Ian Lance Taylor ca11cc98b9 Recognize m68k, mips, PPC. Don't require arch syscall files to exist.
From-SVN: r169185
2011-01-24 23:42:22 +00:00
Ian Lance Taylor 22afca6694 Fix race condition in test case.
Brought over from master repository.

From-SVN: r169106
2011-01-21 22:01:02 +00:00
Ian Lance Taylor ff5f50c52c Remove the types float and complex.
Update to current version of Go library.

Update testsuite for removed types.

	* go-lang.c (go_langhook_init): Omit float_type_size when calling
	go_create_gogo.
	* go-c.h: Update declaration of go_create_gogo.

From-SVN: r169098
2011-01-21 18:19:03 +00:00
Ian Lance Taylor 545d1aa13c Use GOARCH value of sparc64 rather than sparcv9.
From-SVN: r168740
2011-01-13 06:18:45 +00:00
Ian Lance Taylor f2ee78b861 Preliminary framework for Solaris support.
Partly from Rainer Orth.

From-SVN: r168697
2011-01-12 06:34:08 +00:00
Ian Lance Taylor c3b5b97b64 Simplify libgo Makefile conditionals.
From-SVN: r168696
2011-01-12 02:03:46 +00:00
Ian Lance Taylor 785e11cc21 Update to current master source.
From-SVN: r167972
2010-12-17 06:37:06 +00:00
Ian Lance Taylor 2bc4b68293 Don't split stack in bytes.IndexByte.
From-SVN: r167971
2010-12-17 06:36:10 +00:00
Ian Lance Taylor 73d520afa5 Fix test by copying from master.
From-SVN: r167575
2010-12-08 00:14:10 +00:00
Ian Lance Taylor 7a9389330e Add Go frontend, libgo library, and Go testsuite.
gcc/:
	* gcc.c (default_compilers): Add entry for ".go".
	* common.opt: Add -static-libgo as a driver option.
	* doc/install.texi (Configuration): Mention libgo as an option for
	--enable-shared.  Mention go as an option for --enable-languages.
	* doc/invoke.texi (Overall Options): Mention .go as a file name
	suffix.  Mention go as a -x option.
	* doc/frontends.texi (G++ and GCC): Mention Go as a supported
	language.
	* doc/sourcebuild.texi (Top Level): Mention libgo.
	* doc/standards.texi (Standards): Add section on Go language.
	Move references for other languages into their own section.
	* doc/contrib.texi (Contributors): Mention that I contributed the
	Go frontend.
gcc/testsuite/:
	* lib/go.exp: New file.
	* lib/go-dg.exp: New file.
	* lib/go-torture.exp: New file.
	* lib/target-supports.exp (check_compile): Match // Go.

From-SVN: r167407
2010-12-03 04:34:57 +00:00