• Austin Clements's avatar
    runtime: support DT_GNU_HASH in VDSO · 9065c3bf
    Austin Clements authored
    Currently we only support finding symbols in the VDSO using the old
    DT_HASH. These days everything uses DT_GNU_HASH instead. To keep up
    with the times and future-proof against DT_HASH disappearing from the
    VDSO in the future, this commit adds support for DT_GNU_HASH and
    prefers it over DT_HASH.
    
    Tested by making sure it found a DT_GNU_HASH section and all of the
    expected symbols in it, and then disabling the DT_GNU_HASH path and
    making sure the old DT_HASH path still found all of the symbols.
    
    Fixes #19649.
    
    Change-Id: I508c8b35a019330d2c32f04f3833b69cb2686f13
    Reviewed-on: https://go-review.googlesource.com/45511
    Run-TryBot: Austin Clements <austin@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    9065c3bf
vdso_linux_amd64.go 9.56 KB