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
204b9fc2b8
configure: Quote some shell variables.
...
From Dominik Vogt.
From-SVN: r216355
2014-10-17 00:03:20 +00:00
Ian Lance Taylor
6c4ee063a5
runtime: Don't create threads with a small stack.
...
We want to create goroutines with a small stack, at least on
systems where split stacks are supported. We don't need to
create threads with a small stack.
From-SVN: r216353
2014-10-16 22:39:45 +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
60d9e9fc19
runtime: Check for CPU_COUNT itself, don't check glibc version.
...
Fixes issue 38.
From-SVN: r215832
2014-10-03 05:04:59 +00:00
Ian Lance Taylor
a819231d57
libgo/configure: Use -Qunused-arguments for asm tests if supported.
...
This supports clang, which by default issues warnings about
unused command line arguments, a habit that interacts poorly
with configure scripts.
From-SVN: r215699
2014-09-29 23:37:27 +00:00
Ian Lance Taylor
76deefd0cd
runtime: Mark runtime_goexit function as noinline.
...
If the compiler inlines this function into kickoff, it may reuse
the TLS block address to load g. However, this is not necessarily
correct, as the call to g->entry in kickoff may cause the TLS
address to change. If the wrong value is loaded for g->status in
runtime_goexit, it may cause a runtime panic.
By marking the function as noinline we prevent the compiler from
reusing the TLS address.
From-SVN: r215484
2014-09-22 21:14:43 +00:00
Ian Lance Taylor
f0c1b5671a
runtime: Restore copyright notice accidentally removed from mgc0.c.
...
From-SVN: r215423
2014-09-20 20:42:59 +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
Ian Lance Taylor
a7188cc650
runtime: Use correct size for unsafe.Pointer GC instructions.
...
From-SVN: r214965
2014-09-05 14:43:24 +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
ab36d98dd2
runtime: Don't get confused if m changes during runtime_gc.
...
From-SVN: r214048
2014-08-15 22:16:55 +00:00
Ian Lance Taylor
798c183f7f
compiler, runtime: Fix unexpected GC interfering with closure passing.
...
The Go frontend passes closures through to functions using the
functions __go_set_closure and __go_get_closure. The
expectation is that there are no function calls between
set_closure and get_closure. However, it turns out that there
can be function calls if some of the function arguments
require type conversion to an interface type. Converting to
an interface type can allocate memory, and that can in turn
trigger a garbage collection, and that can in turn call pool
cleanup functions that may call __go_set_closure. So the
called function can see the wrong closure value, which is bad.
This patch fixes the problem in two different ways. First, we
move all type conversions in function arguments into temporary
variables so that they can not appear before the call to
__go_set_closure. (This required shifting the flatten phase
after the simplify_thunk phase, since the latter expects to
work with unconverted argument types.) Second, we fix the
memory allocation function to preserve the closure value
across any possible garbage collection.
A test case is the libgo database/sql check run with the
environment variable GOGC set to 1.
From-SVN: r213932
2014-08-13 22:31:44 +00:00
Ian Lance Taylor
d79fe5971a
runtime: Add casts to mincore call to compile on Solaris.
...
Based on patch from Rainer Orth.
From-SVN: r213599
2014-08-04 17:54:09 +00:00
Ian Lance Taylor
dc14e88e07
re PR other/61895 (libbacktrace crashes with bus error with empty file argv[0])
...
PR other/61895
runtime: Ignore small argv[0] file for backtrace.
Reportedly in some cases Docker starts processes with argv[0]
pointing to an empty file. That would cause libgo to pass
that empty file to libbacktrace, which would then fail to do
any backtraces. Everything should work fine if libbacktrace
falls back to /proc/self/exe.
This patch to libgo works around the problem by ignoring
argv[0] if it is a small file, or if stat fails. This is not
a perfect fix but it's an unusual problem.
From-SVN: r213513
2014-08-02 00:54:15 +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
1c2afaca89
runtime: also disable split stacks for runtime_snprintf function under Clang
...
From-SVN: r212862
2014-07-20 09:24:16 +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
90fe3cc61f
libgo: Bump version number.
...
From-SVN: r212840
2014-07-19 10:12:01 +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
2802d48b30
runtime: Drop reflectFlags tests.
...
The flags were used by the reflect package in the past, but
not for a couple of years now.
From-SVN: r212446
2014-07-11 00:26:25 +00:00
Ian Lance Taylor
9490fda67a
re PR go/61620 (FAIL: go.test/test/fixedbugs/bug242.go execution, -O2 -g)
...
PR go/61620
runtime: Don't free tiny blocks in map deletion.
The memory allocator now has a special case for tiny blocks
(smaller than 16 bytes) and they can not be explicitly freed.
From-SVN: r212233
2014-07-02 14:23:45 +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
7b169c293d
runtime: add missing benchmark input files to the repository
...
From-SVN: r211961
2014-06-24 23:52:47 +00:00
Ian Lance Taylor
2abacbaec7
re PR go/52583 (Several new go testsuite failues on Solaris)
...
PR go/52583
runtime: Stop backtrace at a few recognized functions.
On x86_64 Solaris the makecontext function does not properly
indicate that it is at the top of the stack. Attempting to
unwind the stack past a call to makecontext tends to crash.
This patch changes libgo to look for certain functions that
are always found at the top of the stack, and to stop
unwinding when it reaches one of those functions. There is
never anything interesting past these functions--that is,
there is never any code written by the user.
From-SVN: r211640
2014-06-13 13:56:14 +00:00
Ian Lance Taylor
eec40eac83
re PR go/61498 (Many 64-bit Go tests SEGV in scanblock)
...
PR go/61498
runtime: Always set gcnext_sp to pointer-aligned address.
The gcnext_sp field is only used on systems that do not use
split stacks. It marks the bottom of the stack for the
garbage collector. This change makes sure that the stack
bottom is always aligned to a pointer value.
Previously the garbage collector would align all the addresses
that it scanned, but it now expects them to be aligned before
scanning.
From-SVN: r211639
2014-06-13 13:50:13 +00:00
Ian Lance Taylor
816002df70
runtime: Initialize variable to avoid compiler warning.
...
From-SVN: r211394
2014-06-10 00:36:38 +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
7480a39b77
runtime: Use _mm_pause rather than __builtin_ia32_pause.
...
Based on a patch from Peter Collingbourne.
From-SVN: r211081
2014-05-30 13:53:58 +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
d76a1885bd
runtime: disable split stacks for runtime_printf function under Clang
...
LLVM's code generator does not currently support split stacks for vararg
functions, so we disable split stacks for the only function that uses this
feature under Clang. This appears to be OK as long as:
- this function only calls non-inlined, internal-linkage (hence no dynamic
loader) functions compiled with split stacks (i.e. go_vprintf), which can
allocate more stack space as required;
- this function itself does not occupy more than BACKOFF bytes of stack space
(see libgcc/config/i386/morestack.S).
These conditions are currently known to be satisfied by Clang on x86-32 and
x86-64. Note that signal handlers receive slightly less stack space than they
would normally do if they happen to be called while this function is being
run. If this turns out to be a problem we could consider increasing BACKOFF.
From-SVN: r211037
2014-05-29 00:03:30 +00:00
Ian Lance Taylor
93c521ea9c
runtime: fix misc gcc-isms and undefined behavior
...
This includes the use of __complex and __builtin_ functions where
unprefixed entities would suffice, and the use of a union for
bit-casting between types.
From-SVN: r211036
2014-05-28 23:10:47 +00:00
Ian Lance Taylor
25e4b0497b
libgo/runtime: fix unused-result warning
...
Result of runtime_write is ignored, causing
an unused-result result warning (error in my
case, with -Werror=unused-result).
From-SVN: r210987
2014-05-27 22:01:21 +00:00
Ian Lance Taylor
44d5790f7b
mksysinfo: Define some more non-trivial TIOC constants.
...
From-SVN: r210192
2014-05-07 22:22:29 +00:00
Ian Lance Taylor
d3b4df0b17
mksysinfo: Define CLONE flags.
...
From-SVN: r210189
2014-05-07 21:48:29 +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
9490b8da72
re PR go/60931 (libgo has issues when page size is not 4k)
...
PR go/60931
runtime: Fix garbage collector issue with non 4kB system page size
The go garbage collector tracks memory in terms of 4kB pages.
Most of the code checks getpagesize() at runtime and does the
right thing.
On a 64kB ppc64 box I see SEGVs in long running processes
which has been diagnosed as a bug in scavengelist.
scavengelist does a madvise(MADV_DONTNEED) without rounding
the arguments to the system page size. A strace of one of the
failures shows the problem:
madvise(0xc211030000, 4096, MADV_DONTNEED) = 0
The kernel rounds the length up to 64kB and we mark 60kB of
valid data as no longer needed.
Round start up to a system page and end down before calling
madvise.
From-SVN: r209777
2014-04-25 04:29:07 +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
Chris Manghane
7035307e8f
Sync to current external repository.
...
user: Ian Lance Taylor <iant@golang.org>
date: Thu Apr 10 09:25:24 2014 -0700
files: go/expressions.cc
description:
compiler: add checks for constant overflow
Prevent extremely large constants from eating all of memory.
user: Chris Manghane <cmang@golang.org>
date: Mon Apr 07 16:57:09 2014 -0700
files: go/gogo-tree.cc go/gogo.cc go/gogo.h go/statements.cc
description:
compiler: Use backend interface for variable initialization.
user: Chris Manghane <cmang@golang.org>
date: Thu Apr 03 19:56:05 2014 -0700
files: go/backend.h go/gogo-tree.cc go/gogo.cc go/gogo.h
description:
compiler: Use backend interface to build function code.
changeset: 1269:6e30875d539e
user: Chris Manghane <cmang@golang.org>
date: Wed Apr 02 13:16:00 2014 -0700
files: go/backend.h go/gogo-tree.cc go/gogo.cc go/gogo.h
description:
compiler: Use backend interface for building function defer wrappers.
user: Chris Manghane <cmang@golang.org>
date: Mon Mar 31 12:42:49 2014 -0700
files: go/expressions.cc go/gogo-tree.cc go/gogo.cc go/gogo.h
description:
compiler: Use backend interface for memory allocation.
user: Chris Manghane <cmang@golang.org>
date: Thu Mar 27 14:22:49 2014 -0700
files: go/backend.h go/expressions.cc go/expressions.h
description:
compiler: Use backend interface for fixed array construction.
user: Chris Manghane <cmang@golang.org>
date: Mon Mar 17 21:25:04 2014 -0700
files: go/expressions.cc
description:
compiler: Check for loops in self-referential array types. Fixes issue 7525.
user: Chris Manghane <cmang@golang.org>
date: Mon Mar 17 14:31:59 2014 -0700
files: go/gogo.cc go/parse.cc
description:
compiler: Don't declare blank labels. Fixes issue 7539.
user: Chris Manghane <cmang@golang.org>
date: Mon Mar 17 13:12:32 2014 -0700
files: go/backend.h go/expressions.cc go/expressions.h go/runtime.def
description:
compiler: Use backend interface for call expressions.
user: Chris Manghane <cmang@golang.org>
date: Wed Mar 12 13:34:27 2014 -0700
files: go/expressions.cc go/expressions.h go/gogo-tree.cc go/statements.cc
description:
compiler: Use backend interface map construction.
user: Chris Manghane <cmang@golang.org>
date: Tue Mar 11 12:53:06 2014 -0700
files: go/backend.h go/expressions.cc go/gogo-tree.cc go/gogo.h
description:
compiler: Use backend interface for string expressions.
user: Chris Manghane <cmang@golang.org>
date: Sat Mar 08 15:56:59 2014 -0800
files: go/backend.h go/expressions.cc go/expressions.h
description:
compiler: Use backend interface for array and string indexing.
user: Chris Manghane <cmang@golang.org>
date: Fri Mar 07 16:02:18 2014 -0800
files: go/expressions.cc
description:
compiler: Use backend interface for constant expressions.
user: Chris Manghane <cmang@golang.org>
date: Thu Mar 06 16:00:18 2014 -0800
files: go/expressions.cc
description:
compiler: Use backend interface for struct construction.
user: Chris Manghane <cmang@golang.org>
date: Wed Mar 05 13:09:37 2014 -0800
files: go/expressions.cc
description:
compiler: Use backend interface for type conversions.
user: Chris Manghane <cmang@golang.org>
date: Tue Mar 04 07:03:47 2014 -0800
files: go/expressions.cc go/expressions.h go/gogo-tree.cc go/gogo.h go/runtime.def libgo/runtime/chan.c
description:
compiler: Use backend interface for channel receive.
user: Chris Manghane <cmang@golang.org>
date: Mon Mar 03 15:18:57 2014 -0800
files: go/backend.h go/expressions.cc go/runtime.def
description:
compiler: Use backend interface for builtin calls.
user: Chris Manghane <cmang@golang.org>
date: Mon Mar 03 07:44:35 2014 -0800
files: go/expressions.cc go/expressions.h go/types.cc go/types.h
description:
compiler: Use backend interface for string info.
user: Chris Manghane <cmang@golang.org>
date: Fri Feb 28 10:45:55 2014 -0800
files: go/expressions.cc go/expressions.h go/gogo-tree.cc go/statements.cc
description:
compiler: Use backend interface for map indexing.
user: Chris Manghane <cmang@golang.org>
date: Wed Feb 26 14:13:10 2014 -0800
files: go/expressions.cc go/expressions.h
description:
compiler: Use backend interface for slice value expressions.
user: Chris Manghane <cmang@golang.org>
date: Wed Feb 26 13:12:19 2014 -0800
files: go/backend.h go/expressions.cc go/expressions.h go/gogo-tree.cc go/runtime.def go/statements.cc
description:
compiler: Use backend interface for interface values.
user: Chris Manghane <cmang@golang.org>
date: Mon Feb 24 12:30:13 2014 -0800
files: go/expressions.cc go/expressions.h go/parse.cc go/statements.cc
description:
compiler: Change Heap_composite_expression to Heap_expression.
user: Chris Manghane <cmang@golang.org>
date: Thu Feb 20 19:47:06 2014 -0800
files: go/expressions.cc go/expressions.h go/gogo-tree.cc go/gogo.cc go/gogo.h go/types.cc go/types.h
description:
compiler: Use backend interface for interface method table expressions.
user: Chris Manghane <cmang@golang.org>
date: Mon Feb 03 14:36:20 2014 -0800
files: go/expressions.cc go/expressions.h
description:
compiler: Add compound expressions to the frontend.
* go-gcc.cc: Include "convert.h".
(Gcc_backend::string_constant_expression): New function.
(Gcc_backend::real_part_expression): Likewise.
(Gcc_backend::imag_part_expression): Likewise.
(Gcc_backend::complex_expression): Likewise.
(Gcc_backend::constructor_expression): Likewise.
(Gcc_backend::array_constructor_expression): Likewise.
(Gcc_backend::pointer_offset_expression): Likewise.
(Gcc_backend::array_index_expression): Likewise.
(Gcc_backend::call_expression): Likewise.
(Gcc_backend::exception_handler_statement): Likewise.
(Gcc_backend::function_defer_statement): Likewise.
(Gcc_backend::function_set_parameters): Likewise.
(Gcc_backend::function_set_body): Likewise.
(Gcc_backend::convert_expression): Handle various type
conversions.
From-SVN: r209393
2014-04-14 22:43:47 +00:00
Ian Lance Taylor
33a9145bb7
libgo: Build math package with -ffp-contract=off on non-x86.
...
http://golang.org/issue/7074 shows that not using
-ffp-contract=off produces the wrong result for math.Log2(1)
on arm64.
From-SVN: r208505
2014-03-12 04:38:52 +00:00
Ian Lance Taylor
9c48398f49
runtime: Fix GC bug caused by Entersyscall modifying reg.
...
This patch fixes a rare but serious bug. The Go garbage
collector only examines Go stacks. When Go code calls a
function that is not written in Go, it first calls
syscall.Entersyscall. Entersyscall records the position of
the Go stack pointer and saves a copy of all the registers.
If the garbage collector runs while the thread is executing
the non-Go code, the garbage collector fetches the stack
pointer and registers from the saved location.
Entersyscall saves the registers using the getcontext
function. Unfortunately I didn't consider the possibility
that Entersyscall might itself change a register before
calling getcontext. This only matters for callee-saved
registers, as caller-saved registers would be visible on the
saved stack. And it only matters if Entersyscall is compiled
to save and modify a callee-saved register before it calls
getcontext. And it only matters if a garbage collection
occurs while the non-Go code is executing. And it only
matters if the only copy of a valid Go pointer happens to be
in the callee-saved register when Entersyscall is called.
When all those conditions are true, the Go pointer might get
collected incorrectly, leading to memory corruption.
This patch tries to avoid the problem by splitting
Entersyscall into two functions. The first is a simple
function that just calls getcontext and then calls the rest of
Entersyscall. This should fix the problem, provided the
simple Entersyscall function does not itself modify any
callee-saved registers before calling getcontext. That seems
to be true on the systems I checked. But since the argument
to getcontext is an offset from a TLS variable, it won't be
true on a system which needs to save callee-saved registers in
order to get the address of a TLS variable. I don't know why
any system would work that way, but I don't know how to rule
it out. I think that on any such system this will have to be
implemented in assembler. I can't put the ucontext_t
structure on the stack, because this function can not split
stacks, and the ucontext_t structure is large enough that it
could cause a stack overflow.
From-SVN: r208390
2014-03-07 05:04:37 +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
91d6f071fb
runtime: Use a better heap location on arm64 systems.
...
Before this, the heap location used on a 64-bit system was not
available to user-space on arm64, so the "32-bit" strategy ended up
being used. So use somewhere that is available, and for bonus points
is far away from where the kernel allocates address space by default.
From-SVN: r207977
2014-02-21 03:24:03 +00:00
Ian Lance Taylor
e3aaedd6bf
ltmain.sh: Patch for Solaris.
...
From Rainer Orth.
From-SVN: r207432
2014-02-03 17:39:44 +00:00
Ian Lance Taylor
f56c5dd19c
libgo/configure: Test for gold with gccgo -Wl,--help, not ld --help.
...
From-SVN: r206937
2014-01-22 19:10:47 +00:00
Ian Lance Taylor
6fbfce7841
re PR go/59866 (gccgo gc work buffer is misaligned)
...
PR go/59866
runtime: Force work variable in mgc0 to be aligned on 8-byte boundary.
From-SVN: r206738
2014-01-17 22:43:03 +00:00
Ian Lance Taylor
abd471378c
runtime: fix 32-bit malloc for pointers >= 0x80000000
...
The spans array is allocated in runtime_mallocinit. On a
32-bit system the number of entries in the spans array is
MaxArena32 / PageSize, which (2U << 30) / (1 << 12) == (1 << 19).
So we are allocating an array that can hold 19 bits for an
index that can hold 20 bits. According to the comment in the
function, this is intentional: we only allocate enough spans
(and bitmaps) for a 2G arena, because allocating more would
probably be wasteful.
But since the span index is simply the upper 20 bits of the
memory address, this scheme only works if memory addresses are
limited to the low 2G of memory. That would be OK if we were
careful to enforce it, but we're not. What we are careful to
enforce, in functions like runtime_MHeap_SysAlloc, is that we
always return addresses between the heap's arena_start and
arena_start + MaxArena32.
We generally get away with it because we start allocating just
after the program end, so we only run into trouble with
programs that allocate a lot of memory, enough to get past
address 0x80000000.
This changes the code that computes a span index to subtract
arena_start on 32-bit systems just as we currently do on
64-bit systems.
From-SVN: r206501
2014-01-09 23:16:56 +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
2da4a7611b
re PR go/59433 (Many 64-bit Go tests SEGV on Solaris)
...
PR go/59433
net: Don't use stack space for fd_sets when using select.
From-SVN: r206411
2014-01-08 00:42:45 +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
9596ecdf8c
runtime: Remove unused runtime_cpuid variables.
...
From-SVN: r206353
2014-01-06 03:01:58 +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
1635eab367
runtime: Fix defer of unlock thread at program startup.
...
Don't free stack allocated defer block. Also ensure we have a
Go context in a few more places before freeing the block.
From-SVN: r205940
2013-12-12 20:13:58 +00: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
dccd3a9b62
re PR go/59408 (Many Go tests FAIL with notesleep not on g0)
...
PR go/59408
runtime: Don't require g != m->g0 in sema notesleep.
From-SVN: r205756
2013-12-06 18:26:27 +00:00
Ian Lance Taylor
50312b2ff0
runtime: Use pthread_sigmask instead of sigprocmask.
...
From-SVN: r205652
2013-12-04 01:35:53 +00:00
Ian Lance Taylor
e8d8443d22
runtime: Fix prototype and one use of runtime_traceback.
...
From Richard Biener.
From-SVN: r205634
2013-12-03 14:51:07 +00:00
Ian Lance Taylor
2583109c81
libgo: Avoid some cases of getting callers recursively.
...
Avoids hanging inside older versions of glibc that do not
support recurive calls to dl_iterate_phdr.
From-SVN: r205561
2013-12-01 01:40: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
763d87526f
runtime: Fix handling of surrogate pairs in string([]rune).
...
From-SVN: r205422
2013-11-26 23:27:29 +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
42c447c0c4
libgo: Update libtool support for powerpc64le-linux-gnu.
...
From Ulrich Weigand.
From-SVN: r205287
2013-11-22 20:39:46 +00:00
Ian Lance Taylor
92495ff691
runtime: Update for change to libbacktrace library.
...
From-SVN: r205031
2013-11-19 15:02:27 +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
9d5eec2da6
gotest: Recognize PPC ELF v2 function pointers in text section.
...
From-SVN: r205000
2013-11-19 02:14:40 +00:00
Ian Lance Taylor
824393bd5b
libgo: Fix typo for is_dragonfly in configure script.
...
From-SVN: r204999
2013-11-19 02:11:38 +00:00
Ian Lance Taylor
7c0f17db44
runtime: Use runtime_m to get m value after call to runtime_mcall.
...
From-SVN: r204853
2013-11-15 17:20:25 +00:00
Ian Lance Taylor
37512c0399
runtime: Don't use filename without '/' for backtrace library.
...
Fixes http://golang.org/issue/6715 .
From-SVN: r204828
2013-11-14 22:31:29 +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
7d608db296
runtime: Fix GC flag in when allocating memory from cgo.
...
From-SVN: r204815
2013-11-14 20:04:32 +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
86dedeba36
runtime: Correct flag (FlagNoGC => FlagNoInvokeGC).
...
From-SVN: r204617
2013-11-09 16:23:00 +00:00
Ian Lance Taylor
f671b58945
runtime: Fixes for Alpha.
...
From-SVN: r204551
2013-11-07 23:38:47 +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
134e622524
runtime: Fix typo in dup3 fallback implementation.
...
From Uros Bizjak.
From-SVN: r203820
2013-10-18 13:26:40 +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
c187e58fa2
runtime: Fix build on systems without split stack.
...
From Uros Bizjak.
From-SVN: r203703
2013-10-16 13:37:35 +00:00
Ian Lance Taylor
8088e1beb2
runtime: Don't clobber saved context when catching signal.
...
From-SVN: r203577
2013-10-14 21:02:52 +00:00
Ian Lance Taylor
301616f7ff
runtime: Report len out of range for large len when making slice.
...
From-SVN: r203401
2013-10-11 00:46:57 +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
7af190f113
runtime: Do not report thunks and recover functions in backtrace.
...
From-SVN: r203294
2013-10-09 00:02:14 +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
84c67c3bae
runtime: Fix append of slice with elements of zero size.
...
From-SVN: r203140
2013-10-02 23:49:39 +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
6e6bbb604e
libgo: Update libtool.m4 from upstream to recognize powerpcle.
...
From-SVN: r201933
2013-08-23 01:08:25 +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
b0c5dc1655
runtime: Handle allocating memory in cgo/SWIG function.
...
A function that returns an interface type and returns a value
that requires memory allocation will try to allocate while
appearing to be in a syscall. This patch lets that work.
From-SVN: r201226
2013-07-24 22:30:25 +00:00
Ian Lance Taylor
08d22f9b41
runtime: Check _end rather than end to find end of program.
...
This fixes a problem on Solaris, where end is not defined in
the main program but comes from some shared library. This
only matters for 32-bit targets.
From-SVN: r201220
2013-07-24 17:37:07 +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
c0f0119244
runtime: Move new 1.1.1 functions from thread-linux.c to runtime.c.
...
This way they are compiled on non-GNU/Linux systems.
From-SVN: r201209
2013-07-24 13:18:45 +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
6212cdcdf7
runtime: Declare epoll_create1 if necessary.
...
From-SVN: r201181
2013-07-23 20:32:26 +00:00
Ian Lance Taylor
7acd2b86bf
runtime: Support cgo callbacks from threads started by C.
...
This adjusts the extram support to work with gccgo. There are
some corresponding changes to cgo in
https://codereview.appspot.com/11406047/ .
From-SVN: r201179
2013-07-23 20:26:09 +00:00
Ian Lance Taylor
5f9ae7f2d6
runtime: Ignore SIGPROF if not on a Go thread.
...
From-SVN: r201154
2013-07-23 04:42:09 +00:00
Ian Lance Taylor
081e7aadae
runtime: Fix build on non-split-stack systems.
...
From-SVN: r200983
2013-07-16 15:44:54 +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
0a2f103a45
runtime: Don't block SIGTRAP while creating a new thread.
...
Thanks to Uros Bizjak.
From-SVN: r196362
2013-02-28 21:56:14 +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
aa777e7a23
re PR go/56320 (Several libgo tests FAIL on 64-bit Solaris/x86)
...
PR go/56320
runtime: Support Solaris AMD64 in lfstack.
The address space layout is similar on SPARC64 and AMD64 when
running Solaris.
From-SVN: r196179
2013-02-20 19:45:10 +00:00
Ian Lance Taylor
3ab98a471c
runtime: Do not reserve huge amount of swap on 32 bit architectures.
...
The mmap() call which reserves the arena should have MAP_NORESERVE
flag as in typical cases this memory will never be (fully) needed.
This matters in environments which do not do Linux style memory
overcommit, such as OpenIndiana/OpenSolaris/Solaris.
The MAP_NORESERVE flag does not exist on all operating systems
(for example FreeBSD). Therefore we define it to zero value in
case it does not exist.
Fixes issue 21.
From-SVN: r196088
2013-02-15 18:55:09 +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
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
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
d5698f71bb
re PR go/56017 (libgo testsuite does not support cross testing)
...
PR go/56017
libgo DejaGNU testsuite: Load timeout.exp before go.exp.
From-SVN: r195926
2013-02-09 23:02:09 +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
48227088fd
runtime: Change main in goc2c to return int.
...
From Uros Bizjak.
From-SVN: r195868
2013-02-07 22:24:34 +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
553752e19f
libgo: Correct test for whether to use DejaGNU.
...
From-SVN: r195861
2013-02-07 18:01:54 +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
5c9768b360
re PR go/56172 (net FAILs on Solaris)
...
PR go/56172
runtime: Fix argument passed to forcegchelper.
From-SVN: r195774
2013-02-05 23:59:24 +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
7ebe663e98
runtime: Correct handling of runtime.Callers skip parameter.
...
From-SVN: r195685
2013-02-02 15:11:48 +00:00
Ian Lance Taylor
a1948282e8
runtime: Correct test for morestack.S.
...
From-SVN: r195640
2013-02-01 05:49:14 +00:00
Ian Lance Taylor
cfbafb9a7e
runtime: Recognize morestack.S if there is no function name.
...
From-SVN: r195634
2013-01-31 23:12:42 +00:00
Ian Lance Taylor
7c81527e48
runtime: Remove confusion about split stack functions in backtrace.
...
From-SVN: r195627
2013-01-31 19:44:24 +00:00
Ian Lance Taylor
e259a3f2ca
runtime: Block signals when creating a new thread.
...
From-SVN: r195619
2013-01-31 17:30:28 +00:00
Ian Lance Taylor
422e2fc062
runtime: Don't allocate when doing a backtrace.
...
From-SVN: r195615
2013-01-31 16:41:15 +00:00
Ian Lance Taylor
27741f93ef
runtime: In backtraces, get inline functions, skip split-stack fns.
...
From-SVN: r195591
2013-01-30 22:24:40 +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
656e11a924
runtime: SPARCv9 fixes for lfstack.
...
From Rainer Orth.
From-SVN: r195534
2013-01-29 13:58:18 +00:00
Ian Lance Taylor
0d4668c1d5
libgo: Add --enable-werror configure option.
...
From-SVN: r195482
2013-01-26 00:13:34 +00:00
Ian Lance Taylor
acc6151f4a
re PR other/56076 (Several 64-bit libgo tests FAIL in read_line_header)
...
PR other/56076
runtime: Support sparc64 in lfstack.
From-SVN: r195479
2013-01-25 23:43:23 +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
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
a57bf4070a
log/syslog: Solaris portability patches.
...
From-SVN: r194566
2012-12-17 21:07:27 +00:00
Ian Lance Taylor
35f33e3802
runtime: Delete from a nil map is now a no-op.
...
From-SVN: r194462
2012-12-12 23:29:10 +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
98fd70c20f
mksysinfo: Fix TIOCNOTTY and TIOCSCTTY for ARM.
...
From Matthias Klose.
From-SVN: r194118
2012-12-04 06:23:37 +00:00
Ian Lance Taylor
4731f878b7
runtime: Fix build failures with -D_FORTIFY_SOURCE=2.
...
From-SVN: r194116
2012-12-04 06:18:07 +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
95d89457e2
runtime: Fix use of __atomic_compare_exchange_n: not weak, consistent.
...
From-SVN: r193581
2012-11-17 00:52:22 +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
8273ed8077
compiler, runtime: Size of int is now 64 bits on x86_64.
...
From-SVN: r193255
2012-11-06 18:46:38 +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
855a44ee8f
compiler, runtime: Memcmp routine returns intgo.
...
From-SVN: r193253
2012-11-06 18:12:45 +00:00
Ian Lance Taylor
0be1a5898f
runtime: provide initcontext and fixcontext for NetBSD
...
From-SVN: r193173
2012-11-05 17:41:07 +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
556ea3915a
runtime: Fix reflect.Call support for 64-bit ints.
...
From-SVN: r193110
2012-11-02 23:17:05 +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
e212c7f56c
runtime/goc2c: Drop gc support, change int to intgo.
...
From-SVN: r193046
2012-10-31 20:49:53 +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
1a6c552d12
mksysinfo: Define SIGPOLL and SIGCLD if necessary.
...
From-SVN: r192775
2012-10-24 19:00:44 +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
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
fb521d54f1
runtime: Fix __go_symbol_value val argument to backtrace_syminfo.
...
From-SVN: r192194
2012-10-08 04:29:47 +00:00
Ian Lance Taylor
686750d25d
runtime: Use argv[0] to get executable name for backtrace.
...
From-SVN: r192123
2012-10-05 13:44:40 +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
ddd06f5372
runtime: Better detection of memory allocation request overflow.
...
From-SVN: r191841
2012-09-28 21:25:20 +00:00
Ian Lance Taylor
92aecb446a
runtime: runtime.Caller should succeed even without debug info.
...
From-SVN: r191833
2012-09-28 17:42:53 +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
a2383b317b
runtime: Reject surrogate pairs in range over string.
...
From-SVN: r191638
2012-09-22 07:18:45 +00:00
Ian Lance Taylor
1e39ea0812
compiler, runtime: Reject surrogate pair converting int to string.
...
From-SVN: r191636
2012-09-22 06:51:59 +00:00
Ian Lance Taylor
2afc1e0b30
runtime: Return random number of hash of NaN.
...
From-SVN: r191632
2012-09-22 06:06:31 +00:00
Ian Lance Taylor
ee6440f8d8
libgo: Add no-dist and -Wno-portability to AM_INIT_AUTOMAKE.
...
From-SVN: r191575
2012-09-20 16:32:27 +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
e162e288ec
mksysinfo: Fix syscall.F_GETLK and friends for 32-bit x86.
...
From-SVN: r190554
2012-08-21 05:29:30 +00:00
Ian Lance Taylor
938ff79ae7
runtime: use sched_getaffinity for runtime.NumCPU() on Linux
...
Fixes Go issue 3921 for gccgo.
From Shenghou Ma.
From-SVN: r190282
2012-08-10 06:08:11 +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
0abcd2ef51
runtime: correct a logic error in hashmap growth.
...
The bug prevented maps to grow properly to sizes
larger than 1.3 million.
From Rémy Oudompheng.
From-SVN: r189766
2012-07-23 03:57:28 +00:00
Ian Lance Taylor
5ede5aa54e
mksysinfo.sh: Fix handling of glibc 2.16 bits/resource.h.
...
From Jakub Jelinek.
From-SVN: r189372
2012-07-09 11:13:49 +00:00
Ian Lance Taylor
25bab91e01
gotest: Only look in data segment for ppc64, not ppc*.
...
From Andreas Schwab.
From-SVN: r188944
2012-06-25 16:26:27 +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
d71ec0cdd6
libgo: Make the subdirectory in the CHECK target.
...
From Andreas Schwab.
From-SVN: r188547
2012-06-14 04:47:45 +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
f3dbbfcedf
runtime: Fix printing of names in stack dumps.
...
From-SVN: r188297
2012-06-07 06:34:52 +00:00
Ian Lance Taylor
0d7afaa749
runtime: Use dl_iterate_phdr to get TLS size.
...
From-SVN: r188290
2012-06-07 00:55:20 +00:00
Ian Lance Taylor
9bb40b3b23
runtime: Comment out code adding TLS size to stack size.
...
From-SVN: r188238
2012-06-05 13:12:13 +00:00
Ian Lance Taylor
44072af5b0
runtime: Fix call to _dl_get_tls_static_info for i386.
...
From-SVN: r188230
2012-06-05 06:19:19 +00:00
Ian Lance Taylor
70b9f51628
mksysinfo: Fix for recent change to glibc <sys/resource.h>.
...
From-SVN: r188228
2012-06-05 05:32:54 +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
d4dc840de4
runtime: More efficient implementation of trampolines.
...
From-SVN: r187899
2012-05-25 21:51:39 +00:00
Ian Lance Taylor
e5159e6070
runtime: Fix cast error in print.c on 32-bit systems.
...
From-SVN: r187889
2012-05-25 18:22:01 +00:00
Ian Lance Taylor
bac564c53e
runtime: Make runtime.Stack actually work.
...
From-SVN: r187854
2012-05-24 21:07:18 +00:00
Ian Lance Taylor
9e65cec2fd
runtime: Correct definition of __go_file_line to match declaration.
...
From Rainer Orth.
From-SVN: r187851
2012-05-24 20:47:09 +00:00
Ian Lance Taylor
41f9e67527
runtime: Copy runtime_printf from other Go library.
...
From-SVN: r187850
2012-05-24 20:45:37 +00:00
Ian Lance Taylor
86ba147f54
runtime: Copy runtime_printf from other Go library.
...
From-SVN: r187848
2012-05-24 20:44:34 +00:00
Ian Lance Taylor
4579805199
runtime: Tweak runtime.Callers for Go 1 compatibility.
...
From-SVN: r187781
2012-05-22 21:52:56 +00:00
Ian Lance Taylor
ef1f343258
runtime: Use getcontext, not setjmp, to save regs for GC.
...
From-SVN: r187777
2012-05-22 16:57:23 +00:00
Ian Lance Taylor
d7b8f2b781
runtime: Print stack trace on panic or signal.
...
From-SVN: r187623
2012-05-17 05:30:25 +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
fe725c000b
runtime: Make all variables used across getcontext volatile.
...
From-SVN: r187549
2012-05-15 18:56:48 +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
324612b351
re PR go/52358 (math FAILs on Solaris 8 and 9)
...
PR go/52358
configure, runtime: Provide i386 long double math functions if needed.
From-SVN: r186915
2012-04-27 16:38:11 +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
f07bb470ae
runtime: Correct syscall.Setenv for systems that don't have setenv.
...
From-SVN: r186911
2012-04-27 16:28:21 +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
bc9201591d
gotest: Remove race in use of ../testdata.
...
From-SVN: r186781
2012-04-24 20:13:12 +00:00
Ian Lance Taylor
1a985a5642
mksysinfo: Only define PathMax if PATH_MAX is defined.
...
From-SVN: r186778
2012-04-24 19:12:26 +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
6eea77093d
libgo: Make sure log/syslog subdirectory exists before using it.
...
From-SVN: r186715
2012-04-23 17:02:54 +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
df32732fa8
mksysinfo: Define more structs.
...
From-SVN: r186683
2012-04-22 19:26:01 +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
63d1e46df0
compiler, runtime: Add explicit checks for zero and overflow division.
...
* lang.opt: Add -fgo-check-divide-zero and
-fgo-check-divide-overflow.
* gccgo.texi (Invoking gccgo): Document new options.
From-SVN: r186637
2012-04-20 19:21:39 +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
8a72417502
runtime: Ignore stack sizes when deciding when to GC.
...
Also allocate heap bitmaps bit in page size units and clear
context when putting G structures on free list.
From-SVN: r186607
2012-04-20 04:58:26 +00:00
Ian Lance Taylor
8198dc134f
gotest: Don't get confused by data tables named Test on PPC.
...
From-SVN: r186605
2012-04-20 04:49:19 +00:00
Ian Lance Taylor
b059fba469
syscall: Add more constants.
...
From-SVN: r186144
2012-04-04 18:50:09 +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
8db6380aa7
mksysinfo.sh: Add some more networking constants.
...
From-SVN: r186114
2012-04-03 19:42:24 +00:00
Ian Lance Taylor
572a2f6886
gotest: Fix finding functions on PPC.
...
From-SVN: r186112
2012-04-03 18:26:57 +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
199ebde370
mksysinfo: Fix use of _in6_addr in _zone_net_addr_t.
...
From Rainer Orth.
From-SVN: r185938
2012-03-28 23:19:06 +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
42cd874911
re PR go/52557 (Timex undefined on arm-linux-gnueabi)
...
PR go/52557
mksysinfo: Fix handling of timex for ARM GNU/Linux.
From-SVN: r185354
2012-03-13 20:56:23 +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
c3f87aa909
runtime: Implement runtime.Callers.
...
From-SVN: r184944
2012-03-05 17:07:37 +00:00
Ian Lance Taylor
5e60b5708e
re PR go/52342 (64-bit go.test/test/chan/doubleselect.go times out on Solaris/SPARC)
...
PR go/52342
runtime: Better big-endian identity hash function.
From-SVN: r184914
2012-03-05 06:39:08 +00:00
Ian Lance Taylor
dbe1e4a5a6
libgo: Fix Solaris ustat.h test.
...
From-SVN: r184913
2012-03-05 06:04:14 +00:00
Ian Lance Taylor
2aeaf0fb26
libgo: Try to fix use of <ustat.h> for Solaris and older GNU/Linux.
...
From-SVN: r184828
2012-03-02 21:07:52 +00:00
Ian Lance Taylor
cd33b08fbd
runtime: Add type casts to fix Solaris build.
...
From Rainer Orth.
From-SVN: r184823
2012-03-02 20:48:21 +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
116b061e74
mksysinfo: Define MADV_ constants for madvise.
...
From-SVN: r184752
2012-03-01 17:22:29 +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
5c46e29317
runtime: Call exit rather than _exit.
...
This fixes --coverage and perhaps other things as well.
From-SVN: r184642
2012-02-28 20:57:15 +00:00
Ian Lance Taylor
2ef7cdff1e
runtime: Fix typo in go-nosys.c.
...
From Rainer Orth.
From-SVN: r184569
2012-02-25 02:11:29 +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
061793a4cc
re PR go/52266 (syntax error in libgo/configure)
...
PR go/52266
libgo: Remove accidental AC_INCLUDES_DEFAULT from configure script.
From-SVN: r184345
2012-02-17 15:44:29 +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
ca59d219fe
runtime: Support broken makecontext on Solaris 8/9.
...
From Rainer Orth.
From-SVN: r184289
2012-02-15 22:29:35 +00:00
Ian Lance Taylor
35ea42ebad
re PR go/48407 (libgo/configure --without-libffi doesn't work)
...
PR go/48407
runtime: Permit building libgo without libffi.
From-SVN: r184234
2012-02-14 20:47:35 +00:00
Ian Lance Taylor
317ea7c0f4
re PR go/48410 (weird installation dir)
...
PR go/48410
libgo: Don't put .gox files in version-specific directory.
From-SVN: r184223
2012-02-14 19:40:09 +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
95787705db
re PR go/48501 (64bit-out.go, select5-out.go, tmp.go compilation times out)
...
PR go/48501
runtime: Fix identity hash function for big-endian systems.
From-SVN: r184218
2012-02-14 18:02:09 +00:00
Ian Lance Taylor
4ea063cacb
re PR go/50654 (Many Go tests fail on emutls targets)
...
PR go/50654
runtime: Reload m and g if necessary after getcontext returns.
From-SVN: r184188
2012-02-14 00:38:07 +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
12e3c39614
re PR go/52084 (go tests fail to link on powerpc-linux-gnu (undefined reference to __sync_add_and_fetch_8))
...
PR go/52084
libgo: Provide more __sync functions if required.
From-SVN: r184138
2012-02-12 06:23:08 +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
83a5c149a6
runtime: Handle FFI promoting result types.
...
From-SVN: r184123
2012-02-11 07:08:13 +00:00
Ian Lance Taylor
96431d5772
runtime: Tweak __go_can_recover for SPARC.
...
From-SVN: r184117
2012-02-11 00:15:54 +00:00
Ian Lance Taylor
41da64ed3a
runtime: Fix chan code for big-endian strict-alignment systems
...
From-SVN: r184115
2012-02-11 00:03:10 +00:00
Ian Lance Taylor
d3229873ae
runtime: For g0 set stack_size to 0 when not -fsplit-stack.
...
From-SVN: r184099
2012-02-10 15:55:37 +00:00
Ian Lance Taylor
c91e24907b
runtime: Save all registers on stack for GC scan.
...
From-SVN: r184098
2012-02-10 15:52:37 +00:00
Ian Lance Taylor
e6c5817dca
libgo/configure: Fixes for Solaris 8 and cross-compilation.
...
From Rainer Orth.
From-SVN: r184092
2012-02-10 14:07:44 +00:00
Ian Lance Taylor
16d62226d1
runtime: Use __builtin_{inf,nan} rather than INFINITY/NAN.
...
From-SVN: r184080
2012-02-10 00:40:27 +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
d2b480bc96
runtime: Add matherr function when appropriate.
...
From-SVN: r184024
2012-02-08 22:35:30 +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
9d465faf92
math: Compile with -mfancy-math-387 -funsafe-optimizations on x86.
...
From-SVN: r184015
2012-02-08 19:38:17 +00:00
Ian Lance Taylor
047cff816d
compiler, runtime: Check make int64 args for overflow.
...
From-SVN: r183994
2012-02-08 06:18:41 +00:00
Ian Lance Taylor
7f57843fbe
runtime: System-specific hack fix for x86_64 Solaris 10.
...
Fixes problem in which setcontext changes all thread-specific
information.
From-SVN: r183993
2012-02-08 05:30:12 +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
cf54a93ca9
mksysinfo: Fix type of last field of Cmsghdr.
...
From-SVN: r183860
2012-02-03 01:06:19 +00:00
Ian Lance Taylor
1c69e5e28a
runtime: Correct ENOSYS functions.
...
From-SVN: r183852
2012-02-02 22:58:54 +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
e02ed81e1b
libgo: Build stubs for some syscall functions not on older systems.
...
From-SVN: r183577
2012-01-26 20:24:01 +00:00
Ian Lance Taylor
2887732181
libgo/mksysinfo: Always define IPV6_TCLASS.
...
From-SVN: r183552
2012-01-26 05:43:42 +00:00
Ian Lance Taylor
70a3ffe8c7
libgo/mksysinfo: Correct typo.
...
From-SVN: r183549
2012-01-26 01:08:20 +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
98dfd7ff16
runtime: Make builtin print exactly match gc builtin print.
...
From-SVN: r183378
2012-01-21 21:58:09 +00:00
Ian Lance Taylor
1efa38d1a7
libgo: Solaris and Irix compatibility patches.
...
From Rainer Orth.
From-SVN: r183246
2012-01-17 14:18:39 +00:00
Ian Lance Taylor
eec3e72c11
mksysinfo: Fix Alpha GNU/Linux compatibility patch.
...
From Uros Bizjak.
From-SVN: r183245
2012-01-17 14:13:33 +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
dd1628807a
mksysinfo: Pick up TIOCGWINSZ even if expression is too complex.
...
From-SVN: r183169
2012-01-13 23:17:20 +00:00
Ian Lance Taylor
daeae9f196
mksysinfo: Make sure EPOLL_CLOEXEC is defined.
...
From-SVN: r183168
2012-01-13 23:03:02 +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
f9f9698753
compiler, runtime: Implement struct and array comparisons.
...
From-SVN: r182971
2012-01-06 21:47:49 +00:00
Ian Lance Taylor
bbe847a162
libgo: Use -std=gnu99 on Solaris 10.
...
From Rainer Orth.
From-SVN: r182637
2011-12-22 20:39:29 +00:00
Ian Lance Taylor
a05fe19071
runtime: Fix missing USING_SPLIT_STACK ifdef.
...
From Uros Bizjak.
From-SVN: r182633
2011-12-22 19:07:12 +00:00
Ian Lance Taylor
a6dcb7d465
runtime: Catch signals on altstack, disable splitstack signal blocking.
...
From-SVN: r182607
2011-12-21 22:24:47 +00:00
Ian Lance Taylor
d8fa39bfc8
libgo/runtime: Don't define _GNU_SOURCE in source code.
...
From-SVN: r182550
2011-12-20 18:49:40 +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
c915f63f73
mksysinfo.sh: Ensure that IPV6 constants and types are defined.
...
From-SVN: r182314
2011-12-13 22:25:30 +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
03eee7f75c
runtime: RTEMS build fixes.
...
From Joel Sherrill.
From-SVN: r182309
2011-12-13 21:59:26 +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
ec2c72551e
runtime: make print() built-in write to stderr.
...
Fixes issue 2294.
From-SVN: r182167
2011-12-09 16:42:40 +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
18c700754e
libgo: Generate dependencies automatically.
...
From-SVN: r181955
2011-12-03 00:16:12 +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
bfa9b58039
merge.sh: Add files, add revision option, handle middle dot.
...
From-SVN: r181937
2011-12-02 19:27:25 +00:00
Ian Lance Taylor
f4c016e605
runtime: Remove temporary runtime_cond_wait function.
...
From-SVN: r181897
2011-12-01 23:50:48 +00:00
Ian Lance Taylor
17dcf07581
runtime: Rename sigignore to sig_ignore for Solaris.
...
From-SVN: r181885
2011-12-01 17:08:12 +00:00
Ian Lance Taylor
3e68d6d75a
compiler/runtime: Copy channel implementation from master library.
...
From-SVN: r181874
2011-12-01 08:06:16 +00:00
Ian Lance Taylor
b87974949f
runtime: Copy runtime_panicstring from master library.
...
From-SVN: r181830
2011-11-30 00:21:52 +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
08ee945e0b
runtime: If no sem_timedwait, use pthread_cond_timedwait.
...
From-SVN: r181821
2011-11-29 21:58:48 +00:00
Ian Lance Taylor
421ecf992e
runtime: If O_CLOEXEC is not defined, define it as 0.
...
From-SVN: r181814
2011-11-29 19:26:00 +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
48e7d50e9f
runtime: New lock/note implementation.
...
From-SVN: r181633
2011-11-22 20:24:44 +00:00
Ian Lance Taylor
5c262e9444
runtime: Use some of 6g runtime.c for easier merging.
...
From-SVN: r181368
2011-11-14 22:26:45 +00:00
Ian Lance Taylor
34277c5228
Introduce G structure and thread-local global g.
...
From-SVN: r181301
2011-11-11 21:02:48 +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
2009150b2a
libgo/Makefile: Fix dependency.
...
From-SVN: r180778
2011-11-02 15:59:09 +00:00
Ian Lance Taylor
787f74b487
runtime: Don't ask mmap for wrapping memory.
...
From-SVN: r180732
2011-11-01 05:20:40 +00:00
Ian Lance Taylor
3d43396098
runtime: Correct test of mmap return value.
...
From-SVN: r180731
2011-11-01 04:55:15 +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
f0080f6cf9
syscall: Use sched_yield rather than pthread_yield.
...
From-SVN: r180716
2011-10-31 22:09:21 +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
f29ce5f5f1
Implement predeclared delete function.
...
From-SVN: r180438
2011-10-25 17:21:07 +00:00
Ian Lance Taylor
09367c0d60
Don't permit close of receive-only channel.
...
Better panic on attempt to close nil channel.
From-SVN: r180437
2011-10-25 16:35:24 +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
fbfb84e623
mksysinfo: #include <ttold.h> on Irix.
...
From Rainer Orth.
From-SVN: r179312
2011-09-28 13:14:11 +00:00
Ian Lance Taylor
3019bbaeb3
mksysinfo: Fix for systems that don't define TIOCSCTTY.
...
From Rainer Orth.
From-SVN: r179269
2011-09-27 13:16:22 +00:00
Ian Lance Taylor
16e40fef8f
Pass $(MATH_LIBS) $(NET_LIBS) when linking tests.
...
From-SVN: r179219
2011-09-26 22:33:31 +00:00
Ian Lance Taylor
f0f91207e4
Fix sysinfo.go on systems which don't need to import "unsafe".
...
From-SVN: r179216
2011-09-26 21:49:08 +00:00
Ian Lance Taylor
6172a2f298
Include <termios.h> in mksysinfo.sh.
...
From Rainer Orth.
From-SVN: r179120
2011-09-23 15:29:17 +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
2d778bb7ab
Increase default libgo test timeout.
...
From-SVN: r179062
2011-09-21 23:02:31 +00:00
Ian Lance Taylor
e6f8e59016
Support nil maps.
...
From-SVN: r179054
2011-09-21 17:37:50 +00:00
Ian Lance Taylor
f6cde0add6
Fix channels with element type of size zero.
...
From-SVN: r179030
2011-09-21 00:56:28 +00:00
Ian Lance Taylor
6fa2979911
Fix calling make with slice whose element type is size zero.
...
From-SVN: r179019
2011-09-20 22:06:20 +00:00
Ian Lance Taylor
6675c41604
Implement goto restrictions.
...
From-SVN: r179018
2011-09-20 21:00:07 +00:00
Ian Lance Taylor
31aeabd3c5
Block forever on send/receive to/from nil channel.
...
From-SVN: r178920
2011-09-16 22:56:32 +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
b9f04a8461
Fix defer when not calling recover in function with named results.
...
From-SVN: r178905
2011-09-16 05:47:20 +00:00
Rainer Orth
201cdb7438
Makefile.in (UNWIND_H): Remove.
...
gcc:
* Makefile.in (UNWIND_H): Remove.
(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
../libgcc/Makefile.in.
(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
(LIBUNWINDDEP): Remove.
(libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
(libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
(stmp-int-hdrs): Remove $(UNWIND_H) dependency.
Don't copy $(UNWIND_H).
* config.gcc (ia64*-*-linux*): Remove with_system_libunwind
handling.
* configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
* unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
* config/arm/libunwind.S, config/arm/pr-support.c,
config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
../libgcc/config/arm.
* config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
* config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
* config/frv/t-frv ($(T)frvbegin$(objext)): Use
$(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
($(T)frvend$(objext)): Likewise.
* config/ia64/t-glibc (LIB2ADDEH): Remove.
* config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
../libgcc/config/ia64.
* config/ia64/t-hpux (LIB2ADDEH): Remove.
* config/ia64/t-ia64 (LIB2ADDEH): Remove.
* config/ia64/t-vms (LIB2ADDEH): Remove.
* config/ia64/vms.h (UNW_IVMS_MODE,
MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
* config/picochip/t-picochip (LIB2ADDEH): Remove.
* config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
* config/rs6000/t-darwin (LIB2ADDEH): Remove.
* config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
* config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
$(srcdir)/../libgcc to refer to unwinder sources.
* config/spu/t-spu-elf (LIB2ADDEH): Remove.
* config/t-darwin (LIB2ADDEH): Remove.
* config/t-freebsd (LIB2ADDEH): Remove.
* config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
* config/t-libunwind-elf: Move to ../libgcc/config.
* config/t-linux (LIB2ADDEH): Remove.
* config/t-sol2 (LIB2ADDEH): Remove.
* config/xtensa/t-xtensa (LIB2ADDEH): Remove.
* system.h (MD_FROB_UPDATE_CONTEXT): Poison.
gcc/po:
* EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c)
(unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h)
(unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove.
libgcc:
* Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New
variables.
(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables.
(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c.
(install-unwind_h): New target.
(all): Depend on it.
* config.host (unwind_header): New variable.
(*-*-freebsd*): Set tmake_file to t-eh-dw2-dip.
(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
*-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu.
(*-*-solaris2*): Add t-eh-dw2-dip to tmake_file.
(arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi.
Set unwind_header.
(arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi.
Set unwind_header.
(arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for
arm*-*-eabi*.
Add arm/t-symbian to tmake_file for arm*-*-symbianelf*.
Set unwind_header.
(ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file.
(ia64*-*-freebsd*): Likewise.
(ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to
tmake_file.
Add t-libunwind-elf, ia64/t-glibc-libunwind unless
$with_system_libunwind.
(ia64*-*-hpux*): Set tmake_file.
(ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file.
(picochip-*-*): Set tmake_file.
(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set
md_unwind_header.
(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
(s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file.
(xtensa*-*-elf*): Set tmake_file.
(xtensa*-*-linux*): Likewise.
* configure.ac: Include ../config/unwind_ipinfo.m4.
Call GCC_CHECK_UNWIND_GETIPINFO.
Link unwind.h to $unwind_header.
* configure: Regenerate.
* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c,
unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
unwind-pe.h, unwind-sjlj.c, unwind.inc: New files.
* config/unwind-dw2-fde-darwin.c: New file.
* config/arm/libunwind.S, config/arm/pr-support.c,
config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c,
config/arm/unwind-arm.h,: New files.
* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
config/ia64/t-eh-ia64, config/ia64/t-glibc,
config/ia64/t-glibc-libunwind, config/ia64/t-hpux,
config/ia64/t-vms, config/ia64/unwind-ia64.c,
config/ia64/unwind-ia64.h: New files.
* config/picochip/t-picochip: New file.
* config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New
files.
* config/rs6000/t-darwin (LIB2ADDEH): Set.
* config/s390/t-tpf (LIB2ADDEH): Remove.
* config/t-darwin (LIB2ADDEH): Set.
* config/t-eh-dw2-dip: New file.
* config/t-libunwind, config/t-libunwind-elf: New files.
* config/t-sol2 (LIB2ADDEH): Remove.
* config/xtensa/t-xtensa: New file.
gcc/ada:
* gcc-interface/Makefile.in (raise-gcc.o): Search
$(srcdir)/../libgcc.
libgo:
* Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc.
* Makefile.in: Regenerate.
libjava:
* configure.ac (GCC_UNWIND_INCLUDE): Rename to
LIBGCC_UNWIND_INCLUDE.
Point to $(multi_basedir)/./libjava/../libgcc.
* configure: Regenerate.
* Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
* Makefile.in: Regenerate.
libobjc:
* Makefile.in (INCLUDES): Search
$(srcdir)/$(MULTISRCTOP)../libgcc.
libstdc++-v3:
* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
to $(toplevel_srcdir)/libgcc.
* configure: Regenerate.
From-SVN: r177447
2011-08-05 14:37:48 +00:00
Ian Lance Taylor
09df293c7a
libgo/testsuite/gotest: Run tests in source file order.
...
From-SVN: r176223
2011-07-13 01:04:50 +00:00
Ian Lance Taylor
d983a802f6
libgo: Define CC_FOR_BUILD in Makefile.
...
From-SVN: r176182
2011-07-11 20:27:50 +00:00
Ian Lance Taylor
ae06570eb6
libgo/runtime: Change std::abort to abort.
...
From-SVN: r176181
2011-07-11 20:16:01 +00:00
Rainer Orth
fbdd5d8715
re PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defined (only i386-solaris*).)
...
gcc:
PR target/39150
* configure.ac (gcc_cv_as_hidden): Also accept
x86_64-*-solaris2.1[0-9]*.
(gcc_cv_as_cfi_directive): Likewise.
(gcc_cv_as_comdat_group_group): Likewise.
(set_have_as_tls): Likewise.
* configure: Regenerate.
* config.gcc (i[34567]86-*-solaris2*): Also handle
x86_64-*-solaris2.1[0-9]*.
* config.host (i[34567]86-*-solaris2*): Likewise.
* config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
* config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine.
[USE_GLD] (ARCH_DEFAULT_EMULATION): Define.
(TARGET_LD_EMULATION): Use it.
* config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define.
(SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default.
* config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define.
(ASM_CPU64_DEFAULT_SPEC): Define.
(ASM_CPU_SPEC): Use %(asm_cpu_default).
(ASM_SPEC): Redefine.
(DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT.
* config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce.
* doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*):
Document.
(Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]*
configuration.
(Specific, x86_64-*-solaris2.1[0-9]*): Document.
gcc/ada:
PR target/39150
* gcc-interface/Makefile.in: Handle x86_64-solaris2.
libgcc:
PR target/39150
* config.host (*-*-solaris2*): Handle x86_64-*-solaris2.1[0-9]*
like i?86-*-solaris2.1[0-9]*.
(i[34567]86-*-solaris2*): Also handle x86_64-*-solaris2.1[0-9]*.
* configure.ac (i?86-*-solaris2*): Likewise.
* configure: Regenerate.
gcc/testsuite:
PR target/39150
* gcc.misc-tests/linkage.exp: Handle x86_64-*-solaris2.1[0-9]*.
toplevel:
PR target/39150
* configure.ac (i[3456789]86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.
boehm-gc:
PR target/39150
* configure.ac (i?86-*-solaris2.[89]): Also accept
x86_64-*-solaris2.1?.
* configure: Regenerate.
gnattools:
PR target/39150
* configure.ac (*86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.
libcpp:
PR target/39150
* configure.ac (host_wide_int): Handle x86_64-*-solaris2.1[0-9]
like i[34567]86-*-solaris2.1[0-9]*.
* configure: Regenerate.
libgo:
PR target/39150
* config/libtool.m4: Handle x86_64-*-solaris2.1[0-9]* like
i?86-*-solaris*.
* configure: Regenerate.
libjava:
PR target/39150
* configure.host (x86_64-*): Add -Usun to libgcj_flags.
(x86_64-*-solaris2.1[0-9]*): New case.
(i?86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*.
From-SVN: r175958
2011-07-07 09:24:16 +00:00
Ian Lance Taylor
b7758f2275
libgo: Use GOCFLAGS when compiling tests.
...
From Uros Bizjak.
From-SVN: r175930
2011-07-06 19:51:58 +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
de38eefaa7
Change builtin make to runtime call at lowering time.
...
Use kindNoPointers as 6g does.
* Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
From-SVN: r175020
2011-06-14 13:51:16 +00:00
Ian Lance Taylor
3b8dffe701
Change builtin make to runtime call at lowering time.
...
Use kindNoPointers as 6g does.
* Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
From-SVN: r175008
2011-06-14 05:53:10 +00:00
Ian Lance Taylor
891daafaf8
Use backend interface for map descriptors.
...
From-SVN: r174943
2011-06-11 06:21:55 +00:00
Ian Lance Taylor
4ed2ca85c2
libgo: Define PtraceRegs for Alpha GNU/Linux.
...
From Uros Bizjak.
From-SVN: r174502
2011-05-31 18:15:14 +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
f718d442f6
libgo/mksysinfo: Remove structs within stat found on Alpha.
...
From-SVN: r174500
2011-05-31 18:06:47 +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
5bb92e54b7
libgo: Make os.setenv_c work on systems without setenv.
...
From-SVN: r174147
2011-05-24 22:21:34 +00:00
Ian Lance Taylor
dd761d3aaf
libgo: Irix portability fixes (no declaration for getaddrinfo).
...
From Rainer Orth.
From-SVN: r174145
2011-05-24 21:45:17 +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
4e7e7a49b7
More uses of backend interface for types.
...
From-SVN: r173507
2011-05-06 20:06:29 +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
aa5b0a0df3
libgo: Support multilib testing.
...
From Rainer Orth.
From-SVN: r172865
2011-04-22 18:38:24 +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
e1c2f29025
libgo: Fix append declaration.
...
From Rainer Orth.
From-SVN: r172659
2011-04-18 17:31:00 +00:00
Ian Lance Taylor
b39c10b813
Unify handling of runtime support functions.
...
This introduces the new approach, and rewrites the lowering
code which uses runtime functions. The code which calls
runtime functions at GENERIC conversion time is not yet
rewritten.
From-SVN: r172396
2011-04-13 21:00:59 +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
5c8e495222
libgo: Always use AM_LDFLAGS when linking libgo.la.
...
This ensures that we pass -fsplit-stack as required.
From-SVN: r172018
2011-04-06 06:01:53 +00:00
Ian Lance Taylor
49fd1b338c
gotest: Add external timeout if internal timeout fails.
...
From-SVN: r172003
2011-04-05 21:11:35 +00:00
Ian Lance Taylor
69dd762a99
gotest: Avoid echo -n.
...
From-SVN: r172000
2011-04-05 19:53:33 +00:00
Ian Lance Taylor
9cc1bb97bc
libgo: Use MAP_FIXED if necessary to grab arena.
...
From Rainer Orth.
PR go/48240
* configure.ac: Check for mincore.
* configure: Regenerate.
* config.h.in: Regenerate.
* runtime/mem.c: Include unistd.h.
(addrspace_free): New function.
(runtime_SysMap): Retry 64-bit runtime_mmap with MAP_FIXED.
From-SVN: r171961
2011-04-05 00:02:15 +00:00
Rainer Orth
06ec98415a
libgo: Always initialize semaphores.
...
2011-04-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR go/48222
* runtime/malloc.goc (runtime_mallocinit): Call
runtime_Mprof_Init, runtime_initfintab.
* runtime/cpuprof.c (runtime_cpuprofinit): New function.
* runtime/runtime.h (runtime_cpuprofinit): Declare it.
* runtime/go-main.c (main): Use it.
From-SVN: r171960
2011-04-04 23:43:59 +00:00
Ian Lance Taylor
3b66f10536
Mark as executable in SVN.
...
From-SVN: r171913
2011-04-03 16:14:19 +00:00
Ian Lance Taylor
bb0ce33a0e
libgo: Sort test output in libgo.sum and libgo.log.
...
From-SVN: r171868
2011-04-02 00:29:49 +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
4ac7fcaac0
libgo: Try to guess the right type for select bits in mksysinfo.
...
From-SVN: r171858
2011-04-01 22:53:54 +00:00
Ian Lance Taylor
90630d1932
libgo: Support Solaris 8/9.
...
From Rainer Orth.
From-SVN: r171818
2011-04-01 05:11:23 +00:00
Ian Lance Taylor
85a0921018
libgo: Recognize MIPS ABIs.
...
From-SVN: r171809
2011-04-01 00:17:10 +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
de90644af8
libgo: Set name of test when using DejaGNU tests.
...
From-SVN: r171805
2011-03-31 23:03:20 +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
35ca26acc6
libgo/syscalls: Use _C_long as the type of the select bits array.
...
From-SVN: r171799
2011-03-31 20:37:31 +00:00
Ian Lance Taylor
b5ad7facf3
libgo Makefile: Fix typo in test case name.
...
From-SVN: r171793
2011-03-31 16:49:36 +00:00
Ian Lance Taylor
34ccb9c02a
libgo: Generate DejaGNU like .sum and .log files for "make check".
...
From-SVN: r171791
2011-03-31 16:11:56 +00:00
Ian Lance Taylor
0b3189e79f
libgo: Use waitpid on systems which do not have wait4.
...
From-SVN: r171758
2011-03-30 23:05:04 +00:00
Ian Lance Taylor
8955c80a1c
libgo: Support systems which do not have strerror_r.
...
From-SVN: r171757
2011-03-30 22:34:55 +00:00
Ian Lance Taylor
25a182be4f
libgo: Use the right files on Solaris variants.
...
From-SVN: r171753
2011-03-30 21:45:57 +00:00
Ian Lance Taylor
c019d84956
libgo/Makefile.am: Add missing dependencies for net/net.lo.
...
From-SVN: r171737
2011-03-30 17:37:58 +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
c29301d6b1
Add runtime profiling infrastructure, not yet working.
...
From-SVN: r171579
2011-03-27 19:14:55 +00:00
Ian Lance Taylor
c570af00f6
Remove closedchan function.
...
From-SVN: r171577
2011-03-27 18:06:50 +00:00
Ian Lance Taylor
fe052134f6
Remove closed function. Fix tuple receive in select.
...
From-SVN: r171440
2011-03-25 05:14:57 +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
3137991dfc
Tuple receives indicate whether channel is closed.
...
From-SVN: r171380
2011-03-24 06:01:27 +00:00
Ian Lance Taylor
4bfc521c9e
Send on a closed channel panics.
...
Calling close on a closed channel panics.
Don't limit number of receives on a closed channel.
From-SVN: r171364
2011-03-23 21:13:57 +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
8046b66539
libgo: Add GOTESTFLAGS variable used when testing.
...
From Rainer Orth.
From-SVN: r171272
2011-03-21 22:01:53 +00:00
Ian Lance Taylor
7b5da51d4f
Don't catch LIBPROF in Go code.
...
From-SVN: r171077
2011-03-16 23:18:40 +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
d2822509df
Don't use intermediate .la files building libgo.
...
From-SVN: r170862
2011-03-11 01:00:15 +00:00
Ian Lance Taylor
25d5c0b020
re PR go/48020 (libgo flag test FAILs on Solaris 2)
...
PR go/48020
gotest: Pass -v to nm to avoid sorting on Solaris.
From-SVN: r170842
2011-03-10 00:51:14 +00:00
Ian Lance Taylor
bef18456b7
Solaris specific syslog support.
...
From-SVN: r170837
2011-03-09 22:13:09 +00:00
Ian Lance Taylor
0ad3134110
libgo/README.gcc: Mention GCCGO_RUN_ALL_TESTS.
...
From-SVN: r170828
2011-03-09 19:17:56 +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
7b5e671326
re PR go/48019 (Need to handle EINTR in libgo testsuite)
...
PR go/48019
Ignore EINTR in runtime_lock_full.
From-SVN: r170810
2011-03-09 06:31:37 +00:00
Ian Lance Taylor
8897c836a8
re PR go/48017 (Network tests should fail gracefully without network connectivity)
...
PR go/48017
Only run net tests if GCCGO_RUN_ALL_TESTS is set in environment.
From-SVN: r170809
2011-03-09 05:57:10 +00:00
Ian Lance Taylor
a601335076
re PR go/47910 (typo in __go_map_next_prime)
...
PR go/47910
Correct search for next prime in libgo map code.
From-SVN: r170808
2011-03-09 05:32:36 +00:00
Ian Lance Taylor
26bc022b8f
Solaris libgo testsuite fixes.
...
From-SVN: r170762
2011-03-07 23:37:12 +00:00
Ian Lance Taylor
ec9dc45b75
Use _nuname on 32-bit Solaris 2/x86.
...
From-SVN: r170761
2011-03-07 22:39:45 +00:00
Ian Lance Taylor
d8b878dc29
Permit garbage collection on any compiler generated memory allocation.
...
From-SVN: r170760
2011-03-07 22:19:50 +00:00
Ian Lance Taylor
691a924baf
Avoid race condition manipulating heap when goroutine exits.
...
From-SVN: r170758
2011-03-07 21:56:40 +00:00
Ian Lance Taylor
7b67393dff
Permit comparing non-empty interfaces with empty interfaces.
...
From-SVN: r170385
2011-02-22 02:52:55 +00:00
Ian Lance Taylor
a3dbf764ae
Support libgo on Solaris.
...
From Rainer Orth.
From-SVN: r170355
2011-02-21 04:17:20 +00:00
Ralf Wildenhues
029c8f3e77
Remove freebsd1 from libtool.m4 macros and config.rpath.
...
/:
Import from Libtool and gnulib:
2011-01-27 Gerald Pfeifer <gerald@pfeifer.com>
Prepare for supporting FreeBSD 10.
* config.rpath: Remove handling of freebsd1* which soon would
match FreeBSD 10.0.
2011-01-20 Gerald Pfeifer <gerald@pfeifer.com> (tiny change)
Remove support for FreeBSD 1.x.
* libtool.m4 (_LT_LINKER_SHLIBS)
(_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which
soon would incorrectly match FreeBSD 10.0.
boehm-gc/:
* configure: Regenerate.
gcc/:
* configure: Regenerate.
libffi/:
* configure: Regenerate.
libgfortran/:
* Makefile.in: Regenerate.
* aclocal.m4: Likewise.
* configure: Likewise.
libgo/:
* config/libtool.m4: (_LT_LINKER_SHLIBS)
(_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which
soon would incorrectly match FreeBSD 10.0.
* configure: Regenerate.
libgomp/:
* configure: Regenerate.
libjava/:
* configure: Regenerate.
* shlibpath.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Remove handling
of freebsd1* which soon would incorrectly match FreeBSD 10.0.
libjava/classpath/:
* config.rpath, ltcf-c.sh, ltcf-gcj.sh, ltconfig: Remove
handling of freebsd1* which soon would match FreeBSD 10.0.
* configure: Regenerate.
libjava/libltdl/:
* acinclude.m4 (AC_LIBTOOL_PROG_LD_SHLIBS)
(AC_LIBTOOL_SYS_DYNAMIC_LINKER): Remove handling
of freebsd1* which soon would incorrectly match FreeBSD 10.0.
* configure: Regenerate.
libmudflap/:
* configure: Regenerate.
libobjc/:
* configure: Regenerate.
libquadmath/:
* Makefile.in: Regenerate.
* aclocal.m4: Likewise.
* configure: Likewise.
libssp/:
* Makefile.in: Regenerate.
* aclocal.m4: Likewise.
* configure: Likewise.
libstdc++-v3/:
* configure: Regenerate.
lto-plugin/:
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* configure: Regenerate.
zlib/:
* configure: Regenerate.
From-SVN: r170106
2011-02-13 11:45:53 +00:00
Ian Lance Taylor
4a299bf4ff
libgo/configure.ac: Use AC_COMPILE_IFELSE, not AC_PREPROC_IFELSE.
...
From-SVN: r170030
2011-02-10 23:43:42 +00:00
Ian Lance Taylor
ee6bde766a
libgo: Pass compiler flags to mksysinfo.sh.
...
From-SVN: r169848
2011-02-05 02:00:32 +00:00
Ian Lance Taylor
084996f1d1
Implement __sync_fetch_and_add_4 if necessary.
...
From-SVN: r169820
2011-02-04 00:49:47 +00:00
Ian Lance Taylor
0c521d1875
Check whether we are using setjmp/longjmp exceptions.
...
From-SVN: r169777
2011-02-03 01:53:36 +00:00
Ian Lance Taylor
932e32375a
libgo: Apply upstream libtool patch.
...
http://gcc.gnu.org/ml/gcc-patches/2011-02/msg00008.html
From-SVN: r169766
2011-02-02 18:41:27 +00:00
Ian Lance Taylor
d46efcfe97
libgo.exp: Set tmpdir.
...
From-SVN: r169529
2011-02-02 15:50:16 +00:00
Ian Lance Taylor
a7c48c8ec5
Test whether libgcc or kernel defines __sync_bool_compare_and_swap_4.
...
From-SVN: r169504
2011-02-01 21:23:07 +00:00
Ian Lance Taylor
e499b5eef4
Add __sync_bool_compare_and_swap_4 for targets which don't have it.
...
From-SVN: r169502
2011-02-01 20:15:13 +00:00
Ian Lance Taylor
7467fc4bcd
libgo/Makefile.am: Simplify build to avoid unnecessary .a files.
...
From-SVN: r169456
2011-01-31 23:43:49 +00:00
Ian Lance Taylor
ca7174cf5c
re PR go/47515 (Issues porting libgo to IRIX 6.5)
...
PR go/47515
runtime: If no MAP_ANON, use /dev/zero.
From-SVN: r169388
2011-01-29 07:16: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
c9610865d0
mksysinfo.sh: Use -std=gnu99.
...
From-SVN: r169379
2011-01-28 23:54:56 +00:00
Ian Lance Taylor
46adbf0c6b
mksysinfo.sh: Fix Solaris specific define.
...
From-SVN: r169376
2011-01-28 23:33:28 +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
b47750fee3
mksysinfo: Add #defines for Solaris.
...
From-SVN: r169345
2011-01-28 00:11:23 +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
75d0b39856
mksysinfo: Always define IPV6_V6ONLY.
...
From-SVN: r169343
2011-01-27 23:28:09 +00:00
Ian Lance Taylor
24d6250f98
Don't force rebuild if mksysinfo.sh does not change sysinfo.go.
...
From-SVN: r169342
2011-01-27 23:25:31 +00:00
Ian Lance Taylor
afc9550b35
Add missing dependency in libgo/Makefile.am.
...
From-SVN: r169341
2011-01-27 22:49:34 +00:00
Ian Lance Taylor
dc75b81734
Fix typo in socket_bsd.go.
...
From-SVN: r169313
2011-01-27 00:08:02 +00:00
Ian Lance Taylor
83f2ff2ad3
mksysinfo.sh: #include <sys/uio.h>.
...
From-SVN: r169312
2011-01-27 00:03:51 +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
0544ed0caa
re PR go/47452 (Bootstrap fails in libgo (argument has incompatible type))
...
PR go/47452
Pick up local .gox files for specially built packages.
From-SVN: r169192
2011-01-25 05:45:21 +00:00
Ian Lance Taylor
d62d06b6ff
libgo: Fix typo in syscalls/socket_bsd.go.
...
From-SVN: r169190
2011-01-25 00:40:00 +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
71c67403a2
syscalls/sleep_rtems.go: Add missing package clause.
...
From-SVN: r169183
2011-01-24 22:44:52 +00:00
Ian Lance Taylor
47ba04ab54
Avoid crash when M structure free just before thread exit.
...
From-SVN: r169121
2011-01-22 02:59:24 +00:00
Ian Lance Taylor
039868965d
libgo: Adjust deadlock avoidance.
...
From-SVN: r169120
2011-01-22 02:15:01 +00:00
Ian Lance Taylor
2e8e58aa8a
syscalls: Add SPARC RTEMS specific file.
...
From-SVN: r169119
2011-01-22 02:01:38 +00:00
Ian Lance Taylor
7e33c4aadc
Avoid deadlock creating new thread.
...
From-SVN: r169114
2011-01-22 00:12:00 +00:00
Ian Lance Taylor
cf606aeb06
Avoid deadlock when finalizer lock is held during gc.
...
From-SVN: r169112
2011-01-21 23:33:52 +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
15049fa5af
libgo/Makefile.am: Fix typo naming socket_bsd.go.
...
From-SVN: r169037
2011-01-19 23:03:33 +00:00
Ian Lance Taylor
ed4ebabc90
libgo: Check whether we need -lrt for sched_yield.
...
From Rainer Orth.
From-SVN: r168816
2011-01-14 19:18:38 +00:00
Ian Lance Taylor
3ad3790dc0
libgo: Use $(SHELL) to invoke gotest.
...
From Rainer Orth.
From-SVN: r168815
2011-01-14 19:13:24 +00:00
Ian Lance Taylor
2ab1753476
libgo/syscalls: Finish Solaris code.
...
Mostly from Rainer Orth.
From-SVN: r168814
2011-01-14 19:10:02 +00:00
Ian Lance Taylor
8c954c529d
libgo/Makefile.am: Correct typos in Solaris support.
...
From Rainer Orth.
From-SVN: r168804
2011-01-14 18:46:42 +00:00
Ian Lance Taylor
8610843513
mksysinfo: Define _pad128_t and _upad128_t if commented out.
...
From Rainer Orth.
From-SVN: r168800
2011-01-14 18:41:31 +00:00
Ian Lance Taylor
389295b785
Don't exit mksysinfo.sh if there is no _user_regs_struct.
...
From-SVN: r168764
2011-01-13 20:23:19 +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
5fd58e56f0
Add some Solaris support to mksysinfo.sh.
...
From Rainer Orth.
From-SVN: r168739
2011-01-13 05:42:40 +00:00
Ian Lance Taylor
cff0c39da1
Clean up syscalls, add some Solaris support.
...
From-SVN: r168738
2011-01-13 05:17:52 +00:00
Ian Lance Taylor
c7aca2ff21
Use correct nm and nm options.
...
From-SVN: r168730
2011-01-12 23:06:13 +00:00
Ian Lance Taylor
86d013a7f0
Make using DejaGNU work for libgo testing on a native system.
...
From-SVN: r168729
2011-01-12 21:56:10 +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
21822c903b
Change libgo testsuite format to be more like DejaGNU.
...
From-SVN: r168685
2011-01-11 23:37:05 +00:00
Ian Lance Taylor
2e7e3e1de1
Add file missed in previous commit.
...
From-SVN: r168684
2011-01-11 23:26:03 +00:00
Ian Lance Taylor
9a270ad3c0
Add cgo support routines corresponding to the ones in 6g/8g.
...
From-SVN: r168679
2011-01-11 18:59:30 +00:00
Ian Lance Taylor
cd656e2360
re PR go/47176 (libgo doesn't compile if libunicode is installed)
...
PR go/47176
byte/libbytes.a depends on unicode.gox.
From-SVN: r168512
2011-01-05 14:12:37 +00:00
Ian Lance Taylor
9a00604e53
re PR go/46959 (M68K Not Supported by Go)
...
PR go/46959
PR go/46960
PR go/46961
PR go/46962
PR go/46963
PR go/46964
Use __builtin_unwind_init rather than the SAVE_REGS hack.
From-SVN: r168500
2011-01-05 00:24:15 +00:00
Ian Lance Taylor
a3bc69c529
re PR go/46958 (ARM Go Does Not Compile (__builtin_return_address))
...
PR go/46958
PR go/46965
Call __builtin_return_address with 0 rather than 1.
From-SVN: r168495
2011-01-05 00:07:59 +00:00
Ian Lance Taylor
a4ad1c7a08
Rework locking code to split stack much less.
...
From-SVN: r167973
2010-12-17 06:42:06 +00:00