Re: [PATCH 2/8] selftests/vm: use a common gup_test.h

John Hubbard
2020-09-28T20:10:25Z

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"
| ^~~~~~~~~~~~

thanks,
--
John Hubbard
NVIDIA