From: Austin Clements Date: Mon, 28 Nov 2016 19:54:38 +0000 (-0500) Subject: runtime: extract Linux auxv handling X-Git-Tag: go1.8beta1~40 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d39b7b5347a3e6cc9173224393e4cfaf874a272a;p=gostls13.git runtime: extract Linux auxv handling This refactoring is in preparation for handling auxv differently in Android shared libraries. Updates #18041. Change-Id: If0458a309f9c804e7abd0a58b5a224d89f8da257 Reviewed-on: https://go-review.googlesource.com/33651 Run-TryBot: Austin Clements TryBot-Result: Gobot Gobot Reviewed-by: David Crawshaw --- diff --git a/src/runtime/os_linux.go b/src/runtime/os_linux.go index 72d17f549a..67c62bc18e 100644 --- a/src/runtime/os_linux.go +++ b/src/runtime/os_linux.go @@ -200,6 +200,10 @@ func sysargs(argc int32, argv **byte) { // now argv+n is auxv auxv := (*[1 << 28]uintptr)(add(unsafe.Pointer(argv), uintptr(n)*sys.PtrSize)) + sysauxv(auxv[:]) +} + +func sysauxv(auxv []uintptr) { for i := 0; auxv[i] != _AT_NULL; i += 2 { tag, val := auxv[i], auxv[i+1] switch tag {