1
0
mirror of https://github.com/golang/go synced 2024-10-04 04:21:22 -06:00
go/src/pkg/runtime
Gustavo Niemeyer 65b036c381 runtime: don't use twice the memory with grsec-like kernels
grsec needs the FIXED flag to be provided to mmap, which
works now.  That said, when the allocation fails to be made
in the specific address, we're still given back a writable
page.  This change will unmap that page to avoid using
twice the amount of memory needed.

It'd also be pretty easy to avoid the extra system calls
once we detected that the flag is needed, but I'm not sure
if that edge case is worth the effort.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4634086
2011-06-24 00:29:59 -03:00
..
386 runtime: improve memmove 2011-06-09 16:49:47 -04:00
amd64 runtime: improve memmove 2011-06-09 16:49:47 -04:00
arm 5l: fix softfloat nits 2011-06-09 18:38:25 -04:00
cgo build: exclude packages that fail on Plan 9 (for now) 2011-06-20 22:23:43 +10:00
darwin runtime: turn "too many EPIPE" into real SIGPIPE 2011-04-25 16:58:00 -04:00
debug src/pkg: make package doc comments consistently start with "Package foo". 2011-04-20 09:57:05 +10:00
freebsd runtime: turn "too many EPIPE" into real SIGPIPE 2011-04-25 16:58:00 -04:00
linux runtime: don't use twice the memory with grsec-like kernels 2011-06-24 00:29:59 -03:00
plan9 runtime: fix Plan 9 "lingering goroutines bug". 2011-06-10 17:23:54 +10:00
pprof gc: unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr 2011-06-17 16:12:14 -04:00
windows runtime: increase maximum number of windows callbacks 2011-06-09 10:29:25 +10:00
append_test.go gc: inline append when len<cap 2011-05-11 16:35:11 +02:00
cgocall.c runtime: scheduler, cgo reorganization 2011-03-07 10:37:42 -05:00
cgocall.h runtime: scheduler, cgo reorganization 2011-03-07 10:37:42 -05:00
chan.c reflect: more efficient; cannot Set result of NewValue anymore 2011-04-18 14:35:33 -04:00
closure_test.go gc: make merely referencing an outer variable in a closure not force heapallocation. 2011-06-01 17:02:43 +02:00
complex.c runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
cpuprof.c runtime: cpu profiling support 2011-03-23 11:43:37 -04:00
debug.go runtime: cpu profiling support 2011-03-23 11:43:37 -04:00
error.go gc: descriptive panic for nil pointer -> value method call 2011-06-17 15:23:27 -04:00
export_test.go arm: precise float64 software floating point 2010-10-25 17:55:50 -07:00
extern.go src/pkg: make package doc comments consistently start with "Package foo". 2011-04-20 09:57:05 +10:00
float.c runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
goc2c.c runtime: correct line numbers for .goc files. 2010-08-18 00:16:05 +02:00
hashmap.c reflect: more efficient; cannot Set result of NewValue anymore 2011-04-18 14:35:33 -04:00
hashmap.h runtime: generate Go defs for C types. 2011-01-31 12:27:28 +01:00
iface.c gc: correct handling of unexported method names in embedded interfaces 2011-04-21 08:14:50 -04:00
Makefile 5c: do not use R9 and R10 2011-06-22 23:22:36 -04:00
malloc.goc gc: unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr 2011-06-17 16:12:14 -04:00
malloc.h runtime: faster allocator, garbage collector 2011-02-02 23:03:47 -05:00
mcache.c runtime: more graceful out-of-memory crash 2011-04-26 08:25:40 -04:00
mcentral.c runtime: faster allocator, garbage collector 2011-02-02 23:03:47 -05:00
mem.go gc: unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr 2011-06-17 16:12:14 -04:00
mfinal.c runtime: fix unused variable warning 2011-03-02 15:29:13 -05:00
mfixalloc.c runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
mgc0.c runtime: fix typo in gc bug fix 2011-04-28 00:20:37 -04:00
mheap.c runtime: allow use of >512 MB on 32-bit platforms 2011-04-27 23:20:53 -04:00
mkasmh.sh nacl, tiny: remove vestiges 2011-06-21 12:02:40 -04:00
mkgodefs.sh runtime: generate Go defs for C types. 2011-01-31 12:27:28 +01:00
mkversion.c runtime: fix mkversion to output valid path separators 2011-04-27 15:47:12 -04:00
mprof.goc pkg: spelling tweaks, I-Z 2011-05-30 18:02:59 +10:00
msize.c runtime: faster allocator, garbage collector 2011-02-02 23:03:47 -05:00
print.c runtime: make printf work on misaligned stack 2011-03-04 15:42:39 -05:00
proc_test.go runtime: reset GOMAXPROCS during tests 2011-05-31 10:38:51 -04:00
proc.c runtime: make StackSystem part of StackGuard 2011-05-16 16:57:49 -04:00
rune.c runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
runtime1.goc runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
runtime-gdb.py pkg: spelling tweaks, I-Z 2011-05-30 18:02:59 +10:00
runtime.c runtime: omit breakpoint during terminal panic 2011-02-25 15:17:34 -05:00
runtime.h runtime: SysMap uses MAP_FIXED if needed on 64-bit Linux 2011-06-07 21:50:10 -07:00
sema.goc runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
sig.go runtime: split extern.go into debug.go, extern.go, sig.go. 2010-06-21 20:53:49 -07:00
sigqueue.goc runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
slice.c gc: generalize dst = append(src,...) inlining to arbitrary src and dst arguments. 2011-05-14 00:35:10 +02:00
softfloat64_test.go arm: precise float64 software floating point 2010-10-25 17:55:50 -07:00
softfloat64.go go/printer, gofmt: fix alignment of "=" in const/var declarations 2011-05-09 15:16:34 -07:00
stack.h runtime: make StackSystem part of StackGuard 2011-05-16 16:57:49 -04:00
string.goc runtime: faster allocator, garbage collector 2011-02-02 23:03:47 -05:00
symtab.c runtime: skip functions with no lines when building src line table 2011-04-21 08:32:58 -07:00
type.go reflect: allow Slice of arrays 2011-04-18 20:00:42 -04:00
type.h reflect: add pointer word to CommonType 2011-02-24 17:11:20 -05:00