Message ID | 20240503021712.78601-1-jhubbard@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | selftests/resctrl: fix clang build failure: use LOCAL_HDRS | expand |
On 5/2/2024 7:17 PM, John Hubbard wrote: > First of all, in order to build with clang at all, one must first apply > Valentin Obst's build fix for LLVM [1]. Once that is done, then when > building with clang, via: > > make LLVM=1 -C tools/testing/selftests > > ...the following error occurs: > > clang: error: cannot specify -o when generating multiple output files > > This is because clang, unlike gcc, won't accept invocations of this > form: > > clang file1.c header2.h > > Fix this by using selftests/lib.mk facilities for tracking local header > file dependencies: add them to LOCAL_HDRS, leaving only the .c files to > be passed to the compiler. > > [1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@valentinobst.de/ > > Fixes: 8e289f454289 ("selftests/resctrl: Add resctrl.h into build deps") > Cc: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> > Signed-off-by: John Hubbard <jhubbard@nvidia.com> > --- Thank you. Acked-by: Reinette Chatre <reinette.chatre@intel.com> Reinette
On 5/3/24 12:39, Reinette Chatre wrote: > > > On 5/2/2024 7:17 PM, John Hubbard wrote: >> First of all, in order to build with clang at all, one must first apply >> Valentin Obst's build fix for LLVM [1]. Once that is done, then when >> building with clang, via: >> >> make LLVM=1 -C tools/testing/selftests >> >> ...the following error occurs: >> >> clang: error: cannot specify -o when generating multiple output files >> >> This is because clang, unlike gcc, won't accept invocations of this >> form: >> >> clang file1.c header2.h >> >> Fix this by using selftests/lib.mk facilities for tracking local header >> file dependencies: add them to LOCAL_HDRS, leaving only the .c files to >> be passed to the compiler. >> >> [1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@valentinobst.de/ >> >> Fixes: 8e289f454289 ("selftests/resctrl: Add resctrl.h into build deps") >> Cc: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> >> Signed-off-by: John Hubbard <jhubbard@nvidia.com> >> --- > > Thank you. > > Acked-by: Reinette Chatre <reinette.chatre@intel.com> > > Reinette > Thank you. Applied to linux-kselftest next for Linux 6.10-rc1 thanks, -- Shuah
diff --git a/tools/testing/selftests/resctrl/Makefile b/tools/testing/selftests/resctrl/Makefile index 2deac2031de9..021863f86053 100644 --- a/tools/testing/selftests/resctrl/Makefile +++ b/tools/testing/selftests/resctrl/Makefile @@ -5,6 +5,8 @@ CFLAGS += $(KHDR_INCLUDES) TEST_GEN_PROGS := resctrl_tests +LOCAL_HDRS += $(wildcard *.h) + include ../lib.mk -$(OUTPUT)/resctrl_tests: $(wildcard *.[ch]) +$(OUTPUT)/resctrl_tests: $(wildcard *.c)
First of all, in order to build with clang at all, one must first apply Valentin Obst's build fix for LLVM [1]. Once that is done, then when building with clang, via: make LLVM=1 -C tools/testing/selftests ...the following error occurs: clang: error: cannot specify -o when generating multiple output files This is because clang, unlike gcc, won't accept invocations of this form: clang file1.c header2.h Fix this by using selftests/lib.mk facilities for tracking local header file dependencies: add them to LOCAL_HDRS, leaving only the .c files to be passed to the compiler. [1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@valentinobst.de/ Fixes: 8e289f454289 ("selftests/resctrl: Add resctrl.h into build deps") Cc: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: John Hubbard <jhubbard@nvidia.com> --- tools/testing/selftests/resctrl/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) base-commit: f03359bca01bf4372cf2c118cd9a987a5951b1c8 prerequisite-patch-id: b901ece2a5b78503e2fb5480f20e304d36a0ea27