[PATCH] selftests/memfd: Run test on all architectures

Subsystems: kernel selftest framework, the rest

STALE4351d

6 messages, 3 authors, 2014-09-17 · open the first message on its own page

[PATCH] selftests/memfd: Run test on all architectures

From: Pranith Kumar <hidden>
Date: 2014-09-15 22:59:51

Remove the dependence on x86 to run the memfd test. Verfied on 32-bit powerpc.

Signed-off-by: Pranith Kumar <redacted>
---
 tools/testing/selftests/memfd/Makefile | 21 ---------------------
 1 file changed, 21 deletions(-)
diff --git a/tools/testing/selftests/memfd/Makefile b/tools/testing/selftests/memfd/Makefile
index ad4ab01..b80cd10 100644
--- a/tools/testing/selftests/memfd/Makefile
+++ b/tools/testing/selftests/memfd/Makefile
@@ -1,38 +1,17 @@
-uname_M := $(shell uname -m 2>/dev/null || echo not)
-ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/)
-ifeq ($(ARCH),i386)
-	ARCH := x86
-endif
-ifeq ($(ARCH),x86_64)
-	ARCH := x86
-endif
-
 CFLAGS += -D_FILE_OFFSET_BITS=64
-CFLAGS += -I../../../../arch/x86/include/generated/uapi/
-CFLAGS += -I../../../../arch/x86/include/uapi/
 CFLAGS += -I../../../../include/uapi/
 CFLAGS += -I../../../../include/
 
 all:
-ifeq ($(ARCH),x86)
 	gcc $(CFLAGS) memfd_test.c -o memfd_test
-else
-	echo "Not an x86 target, can't build memfd selftest"
-endif
 
 run_tests: all
-ifeq ($(ARCH),x86)
 	gcc $(CFLAGS) memfd_test.c -o memfd_test
-endif
 	@./memfd_test || echo "memfd_test: [FAIL]"
 
 build_fuse:
-ifeq ($(ARCH),x86)
 	gcc $(CFLAGS) fuse_mnt.c `pkg-config fuse --cflags --libs` -o fuse_mnt
 	gcc $(CFLAGS) fuse_test.c -o fuse_test
-else
-	echo "Not an x86 target, can't build memfd selftest"
-endif
 
 run_fuse: build_fuse
 	@./run_fuse_test.sh || echo "fuse_test: [FAIL]"
-- 
2.1.0

Re: [PATCH] selftests/memfd: Run test on all architectures

From: David Herrmann <hidden>
Date: 2014-09-17 12:28:04

Hi

On Tue, Sep 16, 2014 at 12:59 AM, Pranith Kumar [off-list ref] wrote:
Remove the dependence on x86 to run the memfd test. Verfied on 32-bit powerpc.

Signed-off-by: Pranith Kumar <redacted>
Now that most archs have __NR_memfd_create, this is:

Reviewed-by: David Herrmann <redacted>

Thanks
David
quoted hunk
---
 tools/testing/selftests/memfd/Makefile | 21 ---------------------
 1 file changed, 21 deletions(-)
diff --git a/tools/testing/selftests/memfd/Makefile b/tools/testing/selftests/memfd/Makefile
index ad4ab01..b80cd10 100644
--- a/tools/testing/selftests/memfd/Makefile
+++ b/tools/testing/selftests/memfd/Makefile
@@ -1,38 +1,17 @@
-uname_M := $(shell uname -m 2>/dev/null || echo not)
-ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/)
-ifeq ($(ARCH),i386)
-       ARCH := x86
-endif
-ifeq ($(ARCH),x86_64)
-       ARCH := x86
-endif
-
 CFLAGS += -D_FILE_OFFSET_BITS=64
-CFLAGS += -I../../../../arch/x86/include/generated/uapi/
-CFLAGS += -I../../../../arch/x86/include/uapi/
 CFLAGS += -I../../../../include/uapi/
 CFLAGS += -I../../../../include/

 all:
-ifeq ($(ARCH),x86)
        gcc $(CFLAGS) memfd_test.c -o memfd_test
-else
-       echo "Not an x86 target, can't build memfd selftest"
-endif

 run_tests: all
-ifeq ($(ARCH),x86)
        gcc $(CFLAGS) memfd_test.c -o memfd_test
-endif
        @./memfd_test || echo "memfd_test: [FAIL]"

 build_fuse:
-ifeq ($(ARCH),x86)
        gcc $(CFLAGS) fuse_mnt.c `pkg-config fuse --cflags --libs` -o fuse_mnt
        gcc $(CFLAGS) fuse_test.c -o fuse_test
-else
-       echo "Not an x86 target, can't build memfd selftest"
-endif

 run_fuse: build_fuse
        @./run_fuse_test.sh || echo "fuse_test: [FAIL]"
--
2.1.0

Re: [PATCH] selftests/memfd: Run test on all architectures

From: Shuah Khan <hidden>
Date: 2014-09-17 15:36:22

On 09/17/2014 06:28 AM, David Herrmann wrote:
Hi

On Tue, Sep 16, 2014 at 12:59 AM, Pranith Kumar [off-list ref] wrote:
quoted
Remove the dependence on x86 to run the memfd test. Verfied on 32-bit powerpc.

Signed-off-by: Pranith Kumar <redacted>
Now that most archs have __NR_memfd_create, this is:

Reviewed-by: David Herrmann <redacted>
Hmm. I am seeing failures on x86_64 on top of Linus's tree
(without this patch)

make -C tools/testing/selftests/memfd/make: Entering directory
`/lkml/linus_git_3.14/tools/testing/selftests/memfd'
gcc -D_FILE_OFFSET_BITS=64
-I../../../../arch/x86/include/generated/uapi/
-I../../../../arch/x86/include/uapi/ -I../../../../include/uapi/
-I../../../../include/ memfd_test.c -o memfd_test
memfd_test.c: In function ‘sys_memfd_create’:
memfd_test.c:26:17: error: ‘__NR_memfd_create’ undeclared (first use in
this function)
  return syscall(__NR_memfd_create, name, flags);
                 ^
memfd_test.c:26:17: note: each undeclared identifier is reported only
once for each function it appears in

Could you please look into this?? It appears __NR_memfd_create isn't
defined on x86_64???

thanks,
-- Shuah

-- 
Shuah Khan
Sr. Linux Kernel Developer
Samsung Research America (Silicon Valley)
shuahkh@osg.samsung.com | (970) 217-8978

Re: [PATCH] selftests/memfd: Run test on all architectures

From: David Herrmann <hidden>
Date: 2014-09-17 15:39:57

Hi

On Wed, Sep 17, 2014 at 5:36 PM, Shuah Khan [off-list ref] wrote:
On 09/17/2014 06:28 AM, David Herrmann wrote:
quoted
Hi

On Tue, Sep 16, 2014 at 12:59 AM, Pranith Kumar [off-list ref] wrote:
quoted
Remove the dependence on x86 to run the memfd test. Verfied on 32-bit powerpc.

Signed-off-by: Pranith Kumar <redacted>
Now that most archs have __NR_memfd_create, this is:

Reviewed-by: David Herrmann <redacted>
Hmm. I am seeing failures on x86_64 on top of Linus's tree
(without this patch)

make -C tools/testing/selftests/memfd/make: Entering directory
`/lkml/linus_git_3.14/tools/testing/selftests/memfd'
gcc -D_FILE_OFFSET_BITS=64
-I../../../../arch/x86/include/generated/uapi/
-I../../../../arch/x86/include/uapi/ -I../../../../include/uapi/
-I../../../../include/ memfd_test.c -o memfd_test
memfd_test.c: In function ‘sys_memfd_create’:
memfd_test.c:26:17: error: ‘__NR_memfd_create’ undeclared (first use in
this function)
  return syscall(__NR_memfd_create, name, flags);
                 ^
memfd_test.c:26:17: note: each undeclared identifier is reported only
once for each function it appears in

Could you please look into this?? It appears __NR_memfd_create isn't
defined on x86_64???
You need the headers installed in your system. By dropping the
arch-includes from the Makefile, we require 3.17 headers in
/usr/include.

Thanks
David

Re: [PATCH] selftests/memfd: Run test on all architectures

From: Pranith Kumar <hidden>
Date: 2014-09-17 15:40:26

On Wed, Sep 17, 2014 at 11:36 AM, Shuah Khan [off-list ref] wrote:
Hmm. I am seeing failures on x86_64 on top of Linus's tree
(without this patch)

make -C tools/testing/selftests/memfd/make: Entering directory
`/lkml/linus_git_3.14/tools/testing/selftests/memfd'
gcc -D_FILE_OFFSET_BITS=64
-I../../../../arch/x86/include/generated/uapi/
-I../../../../arch/x86/include/uapi/ -I../../../../include/uapi/
-I../../../../include/ memfd_test.c -o memfd_test
memfd_test.c: In function ‘sys_memfd_create’:
memfd_test.c:26:17: error: ‘__NR_memfd_create’ undeclared (first use in
this function)
  return syscall(__NR_memfd_create, name, flags);
                 ^
memfd_test.c:26:17: note: each undeclared identifier is reported only
once for each function it appears in

Could you please look into this?? It appears __NR_memfd_create isn't
defined on x86_64???
Hi Shuah,

Did you compile the tree before trying to compile this test? Compiling
the kernel will generate the required symbols which are used in this
test.

Thanks!
-- 
Pranith

Re: [PATCH] selftests/memfd: Run test on all architectures

From: Shuah Khan <hidden>
Date: 2014-09-17 15:41:20

On 09/17/2014 09:39 AM, David Herrmann wrote:
Hi

On Wed, Sep 17, 2014 at 5:36 PM, Shuah Khan [off-list ref] wrote:
quoted
On 09/17/2014 06:28 AM, David Herrmann wrote:
quoted
Hi

On Tue, Sep 16, 2014 at 12:59 AM, Pranith Kumar [off-list ref] wrote:
quoted
Remove the dependence on x86 to run the memfd test. Verfied on 32-bit powerpc.

Signed-off-by: Pranith Kumar <redacted>
Now that most archs have __NR_memfd_create, this is:

Reviewed-by: David Herrmann <redacted>
Hmm. I am seeing failures on x86_64 on top of Linus's tree
(without this patch)

make -C tools/testing/selftests/memfd/make: Entering directory
`/lkml/linus_git_3.14/tools/testing/selftests/memfd'
gcc -D_FILE_OFFSET_BITS=64
-I../../../../arch/x86/include/generated/uapi/
-I../../../../arch/x86/include/uapi/ -I../../../../include/uapi/
-I../../../../include/ memfd_test.c -o memfd_test
memfd_test.c: In function ‘sys_memfd_create’:
memfd_test.c:26:17: error: ‘__NR_memfd_create’ undeclared (first use in
this function)
  return syscall(__NR_memfd_create, name, flags);
                 ^
memfd_test.c:26:17: note: each undeclared identifier is reported only
once for each function it appears in

Could you please look into this?? It appears __NR_memfd_create isn't
defined on x86_64???
You need the headers installed in your system. By dropping the
arch-includes from the Makefile, we require 3.17 headers in
/usr/include.
Sorry - wrong system without the headers installed. My bad.

-- Shuah


-- 
Shuah Khan
Sr. Linux Kernel Developer
Samsung Research America (Silicon Valley)
shuahkh@osg.samsung.com | (970) 217-8978
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help