Commit Graph

356 Commits

Author SHA1 Message Date
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