• Sean Christopherson's avatar
    selftests/rseq: Play nice with binaries statically linked against glibc 2.35+ · 3bcbc209
    Sean Christopherson authored
    To allow running rseq and KVM's rseq selftests as statically linked
    binaries, initialize the various "trampoline" pointers to point directly
    at the expect glibc symbols, and skip the dlysm() lookups if the rseq
    size is non-zero, i.e. the binary is statically linked *and* the libc
    registered its own rseq.
    
    Define weak versions of the symbols so as not to break linking against
    libc versions that don't support rseq in any capacity.
    
    The KVM selftests in particular are often statically linked so that they
    can be run on targets with very limited runtime environments, i.e. test
    machines.
    
    Fixes: 233e667e ("selftests/rseq: Uplift rseq selftests for compatibility with glibc-2.35")
    Cc: Aaron Lewis <aaronlewis@google.com>
    Cc: kvm@vger.kernel.org
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Message-Id: <20230721223352.2333911-1-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    3bcbc209
rseq.c 5.63 KB