diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -168,7 +168,7 @@ valloc.c \ wordexp.c -.if ${COMPILER_TYPE} == "clang" +.if ${COMPILER_FEATURES:Mblocks} CFLAGS.fts.c= -fblocks .endif diff --git a/lib/libc/tests/gen/Makefile b/lib/libc/tests/gen/Makefile --- a/lib/libc/tests/gen/Makefile +++ b/lib/libc/tests/gen/Makefile @@ -7,7 +7,7 @@ ATF_TESTS_C+= fmtmsg_test ATF_TESTS_C+= fnmatch2_test ATF_TESTS_C+= fpclassify2_test -.if ${COMPILER_TYPE} == "clang" +.if ${COMPILER_FEATURES:Mblocks} ATF_TESTS_C+= fts_blocks_test .endif ATF_TESTS_C+= ftw_test diff --git a/lib/libc/tests/stdlib/Makefile b/lib/libc/tests/stdlib/Makefile --- a/lib/libc/tests/stdlib/Makefile +++ b/lib/libc/tests/stdlib/Makefile @@ -7,7 +7,7 @@ ATF_TESTS_C+= libc_exit_test ATF_TESTS_C+= mergesort_test ATF_TESTS_C+= qsort_test -.if ${COMPILER_TYPE} == "clang" +.if ${COMPILER_FEATURES:Mblocks} ATF_TESTS_C+= qsort_b_test .endif ATF_TESTS_C+= qsort_r_compat_test diff --git a/share/mk/bsd.compiler.mk b/share/mk/bsd.compiler.mk --- a/share/mk/bsd.compiler.mk +++ b/share/mk/bsd.compiler.mk @@ -245,6 +245,7 @@ ${X_}COMPILER_FEATURES+= init-all .endif .if ${${X_}COMPILER_TYPE} == "clang" +${X_}COMPILER_FEATURES+= blocks ${X_}COMPILER_FEATURES+= retpoline # PR257638 lld fails with BE compressed debug. Fixed in main but external tool # chains will initially not have the fix. For now limit the feature to LE