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

Adhemerval Zanella adhemerval.zanella@linaro.org
Thu Nov 20 18:30:04 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]:

  * Fixed benchtests build.

  * Rebased against master

  * Incorporated the comments on the patches

The testsuite with clang-18 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
FAIL: elf/check-localplt
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-malloc-fork-deadlock-malloc-hugetlb2
FAIL: math/test-double-ldouble-sqrt
FAIL: math/test-float-ldouble-sqrt
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-float32-float128-sqrt
FAIL: math/test-float32-float64x-sqrt
FAIL: math/test-float32x-float128-sqrt
FAIL: math/test-float32x-float64x-sqrt
FAIL: math/test-float64-float128-sqrt
FAIL: math/test-float64-float64x-sqrt
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-mseal-pkey
UNSUPPORTED: misc/tst-ntp_adjtime
UNSUPPORTED: misc/tst-pkey
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-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 ===
    178 FAIL
   6443 PASS
     62 UNSUPPORTED
     16 XFAIL
      2 XPASS

And x86_64-linux-gnu it 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/check-localplt
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
FAIL: intl/tst-gettext
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-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-float32-float128-sqrt
FAIL: math/test-float32x-float128-sqrt
FAIL: math/test-float64-float128-sqrt
FAIL: math/test-float64x-float128-sqrt
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-mseal
UNSUPPORTED: misc/tst-mseal-pkey
UNSUPPORTED: misc/tst-ntp_adjtime
UNSUPPORTED: misc/tst-pidfd_getinfo
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 ===
     78 FAIL
   6452 PASS
     50 UNSUPPORTED
     16 XFAIL
      6 XPASS


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

[1] https://sourceware.org/pipermail/libc-alpha/2025-November/172251.html
[2] 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
  Handle clang -Wignored-attributes on weak aliases
  configure: Only use -fno-fp-int-builtin-inexact if compiler supports
    it
  Enable --enable-fortify-source with clang
  benchtests: Use __f128 on ilogbf128-inputs constants
  benchtests: Add attribute_optimize
  benchtests: Remove clang warnings
  bench-malloc-thread: Add libm for powf
  configure: remove overly restrictive check for clang

 Makefile.in                                   |    2 -
 NEWS                                          |    5 +
 benchtests/Makefile                           |    2 +
 benchtests/bench-malloc-thread.c              |    2 +-
 benchtests/bench-memset.c                     |    1 +
 benchtests/bench-pthread-lock-base.c          |   11 +-
 benchtests/bench-pthread-locks.c              |   10 +-
 benchtests/bench-strchr.c                     |    4 +-
 benchtests/bench-util.h                       |    6 +
 benchtests/ilogbf128-inputs                   |    8 +-
 configure                                     |  132 +-
 configure.ac                                  |   37 +-
 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/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/Makefile                                 |   32 +-
 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_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/float128/s_fabsf128.c         |    6 +
 sysdeps/ieee754/ldbl-128/ldbl2mpn.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-96/ldbl2mpn.c            |    1 -
 sysdeps/ieee754/ldbl-96/strtold_l.c           |    4 +-
 sysdeps/loongarch/sfp-machine.h               |    6 +-
 .../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/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/s_exp10m1f.c     |    1 +
 sysdeps/x86_64/fpu/multiarch/s_exp2m1f.c      |    1 +
 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/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 +-
 175 files changed, 713 insertions(+), 2594 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/x86/gmp-arch.h

-- 
2.43.0



More information about the Libc-alpha mailing list