gcc/libgo/runtime
Ian Lance Taylor fbe9724cc3 runtime: fixes for -buildmode=c-archive
With -buildmode=c-archive, initsig is called before the memory
    allocator has been initialized.  The code was doing a memory
    allocation because of the call to funcPC(sigtramp).  When escape
    analysis is fully implemented, that call should not allocate.  For
    now, finesse the issue by calling a C function to get the C function
    pointer value of sigtramp.
    
    When returning from a call from C to a Go function, a deferred
    function is run to go back to syscall mode.  When the call occurs on a
    non-Go thread, that call sets g to nil, making it impossible to add
    the _defer struct back to the pool.  Just drop it and let the garbage
    collector clean it up.
    
    Reviewed-on: https://go-review.googlesource.com/33675

From-SVN: r242992
2016-11-30 02:09:24 +00:00
..
arch.h
array.h compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
defs.h
env_posix.c runtime: copy runtime.go and runtime1.go from Go 1.7 2016-09-29 00:56:44 +00:00
getncpu-bsd.c runtime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD (including Darwin). 2012-08-07 04:42:49 +00:00
getncpu-irix.c runtime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD (including Darwin). 2012-08-07 04:42:49 +00:00
getncpu-linux.c runtime: Check for CPU_COUNT itself, don't check glibc version. 2014-10-03 05:04:59 +00:00
getncpu-none.c runtime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD (including Darwin). 2012-08-07 04:42:49 +00:00
getncpu-solaris.c runtime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD (including Darwin). 2012-08-07 04:42:49 +00:00
go-alloc.h
go-assert.c runtime: Copy runtime_printf from other Go library. 2012-05-24 20:44:34 +00:00
go-assert.h
go-breakpoint.c re PR go/46986 (Go is not supported on Darwin) 2013-01-24 19:44:23 +00:00
go-caller.c runtime: just do file/line lookup in C, move Func to Go 2016-10-14 17:20:40 +00:00
go-callers.c compiler, runtime: mark stub methods, ignore them in runtime.Caller. 2016-02-03 06:54:41 +00:00
go-cdiv.c runtime: fix misc gcc-isms and undefined behavior 2014-05-28 23:10:47 +00:00
go-cgo.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
go-construct-map.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-ffi.c runtime, reflect: rewrite Go to FFI type conversion in Go 2016-11-18 00:15:38 +00:00
go-fieldtrack.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-libmain.c runtime: For c-archive/c-shared, install signal handlers synchronously. 2016-02-12 22:10:09 +00:00
go-main.c re PR go/69357 (libgo refers to _end in a non-weak way) 2016-02-09 00:34:55 +00:00
go-matherr.c
go-memclr.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-memcmp.c compiler, runtime: Memcmp routine returns intgo. 2012-11-06 18:12:45 +00:00
go-memequal.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-memmove.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-nanotime.c runtime: copy runtime package time code from Go 1.7 2016-10-15 00:29:06 +00:00
go-new.c compiler,runtime: Determine if allocations need new pointers in runtime. 2015-07-14 01:22:25 +00:00
go-nosys.c libgo: change build procedure to use build tags 2016-08-06 00:36:33 +00:00
go-now.c re PR go/66574 (Time is provided in millisecond precision instead of nanoseconds as described in go documentation) 2015-11-21 01:27:44 +00:00
go-reflect-call.c runtime, reflect: rewrite Go to FFI type conversion in Go 2016-11-18 00:15:38 +00:00
go-runtime-error.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-setenv.c runtime: don't call __go_alloc/__go_free in environment functions 2016-11-18 16:03:13 +00:00
go-signal.c runtime: fixes for -buildmode=c-archive 2016-11-30 02:09:24 +00:00
go-string.h compiler, libgo: Fixes to prepare for 64-bit int. 2012-11-06 18:28:21 +00:00
go-strslice.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
go-type-complex.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-type-float.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-type-identity.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-type-string.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-type.h compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
go-typedesc-equal.c re PR go/65755 (incorrect reflection of struct fields with gccgo) 2015-04-17 18:19:44 +00:00
go-unsafe-new.c runtime: rewrite interface code into Go 2016-10-20 18:51:35 +00:00
go-unsafe-newarray.c runtime: rewrite interface code into Go 2016-10-20 18:51:35 +00:00
go-unsafe-pointer.c compiler, reflect, runtime: remove zero field from type descriptor 2015-10-29 18:14:50 +00:00
go-unsetenv.c runtime: don't call __go_alloc/__go_free in environment functions 2016-11-18 16:03:13 +00:00
go-unwind.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
go-varargs.c libgo: Solaris portability fixes. 2015-11-06 19:15:45 +00:00
goc2c.c runtime: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
heapdump.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
malloc.goc compiler, runtime: copy slice code from Go 1.7 runtime 2016-10-28 22:34:47 +00:00
malloc.h runtime: copy netpoll code from Go 1.7 runtime 2016-10-18 14:38:29 +00:00
mcache.c runtime: use -fgo-c-header to build C header file 2016-08-30 21:07:47 +00:00
mcentral.c compiler, runtime: replace hashmap code with Go 1.7 hashmap 2016-09-21 20:58:51 +00:00
mem_posix_memalign.c runtime: copy mstats code from Go 1.7 runtime 2016-10-13 15:24:50 +00:00
mem.c runtime: Add casts to mincore call to compile on Solaris. 2014-08-04 17:54:09 +00:00
mfixalloc.c libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
mgc0.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
mgc0.h libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mheap.c runtime: copy mstats code from Go 1.7 runtime 2016-10-13 15:24:50 +00:00
msize.c runtime: copy mstats code from Go 1.7 runtime 2016-10-13 15:24:50 +00:00
panic.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
parfor.c runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
print.c runtime: copy print/println support from Go 1.7 2016-10-10 23:13:39 +00:00
proc.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
rtems-task-variable-add.c
runtime_c.c libgo: eliminate a lot of duplication in Makefile.am 2016-10-30 16:45:34 +00:00
runtime.h runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
thread-linux.c runtime: copy signal code from Go 1.7 runtime 2016-11-10 22:53:23 +00:00
thread-sema.c runtime: copy internal locking code from Go 1.7 runtime 2016-09-30 13:45:08 +00:00
thread.c libgo: Update to Go 1.1.1. 2013-07-16 06:54:42 +00:00
yield.c runtime: copy signal code from Go 1.7 runtime 2016-11-10 22:53:23 +00:00