We can specify which testcases to build using TARGETS argument, for example: make -C tools/testing/selftests TARGETS=vm, cause the ordinary assignment of TARGETS in Makefile will be ignored. So we need to use override directive to change that.
Signed-off-by: Chengming Zhou zhouchengming@bytedance.com --- tools/testing/selftests/vm/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index 1607322a112c..0b330a5b1840 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -53,7 +53,7 @@ CAN_BUILD_I386 := $(shell ./../x86/check_cc.sh $(CC) ../x86/trivial_32bit_progra CAN_BUILD_X86_64 := $(shell ./../x86/check_cc.sh $(CC) ../x86/trivial_64bit_program.c) CAN_BUILD_WITH_NOPIE := $(shell ./../x86/check_cc.sh $(CC) ../x86/trivial_program.c -no-pie)
-TARGETS := protection_keys +override TARGETS := protection_keys BINARIES_32 := $(TARGETS:%=%_32) BINARIES_64 := $(TARGETS:%=%_64)
The error message when I build vm tests on debian10 (GLIBC 2.28):
userfaultfd.c: In function ‘userfaultfd_pagemap_test’: userfaultfd.c:1393:37: error: ‘MADV_PAGEOUT’ undeclared (first use in this function); did you mean ‘MADV_RANDOM’? if (madvise(area_dst, test_pgsize, MADV_PAGEOUT)) ^~~~~~~~~~~~ MADV_RANDOM
This patch includes these newer definitions from UAPI linux/mman.h, is useful to fix tests build on systems without these definitions in glibc sys/mman.h.
Signed-off-by: Chengming Zhou zhouchengming@bytedance.com --- tools/testing/selftests/vm/userfaultfd.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c index 2f49c9af1b58..3fc1d2ee2948 100644 --- a/tools/testing/selftests/vm/userfaultfd.c +++ b/tools/testing/selftests/vm/userfaultfd.c @@ -46,6 +46,7 @@ #include <signal.h> #include <poll.h> #include <string.h> +#include <linux/mman.h> #include <sys/mman.h> #include <sys/syscall.h> #include <sys/ioctl.h>
On 2/26/22 10:53 PM, Chengming Zhou wrote:
The error message when I build vm tests on debian10 (GLIBC 2.28):
userfaultfd.c: In function ‘userfaultfd_pagemap_test’: userfaultfd.c:1393:37: error: ‘MADV_PAGEOUT’ undeclared (first use in this function); did you mean ‘MADV_RANDOM’? if (madvise(area_dst, test_pgsize, MADV_PAGEOUT)) ^~~~~~~~~~~~ MADV_RANDOM
This patch includes these newer definitions from UAPI linux/mman.h, is useful to fix tests build on systems without these definitions in glibc sys/mman.h.
Signed-off-by: Chengming Zhou zhouchengming@bytedance.com
tools/testing/selftests/vm/userfaultfd.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/vm/userfaultfd.c b/tools/testing/selftests/vm/userfaultfd.c index 2f49c9af1b58..3fc1d2ee2948 100644 --- a/tools/testing/selftests/vm/userfaultfd.c +++ b/tools/testing/selftests/vm/userfaultfd.c @@ -46,6 +46,7 @@ #include <signal.h> #include <poll.h> #include <string.h> +#include <linux/mman.h> #include <sys/mman.h> #include <sys/syscall.h> #include <sys/ioctl.h>
Looks good to me.
Andrew,
If you want to take this through your tree or I can apply it.
Reviewed-by: Shuah Khan skhan@linuxfoundation.org
thanks, -- Shuah
On 2/26/22 10:53 PM, Chengming Zhou wrote:
We can specify which testcases to build using TARGETS argument, for example: make -C tools/testing/selftests TARGETS=vm, cause the ordinary assignment of TARGETS in Makefile will be ignored. So we need to use override directive to change that.
Signed-off-by: Chengming Zhou zhouchengming@bytedance.com
tools/testing/selftests/vm/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index 1607322a112c..0b330a5b1840 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -53,7 +53,7 @@ CAN_BUILD_I386 := $(shell ./../x86/check_cc.sh $(CC) ../x86/trivial_32bit_progra CAN_BUILD_X86_64 := $(shell ./../x86/check_cc.sh $(CC) ../x86/trivial_64bit_program.c) CAN_BUILD_WITH_NOPIE := $(shell ./../x86/check_cc.sh $(CC) ../x86/trivial_program.c -no-pie) -TARGETS := protection_keys +override TARGETS := protection_keys BINARIES_32 := $(TARGETS:%=%_32) BINARIES_64 := $(TARGETS:%=%_64)
Let's not override TARGETS - rename TARGETS in this file. VM_TARGETS?
thanks, -- Shuah
On 2022/3/4 3:17 上午, Shuah Khan wrote:
On 2/26/22 10:53 PM, Chengming Zhou wrote:
We can specify which testcases to build using TARGETS argument, for example: make -C tools/testing/selftests TARGETS=vm, cause the ordinary assignment of TARGETS in Makefile will be ignored. So we need to use override directive to change that.
Signed-off-by: Chengming Zhou zhouchengming@bytedance.com
tools/testing/selftests/vm/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile index 1607322a112c..0b330a5b1840 100644 --- a/tools/testing/selftests/vm/Makefile +++ b/tools/testing/selftests/vm/Makefile @@ -53,7 +53,7 @@ CAN_BUILD_I386 := $(shell ./../x86/check_cc.sh $(CC) ../x86/trivial_32bit_progra CAN_BUILD_X86_64 := $(shell ./../x86/check_cc.sh $(CC) ../x86/trivial_64bit_program.c) CAN_BUILD_WITH_NOPIE := $(shell ./../x86/check_cc.sh $(CC) ../x86/trivial_program.c -no-pie) -TARGETS := protection_keys +override TARGETS := protection_keys BINARIES_32 := $(TARGETS:%=%_32) BINARIES_64 := $(TARGETS:%=%_64)
Let's not override TARGETS - rename TARGETS in this file. VM_TARGETS?
Looks like Andrew has already added this patch to the -mm tree. I think both way is ok to solve this problem. Should I rename to VM_TARGETS and send another patch?
Thanks.
thanks, -- Shuah
linux-kselftest-mirror@lists.linaro.org