Hi all, Our automated build environment flagged a new build error introduced by DTC 1.7.1. Specifically, a compiler option (warning) that was added is only supported by gcc but not by clang. This results in the build failing immediately if clang is being used. clang-18 -I libfdt -I . -DFDT_ASSUME_MASK=0 -DNO_VALGRIND -g -Os -fPIC -Werror -Wall -Wpointer-arith -Wcast-qual -Wnested-externs -Wsign-compare -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow -Wsuggest-attribute=format -Wwrite-strings -DNO_YAML -o srcpos.o -c srcpos.c error: unknown warning option '-Wsuggest-attribute=format'; did you mean '-Wproperty-attribute-mismatch'? [-Werror,-Wunknown-warning-option] make: *** [Makefile:359: srcpos.o] Error 1 The commit in question is [1] e3cde0613bfd Add -Wsuggest-attribute=format warning, correct warnings thus generated This commit was not part of v1.7.0 and is part of v1.7.1. The problem is, clang doesn't like this option, and with -Werror enabled, the build fails. Meanwhile, clang is perfectly capable of building dtc once the offending option has been removed. I am submitting a potential solution to this problem that relies on some Makefile code taken from the Linux kernel to detect if the compiler supports a certain option or not. Admittedly, the added code is a bit wordy, but it should work very well going forward if another such situation occurs. It is also very concise and easy to read when it is being used. Lastly, here is some debug output to show how the value of $(WARNINGS) is affected by the compiler. # using gcc $ make Makefile:49: *** The warnings are: -Wall -Wpointer-arith -Wcast-qual -Wnested-externs -Wsign-compare -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow -Wwrite-strings -Wsuggest-attribute=format. Stop. # using clang $ CC=clang-18 make Makefile:49: *** The warnings are: -Wall -Wpointer-arith -Wcast-qual -Wnested-externs -Wsign-compare -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow -Wwrite-strings . Stop. As intended, "-Wsuggest-attribute=format" disappears if clang is being used, and with this, clang can successfully complete the build. Please let me know what you think. Thanks, -Markus [1] https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=e3cde0613bfd Markus Mayer (1): Makefile: only use compiler flags when supported Makefile | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) -- 2.46.0