• Austin Clements's avatar
    runtime: separate error result for mmap · 193088b2
    Austin Clements authored
    Currently mmap returns an unsafe.Pointer that encodes OS errors as
    values less than 4096. In practice this is okay, but it borders on
    being really unsafe: for example, the value has to be checked
    immediately after return and if stack copying were ever to observe
    such a value, it would panic. It's also not remotely idiomatic.
    
    Fix this by making mmap return a separate pointer value and error,
    like a normal Go function.
    
    Updates #22218.
    
    Change-Id: Iefd965095ffc82cc91118872753a5d39d785c3a6
    Reviewed-on: https://go-review.googlesource.com/71270
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    193088b2
Name
Last commit
Last update
..
asm_386.s Loading commit data...
asm_amd64.s Loading commit data...
asm_arm.s Loading commit data...
asm_arm64.s Loading commit data...
asm_mips64x.s Loading commit data...
asm_mipsx.s Loading commit data...
asm_nacl_amd64p32.s Loading commit data...
asm_ppc64x.s Loading commit data...
asm_s390x.s Loading commit data...
callbacks.go Loading commit data...
callbacks_traceback.go Loading commit data...
cgo.go Loading commit data...
dragonfly.go Loading commit data...
freebsd.go Loading commit data...
gcc_386.S Loading commit data...
gcc_amd64.S Loading commit data...
gcc_android.c Loading commit data...
gcc_android_386.c Loading commit data...
gcc_android_amd64.c Loading commit data...
gcc_android_arm.c Loading commit data...
gcc_android_arm64.c Loading commit data...
gcc_arm.S Loading commit data...
gcc_arm64.S Loading commit data...
gcc_context.c Loading commit data...
gcc_darwin_386.c Loading commit data...
gcc_darwin_amd64.c Loading commit data...
gcc_darwin_arm.c Loading commit data...
gcc_darwin_arm64.c Loading commit data...
gcc_dragonfly_amd64.c Loading commit data...
gcc_fatalf.c Loading commit data...
gcc_freebsd_386.c Loading commit data...
gcc_freebsd_amd64.c Loading commit data...
gcc_freebsd_arm.c Loading commit data...
gcc_libinit.c Loading commit data...
gcc_libinit_windows.c Loading commit data...
gcc_linux_386.c Loading commit data...
gcc_linux_amd64.c Loading commit data...
gcc_linux_arm.c Loading commit data...
gcc_linux_arm64.c Loading commit data...
gcc_linux_mips64x.c Loading commit data...
gcc_linux_mipsx.c Loading commit data...
gcc_linux_ppc64x.c Loading commit data...
gcc_linux_s390x.c Loading commit data...
gcc_mips64x.S Loading commit data...
gcc_mipsx.S Loading commit data...
gcc_mmap.c Loading commit data...
gcc_netbsd_386.c Loading commit data...
gcc_netbsd_amd64.c Loading commit data...
gcc_netbsd_arm.c Loading commit data...
gcc_openbsd_386.c Loading commit data...
gcc_openbsd_amd64.c Loading commit data...
gcc_ppc64x.S Loading commit data...
gcc_s390x.S Loading commit data...
gcc_setenv.c Loading commit data...
gcc_sigaction.c Loading commit data...
gcc_signal2_darwin_armx.c Loading commit data...
gcc_signal_darwin_armx.c Loading commit data...
gcc_signal_darwin_lldb.c Loading commit data...
gcc_solaris_amd64.c Loading commit data...
gcc_traceback.c Loading commit data...
gcc_util.c Loading commit data...
gcc_windows_386.c Loading commit data...
gcc_windows_amd64.c Loading commit data...
iscgo.go Loading commit data...
libcgo.h Loading commit data...
libcgo_unix.h Loading commit data...
mmap.go Loading commit data...
netbsd.go Loading commit data...
openbsd.go Loading commit data...
setenv.go Loading commit data...
sigaction.go Loading commit data...
signal_darwin_arm.s Loading commit data...
signal_darwin_arm64.s Loading commit data...
signal_darwin_armx.go Loading commit data...