1
0
mirror of https://github.com/golang/go synced 2024-11-19 14:04:46 -07:00
go/src/runtime
Austin Clements e5a5c03f5b runtime: don't corrupt arena bounds on low mmap
If mheap.sysAlloc doesn't have room in the heap arena for an
allocation, it will attempt to map more address space with sysReserve.
sysReserve is given a hint, but can return any unused address range.
Currently, mheap.sysAlloc incorrectly assumes the returned region will
never fall between arena_start and arena_used. If it does,
mheap.sysAlloc will blindly accept the new region as the new
arena_used and arena_end, causing these to decrease and make it so any
Go heap above the new arena_used is no longer considered part of the
Go heap. This assumption *used to be* safe because we had all memory
between arena_start and arena_used mapped, but when we switched to an
arena_start of 0 on 32-bit, it became no longer safe.

Most likely, we've only recently seen this bug occur because we
usually start arena_used just above the binary, which is low in the
address space. Hence, the kernel is very unlikely to give us a region
before arena_used.

Since mheap.sysAlloc is a linear allocator, there's not much we can do
to handle this well. Hence, we fix this problem by simply rejecting
the new region if it isn't after arena_end. In this case, we'll take
the fall-back path and mmap a small region at any address just for the
requested memory.

Fixes #20259.

Change-Id: Ib72e8cd621545002d595c7cade1e817cfe3e5b1e
Reviewed-on: https://go-review.googlesource.com/43870
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
2017-05-23 15:23:21 +00:00
..
cgo runtime/cgo: actually remove gcc_libinit_openbsd.c 2017-04-12 06:56:34 +00:00
debug runtime/debug: mark TestSetGCPercent as flaky 2017-04-24 22:11:58 +00:00
internal cmd/internal/obj/mips: add support of LLV, SCV, NOOP instructions 2017-05-16 17:15:11 +00:00
msan
pprof runtime/pprof: don't produce 0 location in count profiles 2017-05-17 18:58:31 +00:00
race testing: consider a test failed after race errors 2017-04-10 14:36:02 +00:00
testdata runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
trace runtime/trace: better output when test fails 2017-04-14 12:21:02 +00:00
alg.go runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
append_test.go
asm_386.s runtime: remove unused cpuid_X variables 2017-05-10 19:28:42 +00:00
asm_amd64.s runtime: remove unused cpuid_X variables 2017-05-10 19:28:42 +00:00
asm_amd64p32.s runtime: remove unused cpuid_X variables 2017-05-10 19:28:42 +00:00
asm_arm64.s cmd/compile, runtime: simplify multiway select implementation 2017-03-07 20:14:17 +00:00
asm_arm.s cmd/compile, runtime: simplify multiway select implementation 2017-03-07 20:14:17 +00:00
asm_mips64x.s cmd/compile, runtime: simplify multiway select implementation 2017-03-07 20:14:17 +00:00
asm_mipsx.s cmd/compile, runtime: simplify multiway select implementation 2017-03-07 20:14:17 +00:00
asm_ppc64x.h all: single space after period. 2016-03-02 00:13:47 +00:00
asm_ppc64x.s cmd/asm: detect invalid DS form offsets for ppc64x 2017-04-17 21:24:35 +00:00
asm_s390x.s cmd/compile, runtime: simplify multiway select implementation 2017-03-07 20:14:17 +00:00
asm.s runtime: handle inlined calls in runtime.Callers 2017-03-29 17:22:08 +00:00
atomic_arm64.s runtime: break atomics out into package runtime/internal/atomic 2015-11-10 17:38:04 +00:00
atomic_mips64x.s
atomic_mipsx.s runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
atomic_pointer.go runtime: perform write barrier before pointer write 2016-10-28 20:47:52 +00:00
atomic_ppc64x.s
callers_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_mmap.go runtime/cgo: use libc for sigaction syscalls when possible 2016-11-16 05:38:38 +00:00
cgo_ppc64x.go
cgo_sigaction.go runtime/cgo: use libc for sigaction syscalls when possible 2016-11-16 05:38:38 +00:00
cgo.go runtime: access _cgo_yield indirectly 2017-03-24 15:37:56 +00:00
cgocall.go runtime: handle SIGPIPE in c-archive and c-shared programs 2017-02-03 20:07:36 +00:00
cgocallback.go
cgocheck.go runtime: rename _MSpanStack -> _MSpanManual 2017-04-13 18:20:30 +00:00
chan_test.go all: don't call t.Fatal from a goroutine 2016-11-15 15:13:48 +00:00
chan.go runtime: remove unused *chantype parameters 2017-03-21 17:10:16 +00:00
chanbarrier_test.go
closure_test.go
compiler.go
complex_test.go build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
complex.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
cpuflags_amd64.go runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
cpuprof.go runtime/pprof: use new profile buffers for CPU profiling 2017-02-24 17:01:47 +00:00
cputicks.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
crash_cgo_test.go runtime: ignore TestCgoPprofPIE test failures on Alpine (take 2) 2017-04-25 05:02:56 +00:00
crash_nonunix_test.go runtime: if the test program hangs, try to get a stack trace 2016-06-15 15:03:48 +00:00
crash_test.go runtime: make test independent of inlining 2017-04-20 20:41:15 +00:00
crash_unix_test.go runtime: print user stack on other threads during GOTRACBEACK=crash 2017-03-15 22:16:12 +00:00
debug.go
defs1_linux.go
defs1_netbsd_386.go
defs1_netbsd_amd64.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs1_netbsd_arm.go runtime, cmd/link: fix netbsd/arm EABI support 2016-10-24 15:23:13 +00:00
defs1_solaris_amd64.go
defs2_linux.go
defs3_linux.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_arm_linux.go
defs_darwin_386.go
defs_darwin_amd64.go
defs_darwin_arm64.go
defs_darwin_arm.go
defs_darwin.go
defs_dragonfly_amd64.go
defs_dragonfly.go
defs_freebsd_386.go runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
defs_freebsd_amd64.go runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
defs_freebsd_arm.go runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
defs_freebsd.go runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
defs_linux_386.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_amd64.go
defs_linux_arm64.go
defs_linux_arm.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_mips64x.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_linux_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
defs_linux_ppc64.go
defs_linux_ppc64le.go
defs_linux_s390x.go
defs_linux.go build: merge the great pkg/ rename into dev.power64 2014-10-22 13:25:37 -04:00
defs_nacl_386.go
defs_nacl_amd64p32.go
defs_nacl_arm.go
defs_netbsd_386.go
defs_netbsd_amd64.go
defs_netbsd_arm.go
defs_netbsd.go
defs_openbsd_386.go
defs_openbsd_amd64.go
defs_openbsd_arm.go runtime: unify handling of alternate signal stack 2016-09-26 04:07:31 +00:00
defs_openbsd.go
defs_plan9_386.go
defs_plan9_amd64.go
defs_plan9_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
defs_solaris_amd64.go
defs_solaris.go
defs_windows_386.go
defs_windows_amd64.go runtime: use (*context) ip, setip, sp and setsp everywhere on windows 2015-04-09 00:57:28 +00:00
defs_windows.go runtime: log all thread stack traces during GODEBUG=crash on Linux and OS X 2015-01-14 18:33:38 +00:00
duff_386.s
duff_amd64.s runtime: optimize duffcopy on amd64 2015-09-22 15:02:37 +00:00
duff_arm64.s
duff_arm.s
duff_mips64x.s runtime: added assembly part of linux/mips64{,le} support 2015-11-12 04:46:17 +00:00
duff_ppc64x.s
env_plan9.go
env_posix.go runtime: clean redundant call of environ function 2017-05-03 10:02:26 +00:00
env_test.go runtime: fix TestFixedGOROOT to properly restore the GOROOT env var after test 2015-06-03 23:33:48 +00:00
error.go runtime: improve output of panic(x) where x is numeric 2017-04-09 22:40:33 +00:00
example_test.go runtime: improve ExampleFrames 2017-04-20 19:46:01 +00:00
export_arm_test.go
export_futex_test.go
export_linux_test.go
export_mmap_test.go
export_test.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
export_windows_test.go
extern.go runtime: avoid restricting GOARCH values in documentation 2017-04-19 18:19:08 +00:00
fastlog2_test.go
fastlog2.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
fastlog2table.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
float.go runtime: make complex division c99 compatible 2017-03-15 22:45:17 +00:00
funcdata.h cmd/compile,link: generate PC-value tables with inlining information 2017-03-03 21:29:30 +00:00
futex_test.go
gc_test.go runtime: make ReadMemStats STW for < 25µs 2017-03-04 02:56:37 +00:00
gcinfo_test.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
go_tls.h
HACKING.md runtime: generalize {alloc,free}Stack to {alloc,free}Manual 2017-04-13 18:20:35 +00:00
hash32.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
hash64.go runtime: add s390x support (modified files only) 2016-04-06 04:25:06 +00:00
hash_test.go
hashmap_fast.go runtime: refactor hmap setoverflow into newoverflow 2017-04-19 13:41:44 +00:00
hashmap.go runtime: don't panic for bad size hint in hashmap 2017-05-02 20:51:39 +00:00
heapdump.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
iface_test.go cmd/compile, runtime: specialize convT2x, don't alloc for zero vals 2017-02-28 19:23:33 +00:00
iface.go cmd/compile, runtime: specialize convT2x, don't alloc for zero vals 2017-02-28 19:23:33 +00:00
lfstack_32bit.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
lfstack_64bit.go runtime: merge lfstack_amd64.go into lfstack_64bit.go 2016-04-11 06:18:52 +00:00
lfstack_test.go
lfstack.go runtime: introduce a type for lfstacks 2017-03-19 22:42:24 +00:00
lock_futex.go runtime: access _cgo_yield indirectly 2017-03-24 15:37:56 +00:00
lock_sema.go runtime: access _cgo_yield indirectly 2017-03-24 15:37:56 +00:00
Makefile build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
malloc_test.go runtime: improve TestMemStats checks 2017-03-31 00:46:16 +00:00
malloc.go runtime: don't corrupt arena bounds on low mmap 2017-05-23 15:23:21 +00:00
map_test.go runtime: don't panic for bad size hint in hashmap 2017-05-02 20:51:39 +00:00
mapspeed_test.go runtime: add a map growth benchmark 2017-04-19 13:47:21 +00:00
mbarrier.go cmd/compile: experiment which clobbers all dead pointer fields 2017-04-21 20:19:50 +00:00
mbitmap.go runtime: print debug info on "base out of range" 2017-05-12 14:28:15 +00:00
mcache.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
mcentral.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
mem_bsd.go runtime: mmap(2) on Solaris & Illumos can return EAGAIN. 2017-05-16 21:01:42 +00:00
mem_darwin.go
mem_linux.go
mem_plan9.go runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
mem_windows.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
memclr_386.s runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
memclr_amd64.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_arm64.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_arm.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_mips64x.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_mipsx.s runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
memclr_plan9_386.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_plan9_amd64.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_ppc64x.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memclr_s390x.s runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
memmove_386.s runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
memmove_amd64.s runtime: refactor cpu feature detection for 386 & amd64 2017-05-01 20:46:03 +00:00
memmove_arm64.s runtime: adjust the arm64 memmove and memclr to operate by word as much as they can 2015-10-08 07:49:35 +00:00
memmove_arm.s
memmove_linux_amd64_test.go all: sprinkle t.Parallel on some slow tests 2016-11-04 16:56:57 +00:00
memmove_mips64x.s
memmove_mipsx.s runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
memmove_nacl_amd64p32.s
memmove_plan9_386.s
memmove_plan9_amd64.s all: fix obsolete inferno-os links 2016-08-29 04:54:42 +00:00
memmove_ppc64x.s
memmove_s390x.s runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
memmove_test.go runtime: amd64, use 4-byte ops for memmove of 4 bytes 2017-01-23 19:39:22 +00:00
mfinal_test.go
mfinal.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
mfixalloc.go runtime: redo insert/remove of large spans 2017-03-29 14:18:24 +00:00
mgc.go runtime: doubly fix "double wakeup" panic 2017-05-12 15:33:09 +00:00
mgclarge.go all: remove redundant returns 2017-04-19 20:03:51 +00:00
mgcmark.go runtime: eliminate heapBits.hasPointers 2017-04-28 22:50:34 +00:00
mgcsweep.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
mgcsweepbuf.go runtime: make markrootSpans time proportional to in-use spans 2016-10-25 22:32:59 +00:00
mgcwork.go runtime: free workbufs during sweeping 2017-04-13 18:20:47 +00:00
mheap.go runtime: make _TinySizeClass an int8 to prevent use as spanClass 2017-04-28 22:50:39 +00:00
mkduff.go
mkfastlog2table.go pprof: improve sampling for heap profiling 2015-10-05 08:15:09 +00:00
mknacl.sh
mksizeclasses.go runtime: add table of size classes in a comment 2017-01-08 00:01:30 +00:00
mmap.go
mprof.go runtime: make runtime.GC() trigger a concurrent GC 2017-03-31 01:15:21 +00:00
msan0.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
msan_amd64.s runtime/cgo: use libc for sigaction syscalls when possible 2016-11-16 05:38:38 +00:00
msan.go runtime: check for nil g and m in msanread 2017-01-19 23:06:54 +00:00
msize.go runtime: remove sizeToClass 2017-03-13 01:55:44 +00:00
mstats.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
net_plan9.go net: refactor poller into new internal/poll package 2017-02-13 18:36:28 +00:00
netpoll_epoll.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll_kqueue.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll_nacl.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll_solaris.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll_stub.go os: use poller for file I/O 2017-02-15 19:31:55 +00:00
netpoll_windows.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
netpoll.go runtime: adjust netpoll panic messages 2017-04-25 21:39:18 +00:00
noasm.go
norace_linux_test.go
norace_test.go
numcpu_freebsd_test.go runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
os2_freebsd.go
os2_nacl.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
os2_openbsd.go
os2_plan9.go
os2_solaris.go
os3_plan9.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
os3_solaris.go runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
os_android.go
os_darwin_arm64.go hash/crc32: optimize arm64 crc32 implementation 2017-04-13 12:44:10 +00:00
os_darwin_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_darwin.go runtime: os.Executable runtime support for Darwin 2016-11-07 20:18:36 +00:00
os_dragonfly.go
os_freebsd_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_freebsd.go runtime: clear signal stack on main thread 2017-03-20 22:59:26 +00:00
os_linux_arm64.go runtime: gofmt -w -s 2017-04-24 17:01:29 +00:00
os_linux_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_linux_be64.go
os_linux_generic.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
os_linux_mips64x.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
os_linux_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
os_linux_noauxv.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
os_linux_ppc64x.go runtime: get ppc64x ISA level and hardware capabilities from HWCAP/HWCAP2 2016-11-01 13:41:04 +00:00
os_linux_s390x.go runtime: get s390x vector facility availability from AT_HWCAP 2016-10-19 21:50:13 +00:00
os_linux.go runtime: check sched_getaffinity return value 2017-01-03 22:35:42 +00:00
os_nacl_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_nacl.go runtime: enable/disable SIGPROF if needed when profiling 2017-02-09 18:53:34 +00:00
os_netbsd_386.go
os_netbsd_amd64.go
os_netbsd_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_netbsd.go
os_openbsd_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_openbsd.go
os_plan9_arm.go runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
os_plan9.go net: implement asynchonous cancelable I/O on Plan 9 2016-11-12 05:44:36 +00:00
os_solaris.go
os_windows.go runtime: reduce Windows timer resolution when idle 2017-04-29 04:15:49 +00:00
panic.go runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
plugin.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
print.go runtime: include pre-panic/throw logs in core dumps 2016-11-11 21:29:53 +00:00
proc_runtime_test.go
proc_test.go all: remove some unused parameters in test code 2017-04-25 14:38:10 +00:00
proc.go runtime: reduce Windows timer resolution when idle 2017-04-29 04:15:49 +00:00
profbuf_test.go runtime: new profile buffer implementation supporting label pointers 2017-02-23 19:47:23 +00:00
profbuf.go runtime: fix profile handling of labels for race detector 2017-04-28 17:37:46 +00:00
proflabel.go runtime: fix profile handling of labels for race detector 2017-04-28 17:37:46 +00:00
race0.go
race_amd64.s
race.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
rand_test.go runtime: speed up fastrand() % n 2017-02-14 00:01:22 +00:00
rdebug.go
relax_stub.go runtime: reduce Windows timer resolution when idle 2017-04-29 04:15:49 +00:00
rt0_android_386.s
rt0_android_amd64.s runtime: fall back to /proc/self/auxv in Android libs 2016-11-29 15:27:53 +00:00
rt0_android_arm64.s runtime: fall back to /proc/self/auxv in Android libs 2016-11-29 15:27:53 +00:00
rt0_android_arm.s runtime: fall back to /proc/self/auxv in Android libs 2016-11-29 15:27:53 +00:00
rt0_darwin_386.s
rt0_darwin_amd64.s
rt0_darwin_arm64.s
rt0_darwin_arm.s runtime,runtime/cgo: save callee-saved FP register on arm 2016-05-25 06:54:28 +00:00
rt0_dragonfly_amd64.s
rt0_freebsd_386.s
rt0_freebsd_amd64.s
rt0_freebsd_arm.s
rt0_linux_386.s
rt0_linux_amd64.s
rt0_linux_arm64.s
rt0_linux_arm.s
rt0_linux_mips64x.s all: fix minor misspellings 2017-04-03 23:19:07 +00:00
rt0_linux_mipsx.s runtime: add cgo support for GOARCH=mips{,le} 2016-12-14 23:52:33 +00:00
rt0_linux_ppc64.s
rt0_linux_ppc64le.s runtime: add library startup support for ppc64le 2016-05-26 03:31:59 +00:00
rt0_linux_s390x.s runtime: add s390x support (new files and lfstack_64bit.go modifications) 2016-04-07 18:56:54 +00:00
rt0_nacl_386.s
rt0_nacl_amd64p32.s
rt0_nacl_arm.s
rt0_netbsd_386.s
rt0_netbsd_amd64.s build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
rt0_netbsd_arm.s
rt0_openbsd_386.s
rt0_openbsd_amd64.s build: move package sources from src/pkg to src 2014-09-08 00:08:51 -04:00
rt0_openbsd_arm.s
rt0_plan9_386.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_plan9_amd64.s runtime: replace is{plan9,solaris,windows} with GOOS tests 2015-10-23 18:11:17 +00:00
rt0_plan9_arm.s
rt0_solaris_amd64.s
rt0_windows_386.s
rt0_windows_amd64.s
runtime1.go cmd/compile,runtime: fix atomic And8 for mipsle 2017-03-21 16:03:12 +00:00
runtime2.go runtime: remove unused cpuid_X variables 2017-05-10 19:28:42 +00:00
runtime_linux_test.go
runtime_mmap_test.go
runtime_test.go all: remove redundant returns 2017-04-19 20:03:51 +00:00
runtime_unix_test.go
runtime-gdb_test.go cmd/compile: experiment which clobbers all dead pointer fields 2017-04-21 20:19:50 +00:00
runtime-gdb.py
runtime-lldb_test.go cmd/link: put text at address 0x1000000 on darwin/amd64 2016-10-28 20:17:53 +00:00
runtime.go
select.go runtime: join selectgo and selectgoImpl 2017-03-07 21:19:38 +00:00
sema.go sync: make Mutex more fair 2017-02-17 17:24:59 +00:00
sigaction_linux.go runtime/cgo: use libc for sigaction syscalls when possible 2016-11-16 05:38:38 +00:00
signal_386.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
signal_amd64x.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
signal_arm64.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
signal_arm.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
signal_darwin_386.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_darwin_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_darwin_arm64.go
signal_darwin_arm.go
signal_darwin.go runtime: unify sigtrampgo 2016-09-26 17:22:42 +00:00
signal_dragonfly_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_dragonfly.go
signal_freebsd_386.go
signal_freebsd_amd64.go
signal_freebsd_arm.go
signal_freebsd.go
signal_linux_386.go
signal_linux_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_linux_arm64.go
signal_linux_arm.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_linux_mips64x.go
signal_linux_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
signal_linux_ppc64x.go
signal_linux_s390x.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
signal_mips64x.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
signal_mipsx.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
signal_nacl_386.go
signal_nacl_amd64p32.go
signal_nacl_arm.go
signal_nacl.go
signal_netbsd_386.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_netbsd_amd64.go
signal_netbsd_arm.go
signal_netbsd.go runtime: set SIGCONT to _SigNotify + _SigDefault 2016-01-05 17:44:46 +00:00
signal_openbsd_386.go
signal_openbsd_amd64.go
signal_openbsd_arm.go
signal_openbsd.go
signal_plan9.go
signal_ppc64x.go runtime: avoid repeated findmoduledatap calls 2017-03-06 19:17:24 +00:00
signal_sighandler.go runtime: print user stack on other threads during GOTRACBEACK=crash 2017-03-15 22:16:12 +00:00
signal_solaris_amd64.go runtime: record current PC for SIGPROF on non-Go thread 2016-10-11 12:56:15 +00:00
signal_solaris.go runtime: treat SIGSTOP on Solaris as we do on other systems 2016-11-01 20:02:40 +00:00
signal_unix.go runtime: remove g.stackAlloc 2017-02-14 15:52:56 +00:00
signal_windows.go runtime: minor simplifications to signal code 2016-09-28 13:12:47 +00:00
sigqueue_plan9.go
sigqueue.go
sigtab_linux_generic.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
sigtab_linux_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
sizeclasses.go runtime: add table of size classes in a comment 2017-01-08 00:01:30 +00:00
slice.go runtime, cmd/compile: rename memclr -> memclrNoHeapPointers 2016-10-28 18:20:33 +00:00
softfloat64_test.go
softfloat64.go
softfloat_arm.go
sqrt_test.go
sqrt.go
stack_test.go runtime: remove stack barriers 2017-02-14 15:52:54 +00:00
stack.go runtime: generalize {alloc,free}Stack to {alloc,free}Manual 2017-04-13 18:20:35 +00:00
string_test.go runtime: add slicebytetostring benchmark 2017-03-05 05:14:08 +00:00
string.go runtime: optimize slicebytestostring 2017-03-08 22:05:52 +00:00
stubs2.go
stubs32.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
stubs_android.go
stubs_asm.go
stubs_linux.go runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
stubs_nonlinux.go runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
stubs.go runtime: separate spans of noscan objects 2017-04-28 22:50:31 +00:00
symtab_test.go runtime: fix TestCaller with -l=4 2017-04-18 19:56:48 +00:00
symtab.go runtime: document runtime.Frames better 2017-04-28 22:43:20 +00:00
sys_arm64.go
sys_arm.go runtime, cmd/internal/obj: get rid of rewindmorestack 2016-10-05 18:19:46 +00:00
sys_darwin_386.s time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
sys_darwin_amd64.s time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
sys_darwin_arm64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_darwin_arm.s runtime: update assembly var names after monotonic time changes 2017-02-21 18:42:05 +00:00
sys_dragonfly_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_freebsd_386.s runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
sys_freebsd_amd64.s runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
sys_freebsd_arm.s runtime: use cpuset_getaffinity for runtime.NumCPU() on FreeBSD 2017-03-10 22:06:24 +00:00
sys_linux_386.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_linux_amd64.s runtime: use pselect6 for usleep on linux/amd64 and linux/arm 2017-05-19 16:05:39 +00:00
sys_linux_arm64.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_linux_arm.s runtime: use pselect6 for usleep on linux/amd64 and linux/arm 2017-05-19 16:05:39 +00:00
sys_linux_mips64x.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_linux_mipsx.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_linux_ppc64x.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_linux_s390x.s runtime: inform arena placement using sbrk(0) 2017-04-21 14:34:10 +00:00
sys_mips64x.go
sys_mipsx.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
sys_nacl_386.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_nacl_amd64p32.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_nacl_arm.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_netbsd_386.s runtime: update assembly var names after monotonic time changes 2017-02-21 18:42:05 +00:00
sys_netbsd_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_netbsd_arm.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_nonppc64x.go
sys_openbsd_386.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_openbsd_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_openbsd_arm.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_plan9_386.s runtime: fix some assembly offset names 2017-02-14 02:09:48 +00:00
sys_plan9_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_plan9_arm.s runtime, syscall: in Plan 9 ARM asm, replace "SWI 0" with "SWI $0" 2017-05-16 20:01:07 +00:00
sys_ppc64x.go
sys_s390x.go runtime, cmd/internal/obj: get rid of rewindmorestack 2016-10-05 18:19:46 +00:00
sys_solaris_amd64.s time: record monotonic clock reading in time.Now, for more accurate comparisons 2017-02-03 19:04:52 +00:00
sys_windows_386.s runtime: make time correctly update on Wine 2017-04-25 04:30:06 +00:00
sys_windows_amd64.s runtime: make time correctly update on Wine 2017-04-25 04:30:06 +00:00
sys_x86.go runtime, cmd/internal/obj: get rid of rewindmorestack 2016-10-05 18:19:46 +00:00
syscall2_solaris.go
syscall_nacl.h
syscall_solaris.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
syscall_windows_test.go all: fix minor misspellings 2017-04-03 23:19:07 +00:00
syscall_windows.go
textflag.h
time.go runtime: do not allocate on every time.Sleep 2017-02-24 15:34:01 +00:00
timeasm.go time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
timestub.go time: optimize Now on darwin, windows 2017-02-09 14:45:16 +00:00
tls_arm64.h runtime: set TLSG_IS_VARIABLE for android/arm64. 2015-12-02 22:00:04 +00:00
tls_arm64.s cmd/internal/obj, cmd/link, runtime: native-ish support for tls on arm64 2015-10-28 19:51:05 +00:00
tls_arm.s runtime: prevent TLS fetching instructions from being assembled on NaCl/ARM 2017-04-08 22:51:18 +00:00
tls_mips64x.s
tls_mipsx.s runtime: add cgo support for GOARCH=mips{,le} 2016-12-14 23:52:33 +00:00
tls_ppc64x.s
tls_s390x.s
trace.go runtime: record swept and reclaimed bytes in sweep trace 2017-04-19 18:31:14 +00:00
traceback.go runtime: include inlined calls in result of CallersFrames 2017-03-29 17:27:38 +00:00
type.go plugin: properly handle recursively defined types 2017-04-12 12:46:07 +00:00
typekind.go
unaligned1.go
unaligned2.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
utf8.go runtime: speed up non-ASCII rune decoding 2016-10-17 11:25:22 +00:00
vdso_linux_amd64.go
vdso_none.go runtime: os.Executable runtime support for Darwin 2016-11-07 20:18:36 +00:00
vlop_386.s
vlop_arm_test.go
vlop_arm.s cmd/compile: rework handling of udiv on ARM 2017-04-20 16:27:38 +00:00
vlrt.go runtime: add support files for linux/mips{,le} port 2016-11-15 21:49:01 +00:00
wincallback.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
write_err_android.go runtime: update android time_now call 2017-02-08 02:56:25 +00:00
write_err.go
zcallback_windows.go
zcallback_windows.s