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