Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/resctrl: fix clang build failure: use LOCAL_HDRS

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>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

authored by

John Hubbard and committed by
Shuah Khan
d8171aa4 019baf63

+3 -1
+3 -1
tools/testing/selftests/resctrl/Makefile
··· 5 5 6 6 TEST_GEN_PROGS := resctrl_tests 7 7 8 + LOCAL_HDRS += $(wildcard *.h) 9 + 8 10 include ../lib.mk 9 11 10 - $(OUTPUT)/resctrl_tests: $(wildcard *.[ch]) 12 + $(OUTPUT)/resctrl_tests: $(wildcard *.c)