* Andy Lutomirski luto@kernel.org wrote:
On Fri, Jan 12, 2018 at 4:57 AM, Ingo Molnar mingo@kernel.org wrote:
- Andy Lutomirski luto@kernel.org wrote:
tools/testing/selftests/x86/Makefile | 2 +- tools/testing/selftests/x86/test_vsyscall.c | 500 ++++++++++++++++++++++++++++ 2 files changed, 501 insertions(+), 1 deletion(-) create mode 100644 tools/testing/selftests/x86/test_vsyscall.c
Hm, it doesn't even build here, on Ubuntu latest (Artful):
triton:~/tip/tools/testing/selftests/x86> make test_vsyscall gcc -O2 -g -std=gnu99 -pthread -Wall -no-pie test_vsyscall.c -o test_vsyscall /tmp/ccKyelfb.o: In function `init_vdso': /home/mingo/tip/tools/testing/selftests/x86/test_vsyscall.c:68: undefined reference to `dlopen' /home/mingo/tip/tools/testing/selftests/x86/test_vsyscall.c:76: undefined reference to `dlsym' /home/mingo/tip/tools/testing/selftests/x86/test_vsyscall.c:80: undefined reference to `dlsym' /home/mingo/tip/tools/testing/selftests/x86/test_vsyscall.c:84: undefined reference to `dlsym' /home/mingo/tip/tools/testing/selftests/x86/test_vsyscall.c:88: undefined reference to `dlsym' /home/mingo/tip/tools/testing/selftests/x86/test_vsyscall.c:70: undefined reference to `dlopen' collect2: error: ld returned 1 exit status <builtin>: recipe for target 'test_vsyscall' failed make: *** [test_vsyscall] Error 1
You're not supposed to do that :) The targets are test_vsyscall_32 and test_vsyscall_64 or just plain make. I think you're just ending up with make's default rule to try to build it and it's not working.
D'oh, of course! :-)
We could try adding something like:
# The x86 selftests have files like foo.c that don't produce binaries # called foo (they're foo_32 and foo_64 instead). Prevent confusion # if someone types 'make foo'. % : %.c % : %.o
to tools/testing/selftests/x86/Makefile, but that's a bit gross.
Well, we could make it to produce the proper targets, which wouldn't be gross.
But it's probably overkill - I've applied your patch.
Thanks,
Ingo