[PATCH v4 00/12] Add experimental clang build support

Adhemerval Zanella adhemerval.zanella@linaro.org
Mon Nov 10 13:28:51 GMT 2025


This patchset adds experimental support for building glibc with clang,
extending the work to build the testcases with clang that H.J. Lu and I
initially did [1].

I focused on x86_64-linux-gnu and aarch64-linux-gnu support. The minimum
clang version required is 18. This patchset supports the usual configure
options: --enable-stack-protector=all, --enable-profile=yes,
--enable-fortify-source=2, --enable-cet (x86_64), and
--enable-memory-tagging (aarch64).

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). I
am still working to enable support for the default clang compile-rt
runtime.

Changes from the previous version [1]:

  * Use math_uint128.h for the longlong.h support on 64 bit
    architectures.  It allow better code generation for multiplication
    operation.

  * Remove the mips isa definition from sgidefs.h and move it to an
    internal header.

  * Incorporated the comments on the patches

The testsuite with clang-18 on x86_64 shows:

FAIL: check-local-headers
UNSUPPORTED: assert/tst-assert-c++
UNSUPPORTED: assert/tst-assert-g++
FAIL: conform/ISO11/tgmath.h/conform
FAIL: conform/ISO99/tgmath.h/conform
FAIL: conform/POSIX2008/tgmath.h/conform
FAIL: conform/XOPEN2K/tgmath.h/conform
FAIL: conform/XOPEN2K8/tgmath.h/conform
FAIL: elf/ifuncmain1static
FAIL: elf/ifuncmain4
FAIL: elf/ifuncmain4static
FAIL: elf/ifuncmain6pie
FAIL: elf/ifuncmain7
FAIL: elf/ifuncmain7pic
FAIL: elf/ifuncmain7picstatic
FAIL: elf/ifuncmain7pie
FAIL: elf/ifuncmain7static
UNSUPPORTED: elf/ifuncmain9
UNSUPPORTED: elf/ifuncmain9pic
UNSUPPORTED: elf/ifuncmain9picstatic
UNSUPPORTED: elf/ifuncmain9pie
UNSUPPORTED: elf/ifuncmain9static
UNSUPPORTED: elf/tst-audit10
UNSUPPORTED: elf/tst-avx512
XPASS: elf/tst-ifunc-isa-1
XPASS: elf/tst-ifunc-isa-1-static
XPASS: elf/tst-ifunc-isa-2
XPASS: elf/tst-ifunc-isa-2-static
XPASS: elf/tst-protected1a
XPASS: elf/tst-protected1b
UNSUPPORTED: elf/tst-stringtable
UNSUPPORTED: io/tst-faccessat-setuid
UNSUPPORTED: io/tst-futimens
UNSUPPORTED: io/tst-futimes
UNSUPPORTED: io/tst-lutimes
UNSUPPORTED: io/tst-utime
UNSUPPORTED: io/tst-utimensat
UNSUPPORTED: io/tst-utimes
UNSUPPORTED: libio/tst-fopen-compat
FAIL: math/test-double-pow
FAIL: math/test-float128-acos
FAIL: math/test-float128-acosh
FAIL: math/test-float128-acospi
FAIL: math/test-float128-asin
FAIL: math/test-float128-asinpi
FAIL: math/test-float128-atan2pi
FAIL: math/test-float128-atanh
FAIL: math/test-float128-atanpi
FAIL: math/test-float128-compoundn
FAIL: math/test-float128-cospi
FAIL: math/test-float128-erf
FAIL: math/test-float128-exp
FAIL: math/test-float128-exp10
FAIL: math/test-float128-exp10m1
FAIL: math/test-float128-exp2
FAIL: math/test-float128-exp2m1
FAIL: math/test-float128-expm1
FAIL: math/test-float128-fdim
FAIL: math/test-float128-fmax
FAIL: math/test-float128-fmaximum
FAIL: math/test-float128-fmaximum_mag
FAIL: math/test-float128-fmaximum_mag_num
FAIL: math/test-float128-fmaximum_num
FAIL: math/test-float128-fmaxmag
FAIL: math/test-float128-fmin
FAIL: math/test-float128-fminimum
FAIL: math/test-float128-fminimum_mag
FAIL: math/test-float128-fminimum_mag_num
FAIL: math/test-float128-fminimum_num
FAIL: math/test-float128-fminmag
FAIL: math/test-float128-isgreater
FAIL: math/test-float128-isgreaterequal
FAIL: math/test-float128-isless
FAIL: math/test-float128-islessequal
FAIL: math/test-float128-log
FAIL: math/test-float128-log10
FAIL: math/test-float128-log10p1
FAIL: math/test-float128-log1p
FAIL: math/test-float128-log2
FAIL: math/test-float128-log2p1
FAIL: math/test-float128-pow
FAIL: math/test-float128-powr
FAIL: math/test-float128-rsqrt
FAIL: math/test-float128-sinpi
FAIL: math/test-float128-sqrt
FAIL: math/test-float128-tanpi
FAIL: math/test-float128-y0
FAIL: math/test-float128-y1
FAIL: math/test-float128-yn
FAIL: math/test-float32x-pow
FAIL: math/test-float64-pow
FAIL: math/test-float64x-fpclassify
FAIL: math/test-float64x-isinf
FAIL: math/test-ldouble-fpclassify
FAIL: math/test-ldouble-isinf
FAIL: math/test-ldouble-scalb
UNSUPPORTED: math/test-snan
FAIL: math/test-tgmath
FAIL: math/test-tgmath2
UNSUPPORTED: misc/tst-adjtimex
UNSUPPORTED: misc/tst-atomic
UNSUPPORTED: misc/tst-atomic-long
UNSUPPORTED: misc/tst-clock_adjtime
UNSUPPORTED: misc/tst-epoll-ioctls
UNSUPPORTED: misc/tst-fd_to_filename
UNSUPPORTED: misc/tst-ntp_adjtime
UNSUPPORTED: posix/tst-spawn-cgroup
FAIL: stdio-common/tst-vfprintf-user-type
UNSUPPORTED: string/tst-memchr-rtm
UNSUPPORTED: string/tst-memcmp-rtm
UNSUPPORTED: string/tst-memmove-rtm
UNSUPPORTED: string/tst-memrchr-rtm
UNSUPPORTED: string/tst-memset-rtm
UNSUPPORTED: string/tst-strcasecmp-rtm
UNSUPPORTED: string/tst-strchr-rtm
UNSUPPORTED: string/tst-strcmp-rtm
UNSUPPORTED: string/tst-strcpy-rtm
UNSUPPORTED: string/tst-strlen-rtm
UNSUPPORTED: string/tst-strncasecmp-rtm
UNSUPPORTED: string/tst-strncmp-rtm
UNSUPPORTED: string/tst-strrchr-rtm
UNSUPPORTED: string/tst-wcscmp-rtm
UNSUPPORTED: string/tst-wcsncmp-rtm
UNSUPPORTED: time/tst-clock_settime
UNSUPPORTED: time/tst-ctime
UNSUPPORTED: time/tst-difftime
UNSUPPORTED: time/tst-mktime4
UNSUPPORTED: time/tst-settimeofday
                === Summary of results ===
     75 FAIL
   6393 PASS
     47 UNSUPPORTED
     16 XFAIL
      6 XPASS



While on aarch64 shows:

FAIL: check-local-headers
UNSUPPORTED: assert/tst-assert-c++
UNSUPPORTED: assert/tst-assert-g++
FAIL: conform/ISO11/tgmath.h/conform
FAIL: conform/ISO99/tgmath.h/conform
FAIL: conform/POSIX2008/tgmath.h/conform
FAIL: conform/XOPEN2K/tgmath.h/conform
FAIL: conform/XOPEN2K8/tgmath.h/conform
UNSUPPORTED: elf/ifuncmain9
UNSUPPORTED: elf/ifuncmain9pic
UNSUPPORTED: elf/ifuncmain9picstatic
UNSUPPORTED: elf/ifuncmain9pie
UNSUPPORTED: elf/ifuncmain9static
UNSUPPORTED: elf/tst-link-map-contiguous-main
XPASS: elf/tst-protected1a
XPASS: elf/tst-protected1b
UNSUPPORTED: elf/tst-stringtable
FAIL: elf/tst-tls23
FAIL: elf/tst-tlsdesc-pac
FAIL: gmon/tst-gmon-gprof
FAIL: gmon/tst-gmon-pie-gprof
FAIL: gmon/tst-gmon-static-gprof
FAIL: gmon/tst-gmon-static-pie-gprof
FAIL: gmon/tst-mcount-overflow-check
UNSUPPORTED: io/tst-faccessat-setuid
UNSUPPORTED: io/tst-futimens
UNSUPPORTED: io/tst-futimes
UNSUPPORTED: io/tst-lutimes
UNSUPPORTED: io/tst-utime
UNSUPPORTED: io/tst-utimensat
UNSUPPORTED: io/tst-utimes
UNSUPPORTED: libio/tst-fopen-compat
FAIL: malloc/tst-aligned-alloc-random-thread-cross-malloc-hugetlb2
FAIL: malloc/tst-aligned-alloc-random-thread-malloc-hugetlb2
FAIL: math/test-float128-acos
FAIL: math/test-float128-acosh
FAIL: math/test-float128-acospi
FAIL: math/test-float128-asin
FAIL: math/test-float128-asinpi
FAIL: math/test-float128-atan2pi
FAIL: math/test-float128-atanh
FAIL: math/test-float128-atanpi
FAIL: math/test-float128-compoundn
FAIL: math/test-float128-cospi
FAIL: math/test-float128-erf
FAIL: math/test-float128-exp
FAIL: math/test-float128-exp10
FAIL: math/test-float128-exp10m1
FAIL: math/test-float128-exp2
FAIL: math/test-float128-exp2m1
FAIL: math/test-float128-expm1
FAIL: math/test-float128-fdim
FAIL: math/test-float128-fmax
FAIL: math/test-float128-fmaximum
FAIL: math/test-float128-fmaximum_mag
FAIL: math/test-float128-fmaximum_mag_num
FAIL: math/test-float128-fmaximum_num
FAIL: math/test-float128-fmaxmag
FAIL: math/test-float128-fmin
FAIL: math/test-float128-fminimum
FAIL: math/test-float128-fminimum_mag
FAIL: math/test-float128-fminimum_mag_num
FAIL: math/test-float128-fminimum_num
FAIL: math/test-float128-fminmag
FAIL: math/test-float128-isgreater
FAIL: math/test-float128-isgreaterequal
FAIL: math/test-float128-isless
FAIL: math/test-float128-islessequal
FAIL: math/test-float128-j0
FAIL: math/test-float128-j1
FAIL: math/test-float128-log
FAIL: math/test-float128-log10
FAIL: math/test-float128-log10p1
FAIL: math/test-float128-log1p
FAIL: math/test-float128-log2
FAIL: math/test-float128-log2p1
FAIL: math/test-float128-pow
FAIL: math/test-float128-powr
FAIL: math/test-float128-rsqrt
FAIL: math/test-float128-sinpi
FAIL: math/test-float128-sqrt
FAIL: math/test-float128-tanpi
FAIL: math/test-float128-y0
FAIL: math/test-float128-y1
FAIL: math/test-float64x-acos
FAIL: math/test-float64x-acosh
FAIL: math/test-float64x-acospi
FAIL: math/test-float64x-asin
FAIL: math/test-float64x-asinpi
FAIL: math/test-float64x-atan2pi
FAIL: math/test-float64x-atanh
FAIL: math/test-float64x-atanpi
FAIL: math/test-float64x-compoundn
FAIL: math/test-float64x-cospi
FAIL: math/test-float64x-erf
FAIL: math/test-float64x-exp
FAIL: math/test-float64x-exp10
FAIL: math/test-float64x-exp10m1
FAIL: math/test-float64x-exp2
FAIL: math/test-float64x-exp2m1
FAIL: math/test-float64x-expm1
FAIL: math/test-float64x-fdim
FAIL: math/test-float64x-float128-sqrt
FAIL: math/test-float64x-fmax
FAIL: math/test-float64x-fmaximum
FAIL: math/test-float64x-fmaximum_mag
FAIL: math/test-float64x-fmaximum_mag_num
FAIL: math/test-float64x-fmaximum_num
FAIL: math/test-float64x-fmaxmag
FAIL: math/test-float64x-fmin
FAIL: math/test-float64x-fminimum
FAIL: math/test-float64x-fminimum_mag
FAIL: math/test-float64x-fminimum_mag_num
FAIL: math/test-float64x-fminimum_num
FAIL: math/test-float64x-fminmag
FAIL: math/test-float64x-isgreater
FAIL: math/test-float64x-isgreaterequal
FAIL: math/test-float64x-isless
FAIL: math/test-float64x-islessequal
FAIL: math/test-float64x-j0
FAIL: math/test-float64x-j1
FAIL: math/test-float64x-log
FAIL: math/test-float64x-log10
FAIL: math/test-float64x-log10p1
FAIL: math/test-float64x-log1p
FAIL: math/test-float64x-log2
FAIL: math/test-float64x-log2p1
FAIL: math/test-float64x-pow
FAIL: math/test-float64x-powr
FAIL: math/test-float64x-rsqrt
FAIL: math/test-float64x-sinpi
FAIL: math/test-float64x-sqrt
FAIL: math/test-float64x-tanpi
FAIL: math/test-float64x-y0
FAIL: math/test-float64x-y1
FAIL: math/test-ldouble-acos
FAIL: math/test-ldouble-acosh
FAIL: math/test-ldouble-acospi
FAIL: math/test-ldouble-asin
FAIL: math/test-ldouble-asinpi
FAIL: math/test-ldouble-atan2pi
FAIL: math/test-ldouble-atanh
FAIL: math/test-ldouble-atanpi
FAIL: math/test-ldouble-compoundn
FAIL: math/test-ldouble-cospi
FAIL: math/test-ldouble-erf
FAIL: math/test-ldouble-exp
FAIL: math/test-ldouble-exp10
FAIL: math/test-ldouble-exp10m1
FAIL: math/test-ldouble-exp2
FAIL: math/test-ldouble-exp2m1
FAIL: math/test-ldouble-expm1
FAIL: math/test-ldouble-fdim
FAIL: math/test-ldouble-fmax
FAIL: math/test-ldouble-fmaximum
FAIL: math/test-ldouble-fmaximum_mag
FAIL: math/test-ldouble-fmaximum_mag_num
FAIL: math/test-ldouble-fmaximum_num
FAIL: math/test-ldouble-fmaxmag
FAIL: math/test-ldouble-fmin
FAIL: math/test-ldouble-fminimum
FAIL: math/test-ldouble-fminimum_mag
FAIL: math/test-ldouble-fminimum_mag_num
FAIL: math/test-ldouble-fminimum_num
FAIL: math/test-ldouble-fminmag
FAIL: math/test-ldouble-isgreater
FAIL: math/test-ldouble-isgreaterequal
FAIL: math/test-ldouble-isless
FAIL: math/test-ldouble-islessequal
FAIL: math/test-ldouble-j0
FAIL: math/test-ldouble-j1
FAIL: math/test-ldouble-log
FAIL: math/test-ldouble-log10
FAIL: math/test-ldouble-log10p1
FAIL: math/test-ldouble-log1p
FAIL: math/test-ldouble-log2
FAIL: math/test-ldouble-log2p1
FAIL: math/test-ldouble-pow
FAIL: math/test-ldouble-powr
FAIL: math/test-ldouble-rsqrt
FAIL: math/test-ldouble-sinpi
FAIL: math/test-ldouble-sqrt
FAIL: math/test-ldouble-tanpi
FAIL: math/test-ldouble-y0
FAIL: math/test-ldouble-y1
UNSUPPORTED: math/test-snan
FAIL: math/test-tgmath
FAIL: math/test-tgmath2
UNSUPPORTED: misc/tst-aarch64-pkey
UNSUPPORTED: misc/tst-adjtimex
UNSUPPORTED: misc/tst-atomic
UNSUPPORTED: misc/tst-atomic-long
UNSUPPORTED: misc/tst-clock_adjtime
FAIL: misc/tst-copy_file_range-large
UNSUPPORTED: misc/tst-fd_to_filename
UNSUPPORTED: misc/tst-gcs-disabled
UNSUPPORTED: misc/tst-gcs-disabled-static
UNSUPPORTED: misc/tst-gcs-dlopen-disabled
UNSUPPORTED: misc/tst-gcs-dlopen-enforced
UNSUPPORTED: misc/tst-gcs-dlopen-optional-off
UNSUPPORTED: misc/tst-gcs-dlopen-optional-on
UNSUPPORTED: misc/tst-gcs-dlopen-override
UNSUPPORTED: misc/tst-gcs-enforced
UNSUPPORTED: misc/tst-gcs-enforced-abort
UNSUPPORTED: misc/tst-gcs-enforced-static
UNSUPPORTED: misc/tst-gcs-enforced-static-abort
UNSUPPORTED: misc/tst-gcs-noreturn
UNSUPPORTED: misc/tst-gcs-optional-off
UNSUPPORTED: misc/tst-gcs-optional-on
UNSUPPORTED: misc/tst-gcs-optional-static-off
UNSUPPORTED: misc/tst-gcs-optional-static-on
UNSUPPORTED: misc/tst-gcs-override
UNSUPPORTED: misc/tst-gcs-override-static
UNSUPPORTED: misc/tst-gcs-shared-disabled
UNSUPPORTED: misc/tst-gcs-shared-enforced-abort
UNSUPPORTED: misc/tst-gcs-shared-optional
UNSUPPORTED: misc/tst-gcs-shared-override
UNSUPPORTED: misc/tst-ntp_adjtime
UNSUPPORTED: misc/tst-pkey
FAIL: misc/tst-preadvwritev2
FAIL: misc/tst-preadvwritev64v2
UNSUPPORTED: misc/tst-sme-clone
UNSUPPORTED: misc/tst-sme-clone3
UNSUPPORTED: misc/tst-sme-fork
UNSUPPORTED: misc/tst-sme-jmp
UNSUPPORTED: misc/tst-sme-signal
UNSUPPORTED: misc/tst-sme-vfork
UNSUPPORTED: misc/tst-sme-za-state
UNSUPPORTED: posix/tst-spawn-cgroup
FAIL: stdio-common/tst-setvbuf2
FAIL: stdio-common/tst-vfprintf-user-type
UNSUPPORTED: time/tst-clock_settime
UNSUPPORTED: time/tst-ctime
UNSUPPORTED: time/tst-difftime
UNSUPPORTED: time/tst-mktime4
UNSUPPORTED: time/tst-settimeofday
                === Summary of results ===
    173 FAIL
   6384 PASS
     61 UNSUPPORTED
     16 XFAIL
      2 XPASS


The azanella/clang branch [3] includes additional patches to address
some regressions. I am still working on checking the remaining failures.

[1] https://sourceware.org/pipermail/libc-alpha/2025-October/171862.html
[2] https://sourceware.org/pipermail/libc-alpha/2025-October/171486.html
[3] https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/azanella/clang

Adhemerval Zanella (12):
  Add gmp-arch and udiv_qrnnd
  Add add_ssaaaa and sub_ssaaaa to gmp-arch.h
  Add umul_ppmm to gmp-arch.hdoc
  stdlib: Remove longlong.h
  math: Don't redirect inlined builtin math functions
  Handle clang -Wignored-attributes on weak aliases
  x86: Use -mavx instead of -msse2avx
  x86: Fix strstr ifunc on clang
  Enable --enable-fortify-source with clang
  math: Handle fabsf128 !__USE_EXTERN_INLINES
  configure: Remove for redirection of built-in functions
  configure: remove overly restrictive check for clang

 Makefile.in                                   |    2 -
 NEWS                                          |    5 +
 configure                                     |  105 +-
 configure.ac                                  |   46 +-
 debug/vasprintf_chk.c                         |    1 +
 debug/vfprintf_chk.c                          |    1 +
 dirent/Makefile                               |    1 -
 elf/Makefile                                  |    8 +
 include/arpa/inet.h                           |    2 -
 include/bits/inet-fortified-decl.h            |    5 +
 include/bits/stdio2-decl.h                    |    7 +
 include/bits/string_fortified.h               |   15 +
 include/bits/syslog-decl.h                    |    4 +
 include/bits/unistd-decl.h                    |    6 +
 include/bits/wchar2-decl.h                    |    5 +
 include/libc-symbols.h                        |   10 +
 include/math.h                                |   33 +-
 include/stdio.h                               |   10 +-
 include/unistd.h                              |    4 -
 include/wchar.h                               |    1 -
 inet/Makefile                                 |    3 -
 inet/bits/inet-fortified.h                    |    2 +
 inet/in6_addr.c                               |    4 +-
 io/Makefile                                   |   18 +-
 io/Versions                                   |    1 -
 io/lockf64.c                                  |    2 +-
 libio/Makefile                                |   15 +-
 libio/feof_u.c                                |    2 +-
 libio/ferror_u.c                              |    2 +-
 libio/fileno.c                                |    2 +-
 libio/getc_u.c                                |    2 +-
 libio/iofflush.c                              |    2 +-
 libio/iofflush_u.c                            |    2 +-
 libio/iofgets_u.c                             |    2 +-
 libio/iofputs.c                               |    2 +-
 libio/iofputs_u.c                             |    2 +-
 libio/iofwrite.c                              |    2 +-
 libio/ioputs.c                                |    2 +-
 libio/putc_u.c                                |    2 +-
 login/Makefile                                |    1 -
 math/s_fmax_template.c                        |    1 -
 math/s_fmin_template.c                        |    2 -
 misc/Makefile                                 |    2 -
 misc/makedev.c                                |    6 +-
 misc/syslog.c                                 |    4 +-
 posix/Makefile                                |    6 +-
 posix/confstr.c                               |    2 +-
 posix/fork.c                                  |    2 +-
 resolv/Makefile                               |    1 -
 resolv/inet_pton.c                            |    2 +-
 resource/Makefile                             |    3 -
 socket/Makefile                               |   10 +-
 soft-fp/soft-fp.h                             |   19 +-
 stdio-common/Makefile                         |    2 -
 stdio-common/_itoa.c                          |    7 +-
 stdio-common/_itowa.c                         |    7 +-
 stdlib/Makefile                               |   14 -
 stdlib/addmul_1.c                             |    1 -
 stdlib/divmod_1.c                             |    1 -
 stdlib/divrem.c                               |    1 -
 stdlib/gmp-impl.h                             |    2 +
 stdlib/longlong.h                             | 1786 -----------------
 stdlib/mod_1.c                                |    1 -
 stdlib/mul_1.c                                |    1 -
 stdlib/secure-getenv.c                        |    2 +-
 stdlib/strtod_l.c                             |   11 +-
 stdlib/strtof_l.c                             |    4 +-
 stdlib/strtol.c                               |    2 +-
 stdlib/submul_1.c                             |    1 -
 stdlib/udiv_qrnnd.c                           |   10 -
 string/Makefile                               |   10 +-
 string/argz-next.c                            |    2 +-
 string/basename.c                             |    2 +-
 string/ffs.c                                  |    2 +-
 string/ffsll.c                                |    4 +-
 string/memmem.c                               |    2 +-
 string/mempcpy.c                              |    2 +-
 string/test-memchr.c                          |    4 +-
 string/test-strchr.c                          |    4 +-
 string/test-strlen.c                          |    4 +-
 string/test-strnlen.c                         |    4 +-
 sysdeps/aarch64/Makefile                      |    1 -
 sysdeps/aarch64/fpu/fclrexcpt.c               |    2 +-
 sysdeps/aarch64/fpu/fegetenv.c                |    2 +-
 sysdeps/aarch64/fpu/fegetround.c              |    2 +-
 sysdeps/aarch64/fpu/feholdexcpt.c             |    2 +-
 sysdeps/aarch64/fpu/fesetenv.c                |    2 +-
 sysdeps/aarch64/fpu/fesetround.c              |    2 +-
 sysdeps/aarch64/fpu/feupdateenv.c             |    2 +-
 sysdeps/aarch64/fpu/fraiseexcpt.c             |    2 +-
 sysdeps/aarch64/fpu/ftestexcept.c             |    2 +-
 sysdeps/aarch64/sfp-machine.h                 |    4 +-
 sysdeps/alpha/Makefile                        |    4 +
 sysdeps/alpha/gmp-arch.h                      |   39 +
 sysdeps/arm/Makefile                          |    4 -
 sysdeps/generic/gmp-arch.h                    |  176 ++
 sysdeps/generic/math-use-builtins-copysign.h  |    2 +
 sysdeps/generic/math-use-builtins.h           |  196 ++
 sysdeps/generic/math_ldbl_opt.h               |    2 +-
 sysdeps/generic/math_uint128.h                |   27 +-
 sysdeps/generic/symbol-hacks.h                |   15 +
 sysdeps/hppa/hppa1.1/udiv_qrnnd.S             |   77 -
 sysdeps/hppa/udiv_qrnnd.S                     |  285 ---
 sysdeps/i386/i686/multiarch/wcschr-c.c        |    4 +-
 sysdeps/ieee754/dbl-64/dbl2mpn.c              |    1 -
 sysdeps/ieee754/dbl-64/e_hypot.c              |    1 -
 sysdeps/ieee754/dbl-64/e_sqrt.c               |    1 -
 sysdeps/ieee754/dbl-64/s_ceil.c               |    1 -
 sysdeps/ieee754/dbl-64/s_floor.c              |    1 -
 sysdeps/ieee754/dbl-64/s_fma.c                |    1 -
 sysdeps/ieee754/dbl-64/s_fmaf.c               |    1 -
 sysdeps/ieee754/dbl-64/s_llrint.c             |    1 -
 sysdeps/ieee754/dbl-64/s_llround.c            |    1 -
 sysdeps/ieee754/dbl-64/s_logb.c               |    2 -
 sysdeps/ieee754/dbl-64/s_lrint.c              |    1 -
 sysdeps/ieee754/dbl-64/s_lround.c             |    1 -
 sysdeps/ieee754/dbl-64/s_modf.c               |    1 -
 sysdeps/ieee754/dbl-64/s_nearbyint.c          |    1 -
 sysdeps/ieee754/dbl-64/s_rint.c               |    1 -
 sysdeps/ieee754/dbl-64/s_round.c              |    2 -
 sysdeps/ieee754/dbl-64/s_roundeven.c          |    1 -
 sysdeps/ieee754/dbl-64/s_trunc.c              |    2 -
 sysdeps/ieee754/float128/float128_private.h   |    1 -
 sysdeps/ieee754/float128/s_fabsf128.c         |    9 +
 sysdeps/ieee754/flt-32/s_ceilf.c              |    1 -
 sysdeps/ieee754/flt-32/s_floorf.c             |    1 -
 sysdeps/ieee754/flt-32/s_llrintf.c            |    1 -
 sysdeps/ieee754/flt-32/s_llroundf.c           |    1 -
 sysdeps/ieee754/flt-32/s_logbf.c              |    1 -
 sysdeps/ieee754/flt-32/s_lrintf.c             |    1 -
 sysdeps/ieee754/flt-32/s_lroundf.c            |    1 -
 sysdeps/ieee754/flt-32/s_modff.c              |    1 -
 sysdeps/ieee754/flt-32/s_nearbyintf.c         |    1 -
 sysdeps/ieee754/flt-32/s_rintf.c              |    1 -
 sysdeps/ieee754/flt-32/s_roundevenf.c         |    1 -
 sysdeps/ieee754/flt-32/s_roundf.c             |    1 -
 sysdeps/ieee754/flt-32/s_truncf.c             |    1 -
 sysdeps/ieee754/ldbl-128/ldbl2mpn.c           |    1 -
 sysdeps/ieee754/ldbl-128/s_ceill.c            |    1 -
 sysdeps/ieee754/ldbl-128/s_copysignl.c        |    1 -
 sysdeps/ieee754/ldbl-128/s_floorl.c           |    1 -
 sysdeps/ieee754/ldbl-128/s_fma.c              |    1 -
 sysdeps/ieee754/ldbl-128/s_fmal.c             |    1 -
 sysdeps/ieee754/ldbl-128/s_llrintl.c          |    1 -
 sysdeps/ieee754/ldbl-128/s_logbl.c            |    1 -
 sysdeps/ieee754/ldbl-128/s_lrintl.c           |    1 -
 sysdeps/ieee754/ldbl-128/s_nearbyintl.c       |    1 -
 sysdeps/ieee754/ldbl-128/s_rintl.c            |    1 -
 sysdeps/ieee754/ldbl-128/s_roundevenl.c       |    1 -
 sysdeps/ieee754/ldbl-128/s_roundl.c           |    1 -
 sysdeps/ieee754/ldbl-128/s_truncl.c           |    1 -
 sysdeps/ieee754/ldbl-128/strtold_l.c          |    8 +-
 .../ldbl-128ibm-compat/ieee128-snprintf.c     |    4 +
 .../ldbl-128ibm-compat/ieee128-syslog.c       |    5 +-
 sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c        |    1 -
 sysdeps/ieee754/ldbl-128ibm/s_fabsl.c         |    1 -
 sysdeps/ieee754/ldbl-96/ldbl2mpn.c            |    1 -
 sysdeps/ieee754/ldbl-96/s_fabsl.c             |    1 -
 sysdeps/ieee754/ldbl-96/strtold_l.c           |    4 +-
 sysdeps/loongarch/sfp-machine.h               |    6 +-
 sysdeps/mips/fpu/math-use-builtins-fma.h      |    2 +-
 sysdeps/mips/isarev.h                         |    8 +
 sysdeps/mips/math-use-builtins-ffs.h          |    2 +-
 sysdeps/powerpc/fpu/e_sqrt.c                  |    1 -
 .../power4/multiarch/mempcpy-ppc32.c          |    4 +-
 .../powerpc/powerpc64/le/fpu/sfp-machine.h    |    6 +-
 sysdeps/riscv/sfp-machine.h                   |    6 +-
 sysdeps/s390/wcschr-c.c                       |    4 +-
 sysdeps/unix/mips/sysdep.h                    |    4 +-
 sysdeps/unix/sysv/linux/accept.c              |    2 +-
 sysdeps/unix/sysv/linux/connect.c             |    4 +-
 sysdeps/unix/sysv/linux/dirfd.c               |    2 +-
 sysdeps/unix/sysv/linux/fcntl64.c             |    2 +-
 sysdeps/unix/sysv/linux/getlogin_r.c          |    2 +-
 sysdeps/unix/sysv/linux/getrlimit64.c         |    4 +-
 sysdeps/unix/sysv/linux/if_index.c            |    8 +-
 sysdeps/unix/sysv/linux/ifaddrs.c             |    4 +-
 sysdeps/unix/sysv/linux/lseek64.c             |    2 +-
 sysdeps/unix/sysv/linux/mmap64.c              |    4 +-
 sysdeps/unix/sysv/linux/pread64.c             |    2 +-
 sysdeps/unix/sysv/linux/pwrite64.c            |    2 +-
 sysdeps/unix/sysv/linux/read.c                |    4 +-
 sysdeps/unix/sysv/linux/recv.c                |    4 +-
 sysdeps/unix/sysv/linux/send.c                |    4 +-
 sysdeps/unix/sysv/linux/write.c               |    4 +-
 sysdeps/wordsize-32/divdi3.c                  |   10 +-
 sysdeps/wordsize-64/Makefile                  |    4 +-
 sysdeps/wordsize-64/strtol.c                  |   10 +-
 sysdeps/wordsize-64/strtoul.c                 |    6 +-
 sysdeps/wordsize-64/wcstol.c                  |    6 +-
 sysdeps/wordsize-64/wcstoul.c                 |    6 +-
 sysdeps/x86/fpu/sfp-machine.h                 |   18 +-
 sysdeps/x86/gmp-arch.h                        |   50 +
 sysdeps/x86/ldbl2mpn.c                        |    1 -
 sysdeps/x86_64/fpu/fclrexcpt.c                |    2 +-
 sysdeps/x86_64/fpu/fegetenv.c                 |    2 +-
 sysdeps/x86_64/fpu/fegetround.c               |    2 +-
 sysdeps/x86_64/fpu/feholdexcpt.c              |    2 +-
 sysdeps/x86_64/fpu/fesetenv.c                 |    2 +-
 sysdeps/x86_64/fpu/fesetround.c               |    2 +-
 sysdeps/x86_64/fpu/fraiseexcpt.c              |    2 +-
 sysdeps/x86_64/fpu/ftestexcept.c              |    2 +-
 sysdeps/x86_64/fpu/multiarch/Makefile         |   14 +-
 sysdeps/x86_64/fpu/multiarch/s_exp10m1f.c     |    1 +
 sysdeps/x86_64/fpu/multiarch/s_exp2m1f.c      |    1 +
 sysdeps/x86_64/fpu/multiarch/s_modf-avx.c     |    4 -
 sysdeps/x86_64/fpu/multiarch/s_modf-sse4_1.c  |    4 -
 sysdeps/x86_64/fpu/multiarch/s_modff-avx.c    |    4 -
 sysdeps/x86_64/fpu/multiarch/s_modff-sse4_1.c |    4 -
 sysdeps/x86_64/fpu/multiarch/s_sincos.c       |    1 +
 sysdeps/x86_64/multiarch/mempcpy.c            |    2 +-
 sysdeps/x86_64/multiarch/stpcpy.c             |    2 +-
 sysdeps/x86_64/multiarch/strnlen.c            |    2 +-
 sysdeps/x86_64/multiarch/strstr.c             |   23 +-
 sysdeps/x86_64/multiarch/wcschr.c             |    2 +-
 sysdeps/x86_64/multiarch/wmemchr.c            |    2 +-
 sysdeps/x86_64/multiarch/wmemset.c            |    2 +-
 termios/Makefile                              |    1 -
 time/Makefile                                 |    1 -
 time/mktime.c                                 |    2 +-
 wcsmbs/Makefile                               |   24 +-
 wcsmbs/mbrtowc.c                              |    2 +-
 wcsmbs/wcrtomb.c                              |    2 +-
 wcsmbs/wcschr.c                               |    2 +-
 wcsmbs/wmemchr.c                              |    2 +-
 wcsmbs/wmemset.c                              |    2 +-
 wctype/Makefile                               |    2 -
 wctype/wcfuncs.c                              |    6 +-
 228 files changed, 859 insertions(+), 2710 deletions(-)
 delete mode 100644 stdlib/longlong.h
 delete mode 100644 stdlib/udiv_qrnnd.c
 create mode 100644 sysdeps/alpha/gmp-arch.h
 create mode 100644 sysdeps/generic/gmp-arch.h
 delete mode 100644 sysdeps/hppa/hppa1.1/udiv_qrnnd.S
 delete mode 100644 sysdeps/hppa/udiv_qrnnd.S
 create mode 100644 sysdeps/mips/isarev.h
 create mode 100644 sysdeps/x86/gmp-arch.h

-- 
2.43.0



More information about the Libc-alpha mailing list