On Wed, Aug 07, 2024 at 04:09:41PM -0600, Shuah Khan wrote: > On 8/7/24 15:51, Thomas Weißschuh wrote: > > The current support for LLVM and clang in nolibc and its testsuite is > > very limited. > > > > * Various architectures plain do not compile > > * The user *has* to specify "-Os" otherwise the program crashes > > * Cross-compilation of the tests does not work > > * Using clang is not wired up in run-tests.sh > > > > This series extends this support. > > > > Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> > > --- > > Changes in v2: > > - Add support for all architectures > > - powerpc: "selftests/nolibc: don't use libgcc when building with clang" > > - mips: "tools/nolibc: mips: load current function to $t9" > > - s390: "selftests/nolibc: use correct clang target for s390/powerz" > > - Expand commit messages > > - Use __nolibc_ prefix for custom macros > > - Link to v1: https://lore.kernel.org/r/20240728-nolibc-llvm-v1-0-bc384269bc35@xxxxxxxxxxxxxx > > > > --- > > Thomas Weißschuh (15): > > tools/nolibc: arm: use clang-compatible asm syntax > > tools/nolibc: mips: load current function to $t9 > > tools/nolibc: powerpc: limit stack-protector workaround to GCC > > tools/nolibc: compiler: introduce __nolibc_has_attribute() > > tools/nolibc: move entrypoint specifics to compiler.h > > tools/nolibc: compiler: use attribute((naked)) if available > > selftests/nolibc: report failure if no testcase passed > > selftests/nolibc: avoid passing NULL to printf("%s") > > selftests/nolibc: determine $(srctree) first > > selftests/nolibc: add support for LLVM= parameter > > selftests/nolibc: add cc-option compatible with clang cross builds > > selftests/nolibc: run-tests.sh: avoid overwriting CFLAGS_EXTRA > > selftests/nolibc: don't use libgcc when building with clang > > selftests/nolibc: use correct clang target for s390/powerz > > selftests/nolibc: run-tests.sh: allow building through LLVM > > > > tools/include/nolibc/arch-aarch64.h | 4 +-- > > tools/include/nolibc/arch-arm.h | 8 +++--- > > tools/include/nolibc/arch-i386.h | 4 +-- > > tools/include/nolibc/arch-loongarch.h | 4 +-- > > tools/include/nolibc/arch-mips.h | 8 ++++-- > > tools/include/nolibc/arch-powerpc.h | 6 ++-- > > tools/include/nolibc/arch-riscv.h | 4 +-- > > tools/include/nolibc/arch-s390.h | 4 +-- > > tools/include/nolibc/arch-x86_64.h | 4 +-- > > tools/include/nolibc/compiler.h | 24 +++++++++++----- > > tools/testing/selftests/nolibc/Makefile | 41 +++++++++++++++++++--------- > > tools/testing/selftests/nolibc/nolibc-test.c | 4 +-- > > tools/testing/selftests/nolibc/run-tests.sh | 16 ++++++++--- > > 13 files changed, 83 insertions(+), 48 deletions(-) > > --- > > base-commit: ae1f550efc11eaf1496c431d9c6e784cb49124c5 > > change-id: 20240727-nolibc-llvm-3fad68590d4c > > > > Best regards, > > Looks good to me. For selftests patches: > > Reviewed-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> And all the series looks good to me as well (modulo that tiny "powerz" vs "systemz" mentioned in the 14th patch's commit message). The commit messages are now way more detailed and more pleasant to go through, thanks for that! Acked-by: Willy Tarreau <w@xxxxxx> Willy