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
6b05faddf0
syscall: Only call varargs libc functions from C code.
...
From-SVN: r205321
2013-11-24 02:38:28 +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
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
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
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
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
08a680a887
libgo: Update to Go 1.0.2 release.
...
From-SVN: r188943
2012-06-25 16:20:03 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
16d62226d1
runtime: Use __builtin_{inf,nan} rather than INFINITY/NAN.
...
From-SVN: r184080
2012-02-10 00:40:27 +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
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
1c69e5e28a
runtime: Correct ENOSYS functions.
...
From-SVN: r183852
2012-02-02 22:58:54 +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
df1304ee03
libgo: Update to weekly.2012-01-15.
...
From-SVN: r183539
2012-01-25 20:56:26 +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
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
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
03eee7f75c
runtime: RTEMS build fixes.
...
From Joel Sherrill.
From-SVN: r182309
2011-12-13 21:59:26 +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
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
9c63abc9a1
libgo: Update to weekly 2011-11-09.
...
From-SVN: r182073
2011-12-07 01:11:29 +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
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
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
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
f0080f6cf9
syscall: Use sched_yield rather than pthread_yield.
...
From-SVN: r180716
2011-10-31 22:09:21 +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
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
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
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
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
Ian Lance Taylor
ae06570eb6
libgo/runtime: Change std::abort to abort.
...
From-SVN: r176181
2011-07-11 20:16:01 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
2e7e3e1de1
Add file missed in previous commit.
...
From-SVN: r168684
2011-01-11 23:26:03 +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
Ian Lance Taylor
b5343013fe
Avoid always splitting the stack when calling append and copy.
...
From-SVN: r167970
2010-12-17 06:33:41 +00:00
Ian Lance Taylor
646abff51d
Better error message if malloc gets a SIGSEGV.
...
From-SVN: r167785
2010-12-14 05:19:51 +00:00
Ian Lance Taylor
cac7efc966
Release cache while holding thread lock.
...
Don't bother to hold thread lock while allocating cache.
From-SVN: r167784
2010-12-14 05:16:18 +00:00
Ian Lance Taylor
7a9389330e
Add Go frontend, libgo library, and Go testsuite.
...
gcc/:
* gcc.c (default_compilers): Add entry for ".go".
* common.opt: Add -static-libgo as a driver option.
* doc/install.texi (Configuration): Mention libgo as an option for
--enable-shared. Mention go as an option for --enable-languages.
* doc/invoke.texi (Overall Options): Mention .go as a file name
suffix. Mention go as a -x option.
* doc/frontends.texi (G++ and GCC): Mention Go as a supported
language.
* doc/sourcebuild.texi (Top Level): Mention libgo.
* doc/standards.texi (Standards): Add section on Go language.
Move references for other languages into their own section.
* doc/contrib.texi (Contributors): Mention that I contributed the
Go frontend.
gcc/testsuite/:
* lib/go.exp: New file.
* lib/go-dg.exp: New file.
* lib/go-torture.exp: New file.
* lib/target-supports.exp (check_compile): Match // Go.
From-SVN: r167407
2010-12-03 04:34:57 +00:00