Commit Graph

208 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
409a5e7eb4 libgo: Update to revision 15193:6fdc1974457c of master library.
From-SVN: r194692
2012-12-22 01:15:33 +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
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