• S
    selftests: x86: sysret_ss_attrs doesn't build on a PIE build · 3346a6a4
    Shuah Khan 提交于
    sysret_ss_attrs fails to compile leading x86 test run to fail on systems
    configured to build using PIE by default. Add -no-pie fix it.
    
    Relocation might still fail if relocated above 4G. For now this change
    fixes the build and runs x86 tests.
    
    tools/testing/selftests/x86$ make
    gcc -m64 -o .../tools/testing/selftests/x86/single_step_syscall_64 -O2
    -g -std=gnu99 -pthread -Wall  single_step_syscall.c -lrt -ldl
    gcc -m64 -o .../tools/testing/selftests/x86/sysret_ss_attrs_64 -O2 -g
    -std=gnu99 -pthread -Wall  sysret_ss_attrs.c thunks.S -lrt -ldl
    /usr/bin/ld: /tmp/ccS6pvIh.o: relocation R_X86_64_32S against `.text'
    can not be used when making a shared object; recompile with -fPIC
    /usr/bin/ld: final link failed: Nonrepresentable section on output
    collect2: error: ld returned 1 exit status
    Makefile:49: recipe for target
    '.../tools/testing/selftests/x86/sysret_ss_attrs_64' failed
    make: *** [.../tools/testing/selftests/x86/sysret_ss_attrs_64] Error 1
    Suggested-by: NAndy Lutomirski <luto@kernel.org>
    Signed-off-by: NShuah Khan <shuahkh@osg.samsung.com>
    3346a6a4
Makefile 2.5 KB