All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] selftests: lib.mk Fix individual test builds
@ 2017-03-01 22:46 Shuah Khan
  2017-03-03  5:00 ` Michael Ellerman
  0 siblings, 1 reply; 2+ messages in thread
From: Shuah Khan @ 2017-03-01 22:46 UTC (permalink / raw)
  To: shuah, bamvor.zhangjian, mpe, mingo
  Cc: Shuah Khan, tglx, hpa, luto, linux-kselftest, linux-kernel

In commit a8ba798bc8ec ("selftests: enable O and KBUILD_OUTPUT"), added
support to generate compile targets in a user specified directory. OUTPUT
variable controls the location which is undefined when tests are built in
the test directory or with "make -C tools/testing/selftests/x86".

make -C tools/testing/selftests/x86/
make: Entering directory '/lkml/linux_4.11/tools/testing/selftests/x86'
Makefile:44: warning: overriding recipe for target 'clean'
../lib.mk:51: warning: ignoring old recipe for target 'clean'
gcc -m64 -o /single_step_syscall_64 -O2 -g -std=gnu99 -pthread -Wall  single_step_syscall.c -lrt -ldl
/usr/bin/ld: cannot open output file /single_step_syscall_64: Permission denied
collect2: error: ld returned 1 exit status
Makefile:50: recipe for target '/single_step_syscall_64' failed
make: *** [/single_step_syscall_64] Error 1
make: Leaving directory '/lkml/linux_4.11/tools/testing/selftests/x86'

Same failure with "cd tools/testing/selftests/x86/;make" run.

Fix this with a change to lib.mk to define OUTPUT to be the pwd when
MAKELEVEL is 0. This covers both cases mentioned above.

Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
---
 tools/testing/selftests/lib.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index ce96d80..775c589 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -2,6 +2,10 @@
 # Makefile can operate with or without the kbuild infrastructure.
 CC := $(CROSS_COMPILE)gcc
 
+ifeq (0,$(MAKELEVEL))
+OUTPUT := $(shell pwd)
+endif
+
 TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
 TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] selftests: lib.mk Fix individual test builds
  2017-03-01 22:46 [PATCH] selftests: lib.mk Fix individual test builds Shuah Khan
@ 2017-03-03  5:00 ` Michael Ellerman
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Ellerman @ 2017-03-03  5:00 UTC (permalink / raw)
  To: Shuah Khan, shuah, bamvor.zhangjian, mingo
  Cc: Shuah Khan, tglx, hpa, luto, linux-kselftest, linux-kernel

Shuah Khan <shuahkh@osg.samsung.com> writes:
> In commit a8ba798bc8ec ("selftests: enable O and KBUILD_OUTPUT"), added
> support to generate compile targets in a user specified directory. OUTPUT
> variable controls the location which is undefined when tests are built in
> the test directory or with "make -C tools/testing/selftests/x86".
>
> make -C tools/testing/selftests/x86/
> make: Entering directory '/lkml/linux_4.11/tools/testing/selftests/x86'
> Makefile:44: warning: overriding recipe for target 'clean'
> ../lib.mk:51: warning: ignoring old recipe for target 'clean'
> gcc -m64 -o /single_step_syscall_64 -O2 -g -std=gnu99 -pthread -Wall  single_step_syscall.c -lrt -ldl
> /usr/bin/ld: cannot open output file /single_step_syscall_64: Permission denied
> collect2: error: ld returned 1 exit status
> Makefile:50: recipe for target '/single_step_syscall_64' failed
> make: *** [/single_step_syscall_64] Error 1
> make: Leaving directory '/lkml/linux_4.11/tools/testing/selftests/x86'
>
> Same failure with "cd tools/testing/selftests/x86/;make" run.
>
> Fix this with a change to lib.mk to define OUTPUT to be the pwd when
> MAKELEVEL is 0. This covers both cases mentioned above.
>
> Reported-by: Ingo Molnar <mingo@kernel.org>
> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
> ---
>  tools/testing/selftests/lib.mk | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index ce96d80..775c589 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -2,6 +2,10 @@
>  # Makefile can operate with or without the kbuild infrastructure.
>  CC := $(CROSS_COMPILE)gcc
>  
> +ifeq (0,$(MAKELEVEL))
> +OUTPUT := $(shell pwd)
> +endif

I preferred my version which just used =? rather than checking
MAKELEVEL, but I don't mind that much.

Acked-by: Michael Ellerman <mpe@ellerman.id.au>

cheers

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-03-03  6:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-01 22:46 [PATCH] selftests: lib.mk Fix individual test builds Shuah Khan
2017-03-03  5:00 ` Michael Ellerman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.