Skip to content
  • Shuah Khan's avatar
    selftests: kvm: Fix libkvm build error · 6e06983d
    Shuah Khan authored
    
    
    Fix the following build error from "make TARGETS=kvm kselftest":
    
    libkvm.a(assert.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIC
    
    This error is seen when build is done from the main Makefile using
    kselftest target. In this case KBUILD_CPPFLAGS and CC_OPTION_CFLAGS
    are defined.
    
    When build is invoked using:
    
    "make -C tools/testing/selftests/kvm" KBUILD_CPPFLAGS and CC_OPTION_CFLAGS
    aren't defined.
    
    There is no need to pass in KBUILD_CPPFLAGS and CC_OPTION_CFLAGS for the
    check to determine if --no-pie is necessary, which is the case when these
    two aren't defined when "make -C tools/testing/selftests/kvm" runs.
    
    Fix it by simplifying the no-pie-option logic. With this change, both
    build variations work.
    
    "make TARGETS=kvm kselftest"
    "make -C tools/testing/selftests/kvm"
    
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    6e06983d