On Mon, Sep 28, 2020 at 01:10:24PM -0700, John Hubbard wrote:
On 9/28/20 5:57 AM, Jason Gunthorpe wrote:
On Sun, Sep 27, 2020 at 11:21:53PM -0700, John Hubbard wrote:
diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile
index d1ae706d9927..9cc6bc087461 100644
+++ b/tools/testing/selftests/vm/Makefile
@@ -130,3 +130,5 @@ endif
$(OUTPUT)/userfaultfd: LDLIBS += -lpthread
$(OUTPUT)/mlock-random-test: LDLIBS += -lcap
+
+$(OUTPUT)/gup_test: ../../../../mm/gup_test.h
There is no reason to do this, the auto depends will pick up header
files, and gup_test.h isn't a generated file
It is less capable than you might think. Without the admittedly ugly technique
above, it fails to build, and as you can see, the include paths that are fed to
gcc are just a single one: usr/include:
$ make
make --no-builtin-rules ARCH=x86 -C ../../../.. headers_install
gcc -Wall -I ../../../../usr/include gup_test.c
/kernel_work/linux-next-github/tools/testing/selftests/kselftest_harness.h
/kernel_work/linux-next-github/tools/testing/selftests/kselftest.h
../../../../mm/gup_test.h -lrt -o
/kernel_work/linux-next-github/tools/testing/selftests/vm/gup_test
make[1]: Entering directory '/kernel_work/linux-next-github'
gup_test.c:10:10: fatal error: gup_test.h: No such file or directory
10 | #include "gup_test.h"
| ^~~~~~~~~~~~
You are supposed to use
#include "../../../../mm/gup_test.h"
I have no idea what weird behavior the makefile is triggering that the
above include works