We can't compile all of barebox with clang yet, because we use GCC-specific extensions, especially C-code in naked functions, which we is judiciously used on 32-bit ARM platforms. Nevertheless, sandbox can already be used with clang and it's useful for incoming support for libfuzzer, so let's add support to Kbuild. Ahmad Fatoum (4): sandbox: use host system's UBSan library common: implement CC_IS_GCC and CC_IS_CLANG symbols fixdep: sync with Linux Makefile: add LLVM/clang support Makefile | 45 ++++-- arch/arm/Kconfig | 3 +- arch/sandbox/Makefile | 4 + common/Kconfig | 16 +++ lib/Kconfig.ubsan | 3 + lib/Makefile | 2 +- scripts/Kbuild.include | 31 ++-- scripts/Kconfig.include | 6 + scripts/Makefile.build | 8 +- scripts/Makefile.clang | 9 ++ scripts/Makefile.ubsan | 33 +++-- scripts/basic/Makefile | 2 + scripts/basic/fixdep.c | 297 ++++++++++++++++++++++++--------------- scripts/cc-version.sh | 52 +++++++ scripts/compiler.h | 20 +-- scripts/include/xalloc.h | 34 +++++ scripts/mod/sumversion.c | 19 ++- 17 files changed, 411 insertions(+), 173 deletions(-) create mode 100644 scripts/Makefile.clang create mode 100755 scripts/cc-version.sh create mode 100644 scripts/include/xalloc.h -- 2.39.5