[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