Commit Graph

33 Commits

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