gcc/libgo/runtime
Ian Lance Taylor 76deefd0cd runtime: Mark runtime_goexit function as noinline.
If the compiler inlines this function into kickoff, it may reuse
the TLS block address to load g. However, this is not necessarily
correct, as the call to g->entry in kickoff may cause the TLS
address to change. If the wrong value is loaded for g->status in
runtime_goexit, it may cause a runtime panic.

By marking the function as noinline we prevent the compiler from
reusing the TLS address.

From-SVN: r215484
2014-09-22 21:14:43 +00:00
..
arch.h Update Go library to last weekly. 2011-10-26 23:57:58 +00:00
array.h compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
chan.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
chan.goc libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
chan.h runtime: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
cpuprof.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
cpuprof.goc libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
defs.h
env_posix.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +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: use sched_getaffinity for runtime.NumCPU() on Linux 2012-08-10 06:08:11 +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-append.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
go-assert-interface.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
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-byte-array-to-string.c libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
go-caller.c re PR other/61895 (libbacktrace crashes with bus error with empty file argv[0]) 2014-08-02 00:54:15 +00:00
go-callers.c reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
go-can-convert-interface.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +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: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
go-check-interface.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-construct-map.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-convert-interface.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-copy.c
go-defer.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
go-defer.h libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
go-deferred-recover.c runtime: Multiplex goroutines onto OS threads. 2011-11-28 05:45:49 +00:00
go-eface-compare.c runtime: Drop reflectFlags tests. 2014-07-11 00:26:25 +00:00
go-eface-val-compare.c runtime: Drop reflectFlags tests. 2014-07-11 00:26:25 +00:00
go-ffi.c reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
go-ffi.h reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
go-fieldtrack.c re PR go/46986 (Go is not supported on Darwin) 2013-01-24 19:44:23 +00:00
go-iface.goc runtime: Rename iface.goc to go-iface.goc. 2014-07-11 00:39:03 +00:00
go-int-array-to-string.c runtime: Fix handling of surrogate pairs in string([]rune). 2013-11-26 23:27:29 +00:00
go-int-to-string.c libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
go-interface-compare.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-interface-eface-compare.c runtime: Drop reflectFlags tests. 2014-07-11 00:26:25 +00:00
go-interface-val-compare.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-main.c libgo: Update to Go 1.1.1. 2013-07-16 06:54:42 +00:00
go-make-slice.c libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
go-map-delete.c re PR go/61620 (FAIL: go.test/test/fixedbugs/bug242.go execution, -O2 -g) 2014-07-02 14:23:45 +00:00
go-map-index.c libgo: Update to Go 1.1.1. 2013-07-16 06:54:42 +00:00
go-map-len.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-map-range.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-matherr.c runtime: Use __builtin_{inf,nan} rather than INFINITY/NAN. 2012-02-10 00:40:27 +00:00
go-memcmp.c compiler, runtime: Memcmp routine returns intgo. 2012-11-06 18:12:45 +00:00
go-nanotime.c libgo: Update to weekly.2011-12-02. 2011-12-13 19:16:27 +00:00
go-new-map.c compiler, libgo: Fixes to prepare for 64-bit int. 2012-11-06 18:28:21 +00:00
go-new.c libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
go-nosys.c runtime: Fix typo in dup3 fallback implementation. 2013-10-18 13:26:40 +00:00
go-now.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
go-panic.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
go-panic.h reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
go-print.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-recover.c reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
go-reflect-call.c reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
go-reflect-map.c libgo: Merge from revision 18783:00cce3a34d7e of master library. 2014-06-04 23:15:33 +00:00
go-rune.c compiler, libgo: Fixes to prepare for 64-bit int. 2012-11-06 18:28:21 +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 libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
go-signal.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
go-strcmp.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-string-to-byte-array.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
go-string-to-int-array.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
go-string.h compiler, libgo: Fixes to prepare for 64-bit int. 2012-11-06 18:28:21 +00:00
go-strplus.c libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
go-strslice.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-traceback.c reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
go-trampoline.c libgo: Update to revision 15193:6fdc1974457c of master library. 2012-12-22 01:15:33 +00:00
go-type-complex.c runtime: fix misc gcc-isms and undefined behavior 2014-05-28 23:10:47 +00:00
go-type-eface.c runtime: Drop reflectFlags tests. 2014-07-11 00:26:25 +00:00
go-type-error.c compiler, runtime: Implement struct and array comparisons. 2012-01-06 21:47:49 +00:00
go-type-float.c runtime: fix misc gcc-isms and undefined behavior 2014-05-28 23:10:47 +00:00
go-type-identity.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-type-interface.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-type-string.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-type.h compiler: Add precise type information on the heap. 2014-09-03 22:56:09 +00:00
go-typedesc-equal.c compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
go-unsafe-new.c libgo: Update to Go 1.1.1. 2013-07-16 06:54:42 +00:00
go-unsafe-newarray.c libgo: Update to Go 1.1.1. 2013-07-16 06:54:42 +00:00
go-unsafe-pointer.c runtime: Use correct size for unsafe.Pointer GC instructions. 2014-09-05 14:43:24 +00:00
go-unwind.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
go-varargs.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
goc2c.c runtime: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
heapdump.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
interface.h compiler, runtime: More steps toward separating int and intgo. 2012-11-01 03:02:13 +00:00
lfstack.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
lfstack.goc runtime: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
lock_futex.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
lock_sema.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
malloc.goc compiler, runtime: Fix unexpected GC interfering with closure passing. 2014-08-13 22:31:44 +00:00
malloc.h libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
map.goc runtime: Copy runtime_panicstring from master library. 2011-11-30 00:21:52 +00:00
map.h Use backend interface for map descriptors. 2011-06-11 06:21:55 +00:00
mcache.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mcentral.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mem.c runtime: Add casts to mincore call to compile on Solaris. 2014-08-04 17:54:09 +00:00
mem_posix_memalign.c runtime: RTEMS build fixes. 2011-12-13 21:59:26 +00:00
mfixalloc.c libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
mgc0.c runtime: Restore copyright notice accidentally removed from mgc0.c. 2014-09-20 20:42:59 +00:00
mgc0.h libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mheap.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
mprof.goc reflect, runtime: Use libffi closures to implement reflect.MakeFunc. 2014-07-19 21:36:26 +00:00
msize.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
netpoll.goc libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
netpoll_epoll.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
netpoll_kqueue.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
netpoll_select.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
netpoll_stub.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
panic.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
parfor.c runtime: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
print.c runtime: also disable split stacks for runtime_snprintf function under Clang 2014-07-20 09:24:16 +00:00
proc.c runtime: Mark runtime_goexit function as noinline. 2014-09-22 21:14:43 +00:00
race.h libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
rdebug.goc libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
reflect.goc runtime: Drop reflectFlags tests. 2014-07-11 00:26:25 +00:00
rtems-task-variable-add.c
runtime.c libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
runtime.h compiler: Add precise type information on the heap. 2014-09-03 22:56:09 +00:00
runtime1.goc runtime: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
sema.goc libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
signal_unix.c libgo: Merge to master revision 19184. 2014-06-06 22:37:27 +00:00
signal_unix.h libgo: Update to Go 1.1.1. 2013-07-16 06:54:42 +00:00
sigqueue.goc libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
string.goc runtime: Merge master revision 19185. 2014-07-12 00:01:09 +00:00
thread-linux.c libgo: Update to October 24 version of master library. 2013-11-06 19:49:01 +00:00
thread-sema.c runtime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD (including Darwin). 2012-08-07 04:42:49 +00:00
thread.c libgo: Update to Go 1.1.1. 2013-07-16 06:54:42 +00:00
time.goc libgo: Update to Go 1.3 release. 2014-07-19 08:53:52 +00:00
yield.c runtime: Use _mm_pause rather than __builtin_ia32_pause. 2014-05-30 13:53:58 +00:00