selftests/bpf: restore $(OUTPUT)/test_stub.o rule
Subsystems (3)
PATCH 1/1 selftests/bpf: restore $(OUTPUT)/test_stub.o rule
make O=/linux-build kselftest TARGETS=bpf fails with
make[3]: *** No rule to make target '/linux-build/bpf/test_stub.o', needed by '/linux-build/bpf/test_verifier'
The same command without the O= part works, presumably thanks to the implicit rule.
Fix by restoring the explicit $(OUTPUT)/test_stub.o rule.
--- tools/testing/selftests/bpf/Makefile | 3 +++ 1 file changed, 3 insertions(+)
tools/testing/selftests/bpf/Makefile +3 -0
@@ -89,6 +89,9 @@ $(notdir $(TEST_GEN_PROGS) \ $(OUTPUT)/urandom_read: urandom_read.c $(CC) -o $@ $< -Wl,--build-id +$(OUTPUT)/test_stub.o: test_stub.c + $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< + BPFOBJ := $(OUTPUT)/libbpf.a $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED): $(OUTPUT)/test_stub.o $(BPFOBJ)
Signature · 1 line
2.23.0
Quoted 21 lines · Ilya Leoshkevich
make O=/linux-build kselftest TARGETS=bpffails withmake[3]: *** No rule to make target '/linux-build/bpf/test_stub.o', needed by '/linux-build/bpf/test_verifier'
The same command without the O= part works, presumably thanks to the implicit rule.
Fix by restoring the explicit $(OUTPUT)/test_stub.o rule.
Fixes 74b5a5968fe8 ("selftests/bpf: Replace test_progs and test_maps w/ general rule")Signed-off-by Ilya Leoshkevich <[email protected]>--- tools/testing/selftests/bpf/Makefile | 3 +++ 1 file changed, 3 insertions(+)tools/testing/selftests/bpf/Makefile +0
-0
tools/testing/selftests/bpf/Makefile $(notdir $(TEST_GEN_PROGS) \ · line 93
Quoted 5 lines
tools/testing/selftests/bpf/Makefile +2
-0@@ -89,6 +89,9 @@ $(notdir $(TEST_GEN_PROGS) \ $(OUTPUT)/urandom_read: urandom_read.c $(CC) -o $@ $< -Wl,--build-id +$(OUTPUT)/test_stub.o: test_stub.c + $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
Looks good to me, even though we never pass $(CPPFLAGS) to any other objects, so for consistency we might want to drop them.
But either way:
Quoted 7 lines
tools/testing/selftests/bpf/Makefile +1
-1+ BPFOBJ := $(OUTPUT)/libbpf.a $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED): $(OUTPUT)/test_stub.o $(BPFOBJ) --2.23.0
Daniel Borkmann
maintainerQuoted 31 lines · Andrii Nakryiko
Quoted 21 lines · Ilya Leoshkevich
make O=/linux-build kselftest TARGETS=bpffails withmake[3]: *** No rule to make target '/linux-build/bpf/test_stub.o', needed by '/linux-build/bpf/test_verifier'
The same command without the O= part works, presumably thanks to the implicit rule.
Fix by restoring the explicit $(OUTPUT)/test_stub.o rule.
Fixes 74b5a5968fe8 ("selftests/bpf: Replace test_progs and test_maps w/ general rule")Signed-off-by Ilya Leoshkevich <[email protected]>--- tools/testing/selftests/bpf/Makefile | 3 +++ 1 file changed, 3 insertions(+)tools/testing/selftests/bpf/Makefile +0
-0tools/testing/selftests/bpf/Makefile $(notdir $(TEST_GEN_PROGS) \ · line 93
Quoted 5 lines
tools/testing/selftests/bpf/Makefile +2
-0@@ -89,6 +89,9 @@ $(notdir $(TEST_GEN_PROGS) \ $(OUTPUT)/urandom_read: urandom_read.c $(CC) -o $@ $< -Wl,--build-id +$(OUTPUT)/test_stub.o: test_stub.c + $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<Looks good to me, even though we never pass $(CPPFLAGS) to any other objects, so for consistency we might want to drop them.
Quoted 3 lines
But either way:
Acked-by Andrii Nakryiko <[email protected]>
+1, Ilya could you respin with CPPFLAGS removed. Feel free to retain Andrii's ACK then.
Thanks,
Daniel