• Austin Clements's avatar
    runtime: fall back to /proc/self/auxv in Android libs · 6f287fa2
    Austin Clements authored
    Android's libc doesn't provide access to auxv, so currently the Go
    runtime synthesizes a fake, minimal auxv when loaded as a library on
    Android. This used to be sufficient, but now we depend on auxv to
    retrieve the system physical page size and panic if we can't retrieve
    it.
    
    Fix this by falling back to reading auxv from /proc/self/auxv if the
    loader-provided auxv is empty and removing the synthetic auxv vectors.
    
    Fixes #18041.
    
    Change-Id: Ia2ec2c764a6609331494a5d359032c56cbb83482
    Reviewed-on: https://go-review.googlesource.com/33652
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: default avatarDavid Crawshaw <crawshaw@golang.org>
    6f287fa2
os_linux.go 10.8 KB