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
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
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
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
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
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