[PATCH v5 12/12] configure: remove overly restrictive check for clang

H.J. Lu hjl.tools@gmail.com
Thu Nov 20 23:15:33 GMT 2025


On Fri, Nov 21, 2025 at 2:31 AM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
> The clang support is still experimental and not all testcase build
> or run correctly.  Only clang 18 and onwards is supported and only
> for x86_64-linux-gnu and aarch64-linux-gnu.

Your patch adds additional check for clang instead of removing overly
restrictive
check for clang.  Please update the commit subject.


> Reviewed-by: Collin Funk <collin.funk1@gmail.com>
> ---
>  NEWS         | 5 +++++
>  configure    | 2 +-
>  configure.ac | 2 +-
>  3 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/NEWS b/NEWS
> index 7e1264f448..2a116438f1 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -29,6 +29,11 @@ Major new features:
>  * The ISO C23 functions free_sized and free_aligned_sized are now
>    supported in <stdlib.h>.
>
> +* Experimental support for building with clang has been added.  It requires
> +  at least clang version 18, aarch64-linux-gnu or x86_64-linux-gnu
> +  targets, and libgcc compatible runtime (including libgcc_s.so for
> +  pthread cancellation and backtrace runtime support).
> +
>  Deprecated and removed features, and other changes affecting compatibility:
>
>  * Support for dumped heaps has been removed - malloc_set_state() now always
> diff --git a/configure b/configure
> index 9b72ca3b17..c1649903a9 100755
> --- a/configure
> +++ b/configure
> @@ -5799,7 +5799,7 @@ int
>  main (void)
>  {
>
> -#if !defined __GNUC__ || __GNUC__ < 12 || (__GNUC__ == 12 && __GNUC_MINOR__ < 1)
> +#if (!defined __GNUC__ || __GNUC__ < 12 || (__GNUC__ == 12 && __GNUC_MINOR__ < 1)) && (!defined __clang__ || __clang_major__ < 18)
>  #error insufficient compiler
>  #endif
>    ;
> diff --git a/configure.ac b/configure.ac
> index ef269340cb..b731ba4dc4 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -585,7 +585,7 @@ AC_CHECK_PROG_VER(BISON, bison, --version,
>  # Require GCC 12.1 to build.
>  AC_CACHE_CHECK([if $CC is sufficient to build libc], libc_cv_compiler_ok, [
>  AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[]], [[
> -#if !defined __GNUC__ || __GNUC__ < 12 || (__GNUC__ == 12 && __GNUC_MINOR__ < 1)
> +#if (!defined __GNUC__ || __GNUC__ < 12 || (__GNUC__ == 12 && __GNUC_MINOR__ < 1)) && (!defined __clang__ || __clang_major__ < 18)
>  #error insufficient compiler
>  #endif]])],
>                [libc_cv_compiler_ok=yes],
> --
> 2.43.0
>


-- 
H.J.


More information about the Libc-alpha mailing list