On Fri, Nov 5, 2021 at 9:25 AM Anders Roxell <anders.roxell@xxxxxxxxxx> wrote: > > When building selftests/cgroup: with clang the following error are seen: Thanks for the patches! typo in subject/oneline, and the `:` above can be dropped. Andrew reported similar failures throughout selftests: https://lore.kernel.org/linux-kselftest/20211005222739.2491124-1-adelg@xxxxxxxxxx/ Both patches touch the same part of tools/testing/selftests/lib.mk. This approach looks cleaner to me, but it should reconcile the changes to tools/testing/selftests/filesystems/binderfs/Makefile that Andrew made in the link above. > > clang -Wall -pthread test_memcontrol.c cgroup_util.c ../clone3/clone3_selftests.h -o /home/anders/.cache/tuxmake/builds/current/kselftest/cgroup/test_memcontrol > clang: error: cannot specify -o when generating multiple output files > make[3]: *** [../lib.mk:146: /home/anders/.cache/tuxmake/builds/current/kselftest/cgroup/test_memcontrol] Error 1 > > Rework to add the header files to LOCAL_HDRS before including ../lib.mk, > since the dependency is evaluated in '$(OUTPUT)/%:%.c $(LOCAL_HDRS)' in > file lib.mk. > > Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> > Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx> > --- > tools/testing/selftests/cgroup/Makefile | 12 +++++++----- > tools/testing/selftests/lib.mk | 2 +- > 2 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/tools/testing/selftests/cgroup/Makefile b/tools/testing/selftests/cgroup/Makefile > index 59e222460581..745fe25fa0b9 100644 > --- a/tools/testing/selftests/cgroup/Makefile > +++ b/tools/testing/selftests/cgroup/Makefile > @@ -11,10 +11,12 @@ TEST_GEN_PROGS += test_core > TEST_GEN_PROGS += test_freezer > TEST_GEN_PROGS += test_kill > > +LOCAL_HDRS += $(selfdir)/clone3/clone3_selftests.h $(selfdir)/pidfd/pidfd.h > + > include ../lib.mk > > -$(OUTPUT)/test_memcontrol: cgroup_util.c ../clone3/clone3_selftests.h > -$(OUTPUT)/test_kmem: cgroup_util.c ../clone3/clone3_selftests.h > -$(OUTPUT)/test_core: cgroup_util.c ../clone3/clone3_selftests.h > -$(OUTPUT)/test_freezer: cgroup_util.c ../clone3/clone3_selftests.h > -$(OUTPUT)/test_kill: cgroup_util.c ../clone3/clone3_selftests.h ../pidfd/pidfd.h > +$(OUTPUT)/test_memcontrol: cgroup_util.c > +$(OUTPUT)/test_kmem: cgroup_util.c > +$(OUTPUT)/test_core: cgroup_util.c > +$(OUTPUT)/test_freezer: cgroup_util.c > +$(OUTPUT)/test_kill: cgroup_util.c > diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk > index fe7ee2b0f29c..a40add31a2e3 100644 > --- a/tools/testing/selftests/lib.mk > +++ b/tools/testing/selftests/lib.mk > @@ -141,7 +141,7 @@ endif > # Selftest makefiles can override those targets by setting > # OVERRIDE_TARGETS = 1. > ifeq ($(OVERRIDE_TARGETS),) > -LOCAL_HDRS := $(selfdir)/kselftest_harness.h $(selfdir)/kselftest.h > +LOCAL_HDRS += $(selfdir)/kselftest_harness.h $(selfdir)/kselftest.h > $(OUTPUT)/%:%.c $(LOCAL_HDRS) > $(LINK.c) $(filter-out $(LOCAL_HDRS),$^) $(LDLIBS) -o $@ > > -- > 2.33.0 > -- Thanks, ~Nick Desaulniers