From d39b7b5347a3e6cc9173224393e4cfaf874a272a Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Mon, 28 Nov 2016 14:54:38 -0500 Subject: [PATCH] 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 --- src/runtime/os_linux.go | 4 ++++ 1 file changed, 4 insertions(+) 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 { -- 2.50.0