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
defs.h
env_posix.c
getncpu-bsd.c
getncpu-irix.c
getncpu-linux.c
getncpu-none.c
getncpu-solaris.c
go-alloc.h
go-assert.c
go-assert.h
go-breakpoint.c
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
go-cdiv.c
go-cgo.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
go-construct-map.c
go-ffi.c runtime, reflect: rewrite Go to FFI type conversion in Go 2016-11-18 00:15:38 +00:00
go-fieldtrack.c
go-libmain.c
go-main.c
go-matherr.c
go-memclr.c
go-memcmp.c
go-memequal.c
go-memmove.c
go-nanotime.c runtime: copy runtime package time code from Go 1.7 2016-10-15 00:29:06 +00:00
go-new.c
go-nosys.c
go-now.c
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
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
go-strslice.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
go-type-complex.c
go-type-float.c
go-type-identity.c
go-type-string.c
go-type.h
go-typedesc-equal.c
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
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
goc2c.c
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
mcentral.c
mem_posix_memalign.c runtime: copy mstats code from Go 1.7 runtime 2016-10-13 15:24:50 +00:00
mem.c
mfixalloc.c
mgc0.c runtime: rewrite panic/defer code from C to Go 2016-11-22 17:58:04 +00:00
mgc0.h
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
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
yield.c runtime: copy signal code from Go 1.7 runtime 2016-11-10 22:53:23 +00:00