about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.old/ChangeLog.2910379
-rw-r--r--INSTALL18
-rw-r--r--Makeconfig2
-rw-r--r--NEWS218
-rw-r--r--Rules6
-rw-r--r--assert/assert.h6
-rw-r--r--benchtests/Makefile1
-rw-r--r--benchtests/bench-memset-random.c185
-rw-r--r--config.h.in6
-rw-r--r--config.make.in1
-rwxr-xr-xconfigure51
-rw-r--r--configure.ac18
-rw-r--r--debug/tst-fortify-syslog.c8
-rw-r--r--elf/Makefile42
-rw-r--r--elf/dl-fptr.c322
-rw-r--r--elf/dl-open.c61
-rw-r--r--elf/dl-tls.c57
-rw-r--r--elf/endswith.h33
-rw-r--r--elf/ldconfig.c12
-rw-r--r--elf/readlib.c11
-rw-r--r--elf/rtld.c18
-rw-r--r--elf/tst-dlopen-tlsreinit1.c40
-rw-r--r--elf/tst-dlopen-tlsreinit2.c39
-rw-r--r--elf/tst-dlopen-tlsreinit3.c2
-rw-r--r--elf/tst-dlopen-tlsreinit4.c2
-rw-r--r--elf/tst-dlopen-tlsreinitmod1.c20
-rw-r--r--elf/tst-dlopen-tlsreinitmod2.c30
-rw-r--r--elf/tst-dlopen-tlsreinitmod3.c102
-rw-r--r--elf/tst-ldconfig-bad-aux-cache.c2
-rw-r--r--elf/tst-rtld-dash-dash.sh41
-rw-r--r--elf/tst-rtld-does-not-exist.sh4
-rw-r--r--elf/tst-tunables-enable_secure-env.c2
-rw-r--r--htl/Makefile2
-rw-r--r--htl/Versions16
-rw-r--r--hurd/hurdfault.c9
-rw-r--r--hurd/intr-msg.c5
-rw-r--r--iconv/Makefile15
-rw-r--r--iconv/gconv_trans.c2
-rw-r--r--iconv/tst-translit-locale10
-rw-r--r--iconv/tst-translit-mchar.c48
-rw-r--r--iconv/tst-translit-mchar.sh51
-rw-r--r--include/features.h2
-rw-r--r--include/libc-internal.h3
-rw-r--r--include/link.h1
-rw-r--r--inet/Makefile1
-rw-r--r--inet/tst-if_nameindex.c117
-rw-r--r--io/Makefile1
-rw-r--r--io/bits/statx-generic.h1
-rw-r--r--io/tst-copy_file_range.c2
-rw-r--r--io/tst-fchmod-errors.c63
-rw-r--r--io/tst-futimens-time64.c1
-rw-r--r--io/tst-futimens.c13
-rw-r--r--io/tst-futimes-time64.c1
-rw-r--r--io/tst-futimes.c13
-rw-r--r--io/tst-futimesat-time64.c3
-rw-r--r--io/tst-futimesat.c30
-rw-r--r--io/tst-lutimes-time64.c1
-rw-r--r--io/tst-lutimes.c26
-rw-r--r--io/tst-mkdirat.c42
-rw-r--r--io/tst-statx.c4
-rw-r--r--io/tst-utime-time64.c1
-rw-r--r--io/tst-utime.c13
-rw-r--r--io/tst-utimensat-time64.c1
-rw-r--r--io/tst-utimensat.c35
-rw-r--r--io/tst-utimes-time64.c1
-rw-r--r--io/tst-utimes.c13
-rw-r--r--libio/Makefile1
-rw-r--r--libio/bits/stdio2.h40
-rw-r--r--libio/genops.c11
-rw-r--r--libio/libioP.h4
-rw-r--r--libio/tst-closeall.c (renamed from support/support-xfstat-time64.c)26
-rw-r--r--libio/tst-getdelim.c22
-rw-r--r--locale/tst-localedef-path-norm.c2
-rw-r--r--localedata/tst-ctype.c40
-rw-r--r--localedata/tst-localedef-hardlinks.c2
-rw-r--r--login/Makefile64
-rw-r--r--malloc/Makefile16
-rw-r--r--malloc/memusage.c2
-rw-r--r--malloc/tst-aligned-alloc-random-thread-cross.c19
-rw-r--r--malloc/tst-aligned-alloc-random-thread.c145
-rw-r--r--malloc/tst-aligned_alloc-lib.c39
-rw-r--r--manual/Makefile1
-rw-r--r--manual/contrib.texi34
-rw-r--r--manual/dynlink.texi24
-rw-r--r--manual/filesys.texi196
-rw-r--r--manual/install.texi18
-rw-r--r--manual/intro.texi17
-rw-r--r--manual/llio.texi117
-rw-r--r--manual/macros.texi7
-rw-r--r--manual/resource.texi4
-rw-r--r--manual/socket.texi52
-rw-r--r--manual/startup.texi30
-rw-r--r--manual/stdio.texi89
-rw-r--r--manual/threads.texi8
-rw-r--r--math/Makefile1
-rw-r--r--math/auto-libm-test-in96
-rw-r--r--math/auto-libm-test-out-exp10m11780
-rw-r--r--math/auto-libm-test-out-exp2m11780
-rw-r--r--math/auto-libm-test-out-log10p11780
-rw-r--r--math/auto-libm-test-out-log2p1340
-rw-r--r--math/test-nan-payload.c112
-rw-r--r--math/test-tgmath2.c13
-rw-r--r--misc/Makefile2
-rw-r--r--misc/tst-mremap1.c46
-rw-r--r--misc/tst-mremap2.c54
-rw-r--r--nptl/Makefile10
-rw-r--r--nptl/allocatestack.c2
-rw-r--r--nptl/cancellation.c127
-rw-r--r--nptl/cleanup_defer.c5
-rw-r--r--nptl/descr-const.sym6
-rw-r--r--nptl/descr.h18
-rw-r--r--nptl/libc-cleanup.c5
-rw-r--r--nptl/pthread_cancel.c78
-rw-r--r--nptl/pthread_exit.c4
-rw-r--r--nptl/pthread_setcancelstate.c2
-rw-r--r--nptl/pthread_setcanceltype.c2
-rw-r--r--nptl/pthread_testcancel.c5
-rw-r--r--nptl/tst-cancel31.c100
-rw-r--r--nptl/tst-cancel7.c12
-rw-r--r--nptl/tst-sem11.c26
-rw-r--r--nptl/tst-sem12.c20
-rw-r--r--nss/tst-nss-gai-actions.c1
-rw-r--r--po/be.po114
-rw-r--r--po/bg.po261
-rw-r--r--po/ca.po114
-rw-r--r--po/cs.po114
-rw-r--r--po/da.po94
-rw-r--r--po/de.po114
-rw-r--r--po/el.po14
-rw-r--r--po/eo.po94
-rw-r--r--po/es.po98
-rw-r--r--po/fi.po94
-rw-r--r--po/fr.po112
-rw-r--r--po/gl.po76
-rw-r--r--po/hr.po114
-rw-r--r--po/hu.po10
-rw-r--r--po/ia.po98
-rw-r--r--po/id.po94
-rw-r--r--po/it.po96
-rw-r--r--po/ja.po94
-rw-r--r--po/ka.po94
-rw-r--r--po/ko.po114
-rw-r--r--po/libc.pot114
-rw-r--r--po/lt.po66
-rw-r--r--po/nb.po8
-rw-r--r--po/nl.po114
-rw-r--r--po/pl.po114
-rw-r--r--po/pt.po112
-rw-r--r--po/pt_BR.po112
-rw-r--r--po/ro.po114
-rw-r--r--po/ru.po114
-rw-r--r--po/rw.po2
-rw-r--r--po/sk.po78
-rw-r--r--po/sl.po98
-rw-r--r--po/sr.po114
-rw-r--r--po/sv.po114
-rw-r--r--po/tr.po112
-rw-r--r--po/uk.po114
-rw-r--r--po/vi.po114
-rw-r--r--po/zh_CN.po114
-rw-r--r--po/zh_TW.po114
-rw-r--r--posix/tst-execveat.c2
-rw-r--r--posix/tst-truncate-common.c25
-rw-r--r--resolv/Makefile6
-rw-r--r--resolv/res_init.c29
-rw-r--r--resolv/res_send.c74
-rw-r--r--resolv/resolv.h1
-rw-r--r--resolv/tst-resolv-res_init-skeleton.c20
-rw-r--r--resolv/tst-resolv-semi-failure.c142
-rw-r--r--resolv/tst-resolv-short-response.c126
-rwxr-xr-xscripts/build-many-glibcs.py4
-rwxr-xr-xscripts/check-local-headers.sh2
-rw-r--r--scripts/localplt.awk16
-rw-r--r--socket/bits/socket2.h20
-rw-r--r--stdio-common/Makefile43
-rw-r--r--stdio-common/tst-fgets2.c253
-rw-r--r--stdio-common/tst-freopen2-main.c526
-rw-r--r--stdio-common/tst-freopen2.c3
-rw-r--r--stdio-common/tst-freopen3-main.c90
-rw-r--r--stdio-common/tst-freopen3.c2
-rw-r--r--stdio-common/tst-freopen64-2.c3
-rw-r--r--stdio-common/tst-freopen64-3.c2
-rw-r--r--stdio-common/tst-getline-enomem.c78
-rw-r--r--stdio-common/tst-getline.c451
-rw-r--r--stdio-common/tst-renameat2.c2
-rw-r--r--stdio-common/tst-scanf-bz27650.c108
-rw-r--r--stdio-common/tst-ungetc-leak.c32
-rw-r--r--stdio-common/tst-ungetc.c114
-rw-r--r--stdlib/Makefile4
-rw-r--r--stdlib/arc4random.c2
-rw-r--r--stdlib/bits/stdlib.h10
-rw-r--r--stdlib/exit.c10
-rw-r--r--stdlib/gen-tst-strtod-round.c43
-rw-r--r--stdlib/stdlib.h2
-rw-r--r--stdlib/strtod_l.c2
-rw-r--r--stdlib/strtod_nan_main.c3
-rw-r--r--stdlib/tst-concurrent-exit-skeleton.c160
-rw-r--r--stdlib/tst-concurrent-exit.c22
-rw-r--r--stdlib/tst-concurrent-quick_exit.c22
-rw-r--r--stdlib/tst-strtod-round-data12
-rw-r--r--stdlib/tst-strtod-round-data.h15858
-rw-r--r--stdlib/tst-strtod-round-skeleton.c98
-rw-r--r--stdlib/tst-strtod1i.c129
-rw-r--r--stdlib/tst-strtod3.c102
-rw-r--r--stdlib/tst-strtod4.c104
-rw-r--r--stdlib/tst-strtod5i.c158
-rw-r--r--stdlib/tst-swapcontext2.c4
-rw-r--r--stdlib/tst-system.c2
-rw-r--r--string/Makefile6
-rw-r--r--string/strerror_l.c35
-rw-r--r--string/strsignal.c36
-rw-r--r--string/test-Xncmp-nonarray.c183
-rw-r--r--string/test-Xnlen-nonarray.c133
-rw-r--r--string/test-strchr.c65
-rw-r--r--string/test-strncmp-nonarray.c4
-rw-r--r--string/test-strnlen-nonarray.c4
-rw-r--r--support/Makefile13
-rw-r--r--support/check.h5
-rw-r--r--support/file_contents.h63
-rw-r--r--support/support_check_stat_fd.c (renamed from support/support-xfstat.c)11
-rw-r--r--support/support_check_stat_path.c (renamed from support/xlstat.c)9
-rw-r--r--support/support_compare_file_bytes.c (renamed from elf/dl-symaddr.c)37
-rw-r--r--support/support_compare_file_string.c28
-rw-r--r--support/support_format_addrinfo.c1
-rw-r--r--support/support_open_and_compare_file_bytes.c (renamed from support/support-xstat-time64.c)25
-rw-r--r--support/support_open_and_compare_file_string.c32
-rw-r--r--support/support_test_compare_failure.c11
-rw-r--r--support/test-driver.c1
-rw-r--r--support/timespec-add.c1
-rw-r--r--support/timespec-sub.c1
-rw-r--r--support/xstatx.c (renamed from support/support-xstat.c)16
-rw-r--r--support/xunistd.h32
-rw-r--r--sysdeps/aarch64/libm-test-ulps72
-rw-r--r--sysdeps/aarch64/strlen.S39
-rw-r--r--sysdeps/alpha/fpu/libm-test-ulps48
-rw-r--r--sysdeps/arc/fpu/libm-test-ulps64
-rw-r--r--sysdeps/arc/nofpu/libm-test-ulps17
-rw-r--r--sysdeps/arm/libm-test-ulps44
-rw-r--r--sysdeps/generic/dl-fptr.h45
-rw-r--r--sysdeps/generic/ldsodefs.h12
-rw-r--r--sysdeps/generic/mremap-failure.h25
-rw-r--r--sysdeps/generic/syscall_types.h25
-rw-r--r--sysdeps/gnu/Makefile54
-rw-r--r--sysdeps/hppa/dl-fptr.h23
-rw-r--r--sysdeps/hppa/fpu/libm-test-ulps15
-rw-r--r--sysdeps/htl/pt-attr-getdetachstate.c7
-rw-r--r--sysdeps/htl/pt-attr-getinheritsched.c7
-rw-r--r--sysdeps/htl/pt-attr-getschedparam.c7
-rw-r--r--sysdeps/htl/pt-attr-getschedpolicy.c7
-rw-r--r--sysdeps/htl/pt-attr-setdetachstate.c7
-rw-r--r--sysdeps/htl/pt-attr-setinheritsched.c7
-rw-r--r--sysdeps/htl/pt-attr-setschedpolicy.c7
-rw-r--r--sysdeps/htl/pt-equal.c7
-rw-r--r--sysdeps/htl/pt-getschedparam.c7
-rw-r--r--sysdeps/htl/pt-setschedparam.c7
-rw-r--r--sysdeps/htl/pthread.h11
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps78
-rw-r--r--sysdeps/i386/i686/fpu/multiarch/libm-test-ulps76
-rw-r--r--sysdeps/loongarch/dl-machine.h7
-rw-r--r--sysdeps/loongarch/dl-tlsdesc-dynamic.h225
-rw-r--r--sysdeps/loongarch/dl-tlsdesc.S386
-rw-r--r--sysdeps/loongarch/dl-tlsdesc.h4
-rw-r--r--sysdeps/loongarch/lp64/libm-test-ulps72
-rw-r--r--sysdeps/loongarch/tlsdesc.sym9
-rw-r--r--sysdeps/m68k/m680x0/fpu/libm-test-ulps451
-rw-r--r--sysdeps/mach/configure76
-rw-r--r--sysdeps/mach/configure.ac29
-rw-r--r--sysdeps/mach/htl/pt-getname-np.c67
-rw-r--r--sysdeps/mach/htl/pt-setname-np.c52
-rw-r--r--sysdeps/mach/hurd/htl/pt-pthread_self.c10
-rw-r--r--sysdeps/mach/hurd/htl/pt-sysdep.c12
-rw-r--r--sysdeps/mach/hurd/htl/pt-sysdep.h2
-rw-r--r--sysdeps/mach/hurd/i386/libc.abilist10
-rw-r--r--sysdeps/mach/hurd/i386/libpthread.abilist2
-rw-r--r--sysdeps/mach/hurd/x86_64/libpthread.abilist2
-rw-r--r--sysdeps/mach/sleep.c3
-rw-r--r--sysdeps/mips/Makefile9
-rw-r--r--sysdeps/mips/mips32/libm-test-ulps44
-rw-r--r--sysdeps/mips/mips64/libm-test-ulps68
-rw-r--r--sysdeps/nptl/cancellation-pc-check.h54
-rw-r--r--sysdeps/nptl/dl-tls_init_tp.c8
-rw-r--r--sysdeps/nptl/lowlevellock-futex.h20
-rw-r--r--sysdeps/nptl/pthreadP.h11
-rw-r--r--sysdeps/powerpc/fpu/libm-test-ulps94
-rw-r--r--sysdeps/powerpc/nofpu/libm-test-ulps103
-rw-r--r--sysdeps/powerpc/powerpc32/sysdep.h3
-rw-r--r--sysdeps/powerpc/powerpc64/le/power9/strcpy.S276
-rw-r--r--sysdeps/powerpc/powerpc64/sysdep.h19
-rw-r--r--sysdeps/pthread/tst-cancel2.c4
-rw-r--r--sysdeps/pthread/tst-setuid3.c37
-rw-r--r--sysdeps/riscv/rvd/libm-test-ulps72
-rw-r--r--sysdeps/s390/fpu/libm-test-ulps72
-rw-r--r--sysdeps/s390/wcsncmp-vx.S10
-rw-r--r--sysdeps/sh/sysdep.h1
-rw-r--r--sysdeps/sparc/fpu/libm-test-ulps68
-rw-r--r--sysdeps/unix/sysdep.h173
-rw-r--r--sysdeps/unix/sysv/linux/Makefile1
-rw-r--r--sysdeps/unix/sysv/linux/____longjmp_chk.c2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/syscall_cancel.S59
-rw-r--r--sysdeps/unix/sysv/linux/alpha/arch-syscall.h2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/syscall_cancel.S80
-rw-r--r--sysdeps/unix/sysv/linux/arc/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/arc/syscall_cancel.S56
-rw-r--r--sysdeps/unix/sysv/linux/arm/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/arm/syscall_cancel.S78
-rw-r--r--sysdeps/unix/sysv/linux/bits/fcntl-linux.h1
-rw-r--r--sysdeps/unix/sysv/linux/csky/arch-syscall.h3
-rw-r--r--sysdeps/unix/sysv/linux/csky/syscall_cancel.S114
-rw-r--r--sysdeps/unix/sysv/linux/hppa/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/syscall_cancel.S81
-rw-r--r--sysdeps/unix/sysv/linux/i386/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/i386/syscall_cancel.S104
-rw-r--r--sysdeps/unix/sysv/linux/loongarch/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/loongarch/syscall_cancel.S50
-rw-r--r--sysdeps/unix/sysv/linux/m68k/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/syscall_cancel.S84
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S61
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/syscall_cancel.S128
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/sysdep.h4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/syscall_types.h28
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/syscall_cancel.S112
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/sysdep.h52
-rw-r--r--sysdeps/unix/sysv/linux/mremap-failure.h30
-rw-r--r--sysdeps/unix/sysv/linux/mremap.c14
-rw-r--r--sysdeps/unix/sysv/linux/nios2/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/nios2/syscall_cancel.S95
-rw-r--r--sysdeps/unix/sysv/linux/or1k/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/or1k/syscall_cancel.S63
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/cancellation-pc-check.h65
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/syscall_cancel.S86
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/syscall_cancel.S67
-rw-r--r--sysdeps/unix/sysv/linux/rseq-internal.h23
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/syscall_cancel.S62
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/syscall_cancel.S62
-rw-r--r--sysdeps/unix/sysv/linux/sh/arch-syscall.h2
-rw-r--r--sysdeps/unix/sysv/linux/sh/syscall_cancel.S126
-rw-r--r--sysdeps/unix/sysv/linux/socketcall.h35
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/clone.S3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/syscall_cancel.S71
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/clone.S3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/syscall_cancel.S74
-rw-r--r--sysdeps/unix/sysv/linux/syscall-names.list5
-rw-r--r--sysdeps/unix/sysv/linux/syscall_cancel.c73
-rw-r--r--sysdeps/unix/sysv/linux/sysdep-cancel.h12
-rw-r--r--sysdeps/unix/sysv/linux/tst-linux-mremap1.c63
-rw-r--r--sysdeps/unix/sysv/linux/tst-mman-consts.py2
-rwxr-xr-xsysdeps/unix/sysv/linux/tst-mount-consts.py4
-rw-r--r--sysdeps/unix/sysv/linux/tst-pidfd-consts.py2
-rw-r--r--sysdeps/unix/sysv/linux/tst-pkey.c8
-rw-r--r--sysdeps/unix/sysv/linux/tst-rseq-nptl.c9
-rw-r--r--sysdeps/unix/sysv/linux/tst-rseq.c10
-rw-r--r--sysdeps/unix/sysv/linux/tst-skeleton-affinity.c2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/dl-cet.h6
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S57
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/syscall_types.h (renamed from support/xlstat-time64.c)28
-rw-r--r--sysdeps/x86/cpu-features.c59
-rw-r--r--sysdeps/x86/cpu-tunables.c8
-rw-r--r--sysdeps/x86/dl-cacheinfo.h114
-rw-r--r--sysdeps/x86/include/cpu-features-preferred_feature_index_1.def2
-rw-r--r--sysdeps/x86/include/cpu-features.h1
-rw-r--r--sysdeps/x86/tst-hwcap-tunables.c6
-rw-r--r--sysdeps/x86_64/dl-machine.h27
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps96
-rw-r--r--sysdeps/x86_64/multiarch/ifunc-memset.h18
-rw-r--r--sysdeps/x86_64/multiarch/strchr-evex-base.S8
-rw-r--r--sysdeps/x86_64/multiarch/strnlen-evex-base.S462
-rw-r--r--sysdeps/x86_64/multiarch/strnlen-evex.S428
-rw-r--r--sysdeps/x86_64/multiarch/strnlen-evex512.S259
-rw-r--r--sysdeps/x86_64/nptl/tcb-offsets.sym3
-rw-r--r--sysdeps/x86_64/x32/Makefile6
-rw-r--r--sysdeps/x86_64/x32/dl-machine.h76
-rw-r--r--time/Makefile53
-rw-r--r--version.h2
-rw-r--r--wcsmbs/Makefile5
-rw-r--r--wcsmbs/bits/wchar2.h56
-rw-r--r--wcsmbs/test-wcsncmp-nonarray.c5
-rw-r--r--wcsmbs/test-wcsnlen-nonarray.c5
393 files changed, 37540 insertions, 13003 deletions
diff --git a/ChangeLog.old/ChangeLog.29 b/ChangeLog.old/ChangeLog.29
new file mode 100644
index 0000000000..33a8ed3a35
--- /dev/null
+++ b/ChangeLog.old/ChangeLog.29
@@ -0,0 +1,10379 @@
+2024-07-21  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 89d3d815ef6e84935147b683d510bacb0ba4df1d
+	Increase version number to 2.40
+
+	* include/features.h: Modified.
+	(__GLIBC_MINOR__): Modified.
+	* version.h: Modified.
+	(RELEASE): Modified.
+	(VERSION): Modified.
+
+2024-07-21  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 6f14eb1b1768e4b840913fa1e4c9963cd70d46ac
+	po/*: regenerate (only line number changes)
+
+	* po/be.po: Modified.
+	* po/bg.po: Modified.
+	* po/ca.po: Modified.
+	* po/cs.po: Modified.
+	* po/da.po: Modified.
+	* po/de.po: Modified.
+	* po/el.po: Modified.
+	* po/eo.po: Modified.
+	* po/es.po: Modified.
+	* po/fi.po: Modified.
+	* po/fr.po: Modified.
+	* po/gl.po: Modified.
+	* po/hr.po: Modified.
+	* po/hu.po: Modified.
+	* po/ia.po: Modified.
+	* po/id.po: Modified.
+	* po/it.po: Modified.
+	* po/ja.po: Modified.
+	* po/ka.po: Modified.
+	* po/ko.po: Modified.
+	* po/lt.po: Modified.
+	* po/nb.po: Modified.
+	* po/nl.po: Modified.
+	* po/pl.po: Modified.
+	* po/pt.po: Modified.
+	* po/pt_BR.po: Modified.
+	* po/ro.po: Modified.
+	* po/ru.po: Modified.
+	* po/rw.po: Modified.
+	* po/sk.po: Modified.
+	* po/sl.po: Modified.
+	* po/sr.po: Modified.
+	* po/sv.po: Modified.
+	* po/tr.po: Modified.
+	* po/uk.po: Modified.
+	* po/vi.po: Modified.
+	* po/zh_CN.po: Modified.
+	* po/zh_TW.po: Modified.
+
+2024-07-21  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 668e14a304fb7e63dbac11ec2884eb148c9abecf
+	contrib.texi: Fix format of MIPS and RISC-V
+
+	* manual/contrib.texi: Modified.
+
+2024-07-21  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 256574679feb0204ac859367fdbf4d91aff45d0a
+	libc.pot: regenerate (only line number changes)
+
+	* po/libc.pot: Modified.
+
+2024-07-21  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 92eb4a10ae9d997c7a8783f7c3d8b4474b01505a
+	install.texi: bump "latest verified" versions
+
+	* INSTALL: Modified.
+	* manual/install.texi: Modified.
+
+2024-07-20  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: d36b481476c6bcfee565ba3bc17cdc0e66ca70ae
+	NEWS: drop 2.40 section "Changes to build and runtime requirements"
+
+	* NEWS: Modified.
+
+2024-07-20  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 5dc1408bb5351954b7451d516c3520905702f35e
+	contrib.texi: update
+
+	* manual/contrib.texi: Modified.
+
+2024-07-20  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 391d9041f01282d243e7d3cbd272dffea5f2313c
+	NEWS: add fixed security advisories list
+
+	* NEWS: Modified.
+
+2024-07-20  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: ad6e85aad5134a0be633b8a0463ec5e5e31fa945
+	NEWS: add resolved bugs list
+
+	* NEWS: Modified.
+
+2024-07-20  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: fa455c3b5de21ee59b3e997f3b3f6ef3090e862a
+	NEWS: add more major improvements for 2.40
+
+	* NEWS: Modified.
+
+2024-07-19  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: ab5748118f86a82c4a29a7476f6cc0b9c40be926
+	linux: Trivial test output fix in tst-pkey
+
+	* sysdeps/unix/sysv/linux/tst-pkey.c: Modified.
+	(do_test): Modified function.
+
+2024-07-19  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 4f047d9edecb1a9b796a9a904dcd42bd3cc3d3b6
+	elf: Fix localplt.awk for DT_RELR-enabled builds (BZ 31978)
+
+	* scripts/localplt.awk: Modified.
+
+2024-07-19  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 6b7e2e1d6139b1fb61b911ab897a956042bf7f89
+	linux: Also check pkey_get for ENOSYS on tst-pkey (BZ 31996)
+
+	* sysdeps/unix/sysv/linux/tst-pkey.c: Modified.
+	(do_test): Modified function.
+
+2024-07-19  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: e0f7da7235105e0ae807bc701e54a0ea01e0ef9f
+	powerpc: Update soft-fp ulps
+
+	* sysdeps/powerpc/nofpu/libm-test-ulps: Modified.
+
+2024-07-19  John David Anglin  <danglin@gcc.gnu.org>
+
+	COMMIT: 8cfa4ecff21adf226984f135aa576dd8063bbba3
+	Fix usage of _STACK_GROWS_DOWN and _STACK_GROWS_UP defines [BZ 31989]
+
+	* malloc/memusage.c: Modified.
+	(update_data): Modified function.
+	* stdlib/tst-swapcontext2.c: Modified.
+	(do_test): Modified function.
+	* sysdeps/unix/sysv/linux/____longjmp_chk.c: Modified.
+
+2024-07-19  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 91eb62d63887a959e43aafb6fc022a87614dc7c9
+	Adjust check-local-headers test for libaudit 4.0
+
+	* scripts/check-local-headers.sh: Modified.
+
+2024-07-19  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 3c354d62f5c30d32bd553735473e95a8af4f56ec
+	elf: Parse the auxv values as unsigned on tst-tunables-enable_secure-env.c (BZ 31890)
+
+	* elf/tst-tunables-enable_secure-env.c: Modified.
+	[HAVE_AUXV](check_auxv): Modified function.
+
+2024-07-19  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 66f2cd6e1a5a9a0113c9f5c13fb06707fef77fd4
+	x32: xfail elf/tst-platform-1 [BZ #22363]
+
+	* sysdeps/x86_64/x32/Makefile: Modified.
+
+2024-07-19  Xi Ruoyao  <xry111@xry111.site>
+
+	COMMIT: d905183f0bb10c66487a1dbc15fc52107cb164fc
+	elf/tst-rtld-does-not-exist: Pass --inhibit-cache to rtld
+
+	* elf/tst-rtld-does-not-exist.sh: Modified.
+
+2024-07-17  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 910aae6e5a2196938fc30fa54dd1e96f16774ce7
+	Revert "LoongArch: Add cfi instructions for _dl_tlsdesc_dynamic"
+
+	* sysdeps/loongarch/dl-machine.h: Modified.
+	[RESOLVE_MAP](elf_machine_rela): Modified function.
+	* sysdeps/loongarch/dl-tlsdesc-dynamic.h: Delete file.
+	* sysdeps/loongarch/dl-tlsdesc.S: Modified.
+	* sysdeps/loongarch/dl-tlsdesc.h: Modified.
+	[SHARED][! __loongarch_soft_float](_dl_tlsdesc_dynamic_lasx): Remove.
+	[SHARED][! __loongarch_soft_float](_dl_tlsdesc_dynamic_lsx): Remove.
+	* sysdeps/loongarch/tlsdesc.sym: Modified.
+
+2024-07-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	COMMIT: 6ed76f4efc856431cd8511ef881a494a13280653
+	htl: Fix __pthread_init_thread declaration and definition
+
+	* sysdeps/mach/hurd/htl/pt-pthread_self.c: Modified.
+	(libc_hidden_def): New.
+	* sysdeps/mach/hurd/htl/pt-sysdep.h: Modified.
+	(___pthread_init_thread): Remove.
+	(libc_hidden_proto): Modified.
+	(__pthread_init_thread): New.
+
+2024-07-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	COMMIT: 0e75c4a4634f44ad24a65fda01f571781ac79d5f
+	hurd: Fix pthread_self() without libpthread
+
+	* htl/Versions: Modified.
+	* sysdeps/mach/hurd/htl/pt-pthread_self.c: Modified.
+	(___pthread_self): Remove.
+	(pt-internal.h): Include file.
+	(__pthread_init_thread): New.
+	(___pthread_self): New.
+	* sysdeps/mach/hurd/htl/pt-sysdep.c: Modified.
+	(init_thread): Remove.
+	(_init_routine): Modified function.
+	* sysdeps/mach/hurd/htl/pt-sysdep.h: Modified.
+	(___pthread_init_thread): New.
+	(libc_hidden_proto): New.
+
+2024-07-17  mengqinggang  <mengqinggang@loongson.cn>
+
+	COMMIT: 43224b1379d60b1ad98d29ef3d7905d55f828a9f
+	LoongArch: Add cfi instructions for _dl_tlsdesc_dynamic
+
+	* sysdeps/loongarch/dl-machine.h: Modified.
+	[RESOLVE_MAP](elf_machine_rela): Modified function.
+	* sysdeps/loongarch/dl-tlsdesc-dynamic.h: New file.
+	* sysdeps/loongarch/dl-tlsdesc.S: Modified.
+	* sysdeps/loongarch/dl-tlsdesc.h: Modified.
+	[SHARED][! __loongarch_soft_float](_dl_tlsdesc_dynamic_lasx): New.
+	[SHARED][! __loongarch_soft_float](_dl_tlsdesc_dynamic_lsx): New.
+	* sysdeps/loongarch/tlsdesc.sym: Modified.
+
+2024-07-16  Noah Goldstein  <goldstein.w.n@gmail.com>
+
+	COMMIT: 5bcf6265f215326d14dfacdce8532792c2c7f8f8
+	x86: Disable non-temporal memset on Skylake Server
+
+	* sysdeps/x86/cpu-features.c: Modified.
+	(init_cpu_features): Modified function.
+	* sysdeps/x86/cpu-tunables.c: Modified.
+	(TUNABLE_CALLBACK): Modified function.
+	* sysdeps/x86/dl-cacheinfo.h: Modified.
+	(dl_init_cacheinfo): Modified function.
+	* sysdeps/x86/include/cpu-features-preferred_feature_index_1.def: Modified.
+	* sysdeps/x86/tst-hwcap-tunables.c: Modified.
+	(array_length): Modified function.
+
+2024-07-16  Flavio Cruz  <flaviocruz@gmail.com>
+
+	COMMIT: 2dcc908538054377d19571d77a026b9f26d3fd0f
+	Add pthread_getname_np and pthread_setname_np for Hurd
+
+	* config.h.in: Modified.
+	* htl/Makefile: Modified.
+	* htl/Versions: Modified.
+	* sysdeps/htl/pthread.h: Modified.
+	[__USE_GNU](pthread_getname_np): New function.
+	[__USE_GNU](pthread_setname_np): New function.
+	* sysdeps/mach/configure: Modified.
+	* sysdeps/mach/configure.ac: Modified.
+	* sysdeps/mach/htl/pt-getname-np.c: New file.
+	* sysdeps/mach/htl/pt-setname-np.c: New file.
+	* sysdeps/mach/hurd/i386/libpthread.abilist: Modified.
+	* sysdeps/mach/hurd/x86_64/libpthread.abilist: Modified.
+
+2024-07-14  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: a11e15ea0ab1ee8a1947b6be52beca53693f0991
+	math: Update alpha ulps
+
+	* sysdeps/alpha/fpu/libm-test-ulps: Modified.
+
+2024-07-13  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	COMMIT: c8b4ce0b368115714bd4cce131e1683759471099
+	hurd: Fix restoring message to be retried
+
+	* hurd/intr-msg.c: Modified.
+	(_hurd_intr_rpc_mach_msg): Modified function.
+
+2024-07-12  Maciej W. Rozycki  <macro@redhat.com>
+
+	COMMIT: 4b2a1b602fc1ade0de85084feb328203be3147c9
+	nptl: Convert tst-sem11 and tst-sem12 tests to use the test driver
+
+	* nptl/tst-sem11.c: Modified.
+	(tf): Modified function.
+	(main): Remove function.
+	(do_test): New function.
+	(support/test-driver.c): Include file.
+	* nptl/tst-sem12.c: Modified.
+	(PREPARE): Remove.
+	(TF_PREPARE): New.
+
+2024-07-12  Maciej W. Rozycki  <macro@redhat.com>
+
+	COMMIT: 9d8995833e463cd675cc8bd40036d7d1412fdd1b
+	nptl: Add copyright notice tst-sem11 and tst-sem12 tests
+
+	* nptl/tst-sem11.c: Modified.
+	* nptl/tst-sem12.c: Modified.
+
+2024-07-12  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: ef7005628f24afaf66cfcdeaac47a57b41177467
+	tests: XFAIL audit tests failing on all mips configurations, bug 29404
+
+	* sysdeps/mips/Makefile: Modified.
+
+2024-07-12  Samuel Dobron  <sdobron@redhat.com>
+
+	COMMIT: 255df9299f544ad9e027e0c8d6b65b0635c59f8c
+	time/Makefile: Split and sort tests
+
+	* time/Makefile: Modified.
+
+2024-07-11  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: 9b7651410375ec8848a1944992d663d514db4ba7
+	s390x: Fix segfault in wcsncmp [BZ #31934]
+
+	* sysdeps/s390/wcsncmp-vx.S: Modified.
+
+2024-07-09  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 2e456ccf0c34a056e3ccafac4a0c7effef14d918
+	Linux: Make __rseq_size useful for feature detection (bug 31965)
+
+	* NEWS: Modified.
+	* manual/threads.texi: Modified.
+	* sysdeps/nptl/dl-tls_init_tp.c: Modified.
+	(_rseq_size): Remove.
+	(_rseq_offset): Remove.
+	(__tls_init_tp): Modified function.
+	* sysdeps/unix/sysv/linux/rseq-internal.h: Modified.
+	[RSEQ_SIG](rseq_register_current_thread): Modified function.
+	(RSEQ_AREA_SIZE_INITIAL): New.
+	(RSEQ_AREA_SIZE_INITIAL_USED): New.
+	(_rseq_size): New.
+	(_rseq_offset): New.
+	* sysdeps/unix/sysv/linux/tst-rseq.c: Modified.
+	[RSEQ_SIG](do_rseq_main_test): Modified function.
+	[RSEQ_SIG](do_rseq_test): Modified function.
+	[RSEQ_SIG](sys/auxv.h): Include file.
+
+2024-07-09  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 7e7f35278cf5980f6eb1ddd384217a04a5293bc8
+	po: incorporate translations (bg)
+
+	* po/bg.po: Modified.
+
+2024-07-09  DJ Delorie  <dj@redhat.com>
+
+	COMMIT: 6c0be74305745c8f78bcfb69442c8c379459d99b
+	manual: add syscalls
+
+	* config.make.in: Modified.
+	* configure: Modified.
+	* configure.ac: Modified.
+	* manual/Makefile: Modified.
+	* manual/intro.texi: Modified.
+	* manual/llio.texi: Modified.
+	* manual/macros.texi: Modified.
+	* manual/socket.texi: Modified.
+	* manual/startup.texi: Modified.
+
+2024-07-09  Andreas Schwab  <schwab@suse.de>
+
+	COMMIT: 2213b37b705843908355a89648017f4e597b2bbb
+	libio: handle opening a file when all files are closed (bug 31963)
+
+	* libio/Makefile: Modified.
+	* libio/genops.c: Modified.
+	(_IO_link_in): Modified function.
+	* libio/tst-closeall.c: New file.
+
+2024-07-08  Adam Sampson  <ats@offog.org>
+
+	COMMIT: 895294e51d33039c1e718d2be88a9863670ac4d6
+	ldconfig: Ignore all GDB extension files
+
+	* elf/readlib.c: Modified.
+	(is_gdb_python_file): Remove function.
+	(process_file): Modified function.
+	(is_gdb_extension_file): New function.
+
+2024-07-08  Adam Sampson  <ats@offog.org>
+
+	COMMIT: ed2b8d3a866eb37e069f6a71bdf10421cd4c5e54
+	ldconfig: Move endswithn into a new header file
+
+	* elf/endswith.h: New file.
+	* elf/ldconfig.c: Modified.
+	(endswithn): Remove function.
+	(endswith.h): Include file.
+	* elf/readlib.c: Modified.
+	(is_gdb_python_file): Modified function.
+	(endswith.h): Include file.
+
+2024-07-08  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: ab6045728f9f99729b8bdd07c3e2a6aba586794e
+	math: Update m68k ULPs
+
+	* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Modified.
+
+2024-07-08  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 184b9e530e6326e668709826903b6d30dc6cac3f
+	stdlib: fix arc4random fallback to /dev/urandom (BZ 31612)
+
+	* stdlib/arc4random.c: Modified.
+	(__arc4random_buf): Modified function.
+
+2024-07-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 9fc639f654dc004736836613be703e6bed0c36a8
+	elf: Make dl-rseq-symbols Linux only
+
+	* elf/Makefile: Modified.
+	* sysdeps/unix/sysv/linux/Makefile: Modified.
+	* elf/dl-rseq-symbols.S: Move to...
+	* sysdeps/unix/sysv/linux/dl-rseq-symbols.S: ... here.
+
+2024-07-03  Michael Jeanson  <mjeanson@efficios.com>
+
+	COMMIT: 2b92982e2369d292560793bee8e730f695f48ff3
+	nptl: fix potential merge of __rseq_* relro symbols
+
+	* elf/Makefile: Modified.
+	* elf/dl-rseq-symbols.S: New file.
+	* sysdeps/nptl/dl-tls_init_tp.c: Modified.
+	(__rseq_size): Remove.
+	(__rseq_offset): Remove.
+	(__tls_init_tp): Modified function.
+	(_rseq_size): New.
+	(_rseq_offset): New.
+
+2024-07-03  Darius Rad  <darius@bluespec.com>
+
+	COMMIT: b85a23d736b31df3284ce0018357a9cea534d6ff
+	riscv: Update nofpu libm test ulps
+
+	* sysdeps/riscv/nofpu/libm-test-ulps: Modified.
+
+2024-07-03  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 7dde7f82d9826538c99637626228ebbda9e76f47
+	manual: Recommendations for dynamic linker hardening
+
+	* manual/dynlink.texi: Modified.
+
+2024-07-03  Sergey Kolosov  <skolosov@redhat.com>
+
+	COMMIT: 50f5a09e68e0c4ea60f5dfee3cc6963df2762e14
+	socket: Add new test for shutdown
+
+	* socket/Makefile: Modified.
+	* socket/tst-shutdown.c: New file.
+
+2024-07-03  Stefan Liebler  <stli@linux.ibm.com>
+            Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: d2f6ceaccbae2f645075dedad2b762896da1ec04
+	elf/rtld: Fix auxiliary vector for enable_secure
+
+	* elf/Makefile: Modified.
+	* elf/rtld.c: Modified.
+	(_dl_start_args_adjust): Modified function.
+	* elf/tst-tunables-enable_secure-env.c: Modified.
+	(do_test): Modified function.
+	[! __linux__](HAVE_AUXV): New.
+	[HAVE_AUXV](check_auxv): New.
+	[__linux__](HAVE_AUXV): New.
+	[__linux__](sys/auxv.h): New.
+	(array_length.h): Include file.
+	(errno.h): Include file.
+	(getopt.h): Include file.
+	(intprops.h): Include file.
+	(stdlib.h): Include file.
+	(CMDLINE_OPTIONS): New.
+	(restart): New.
+	(spargs): New.
+	(handle_restart): New function.
+
+2024-07-02  John David Anglin  <danglin@gcc.gnu.org>
+
+	COMMIT: 4737e6a7a3f98c8e2674e313cb09d7882583f5f0
+	hppa/vdso: Provide 64-bit clock_gettime() vDSO only
+
+	* sysdeps/unix/sysv/linux/hppa/sysdep.h: Modified.
+	[! __ASSEMBLER__][! __LP64__](HAVE_CLOCK_GETTIME_VSYSCALL): Remove.
+	[! __ASSEMBLER__][! __LP64__](HAVE_GETTIMEOFDAY_VSYSCALL): Remove.
+	[! __ASSEMBLER__][__LP64__](HAVE_GETTIMEOFDAY_VSYSCALL): Remove.
+
+2024-07-02  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 9f80d8134a15235732586e238ac28cea459fb60b
+	debug: Fix clang open fortify wrapper (BZ 31927)
+
+	* io/bits/fcntl2.h: Modified.
+	[__fortify_use_clang](open): Remove.
+	[__fortify_use_clang](open): Modified function.
+
+2024-07-02  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: ba144c179eb12a6aff145582671cbb8b1045c5b9
+	Add --disable-static-c++-tests option [BZ #31797]
+
+	* INSTALL: Modified.
+	* configure: Modified.
+	* configure.ac: Modified.
+	* manual/install.texi: Modified.
+	* nptl/Makefile: Modified.
+
+2024-07-02  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 23f12e6e0c95aaf8b5b4973d029db794a43f248a
+	Add --disable-static-c++-link-check option [BZ #31412]
+
+	* INSTALL: Modified.
+	* configure: Modified.
+	* configure.ac: Modified.
+	* manual/install.texi: Modified.
+
+2024-07-01  DJ Delorie  <dj@redhat.com>
+
+	COMMIT: dce754b1553b86fc6352636f1fa490a85b7cf0ff
+	Update mmap() flags and errors lists
+
+	* manual/llio.texi: Modified.
+
+2024-07-01  YunQiang Su  <syq@gcc.gnu.org>
+
+	COMMIT: 9d0e9c8a138fe25e58fdfc21c2e000425579d9a8
+	MIPSr6/math: Use builtin fma and fmaf
+
+	* sysdeps/mips/fpu/math-use-builtins-fma.h: New file.
+
+2024-07-01  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 018f0fc3b818d4d1460a4e2384c24802504b1d20
+	elf: Support recursive use of dynamic TLS in interposed malloc
+
+	* elf/Makefile: Modified.
+	* elf/dl-tls.c: Modified.
+	[SHARED](allocate_dtv_entry): Modified function.
+	[SHARED](_dl_update_slotinfo): Modified function.
+	[SHARED](__tls_get_addr): Modified function.
+	(_dl_allocate_tls_storage): Modified function.
+	(_dl_resize_dtv): Modified function.
+	(_dl_add_to_slotinfo): Modified function.
+	(_dl_tls_threads_in_update): New.
+	(_dl_tls_allocate_begin): New function.
+	(_dl_tls_allocate_end): New function.
+	(_dl_tls_allocate_active): New function.
+	(_dl_tls_initial_modid_limit): New.
+	(_dl_tls_initial_modid_limit_setup): New function.
+	* elf/rtld.c: Modified.
+	(init_tls): Modified function.
+	* elf/tst-recursive-tls.c: New file.
+	* elf/tst-recursive-tlsmallocmod.c: New file.
+	* elf/tst-recursive-tlsmodN.c: New file.
+	* sysdeps/generic/ldsodefs.h: Modified.
+	(_dl_tls_initial_modid_limit): New.
+	(_dl_tls_initial_modid_limit_setup): New function.
+	(_dl_tls_threads_in_update): New.
+	* sysdeps/x86_64/dl-tls.c: Modified.
+	[SHARED](__tls_get_addr_slow): Modified function.
+
+2024-07-01  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: a7fe3e805d2ee128ac5f43b2a24201726d41cc04
+	Fix conditionals on mtrace-based tests (bug 31892)
+
+	* catgets/Makefile: Modified.
+	* elf/Makefile: Modified.
+	* libio/Makefile: Modified.
+	* misc/Makefile: Modified.
+	* nptl/Makefile: Modified.
+	* posix/Makefile: Modified.
+	* stdio-common/Makefile: Modified.
+
+2024-07-01  Michel Lind  <michel@michel-slm.name>
+
+	COMMIT: 4f7eb238d0da989a9deb50e9cd441cca895957dc
+	signal/Makefile: Split and sort tests
+
+	* signal/Makefile: Modified.
+
+2024-06-30  MayShao-oc  <MayShao-oc@zhaoxin.com>
+
+	COMMIT: 9dc645cb569af8db58dab2a1b296421f29c0cd4f
+	x86: Set default non_temporal_threshold for Zhaoxin processors
+
+	* sysdeps/x86/cpu-features.c: Modified.
+	(init_cpu_features): Modified function.
+	* sysdeps/x86/dl-cacheinfo.h: Modified.
+	(dl_init_cacheinfo): Modified function.
+
+2024-06-30  MayShao-oc  <MayShao-oc@zhaoxin.com>
+
+	COMMIT: c19457aec67da28a3f78badef53556cd55640a6e
+	x86_64: Optimize large size copy in memmove-ssse3
+
+	* sysdeps/x86_64/multiarch/memmove-ssse3.S: Modified.
+
+2024-06-30  MayShao-oc  <MayShao-oc@zhaoxin.com>
+
+	COMMIT: 44d757eb9f4484dbc3aa32042ab64cdf9374e093
+	x86: Set preferred CPU features on the KH-40000 and KX-7000 Zhaoxin processors
+
+	* sysdeps/x86/cpu-features.c: Modified.
+	(init_cpu_features): Modified function.
+
+2024-06-30  Andrew Pinski  <quic_apinski@quicinc.com>
+
+	COMMIT: 2f1f7a5f8aa7285e9a55b209dd01fdcb0d4e7281
+	Aarch64: Add new memset for Qualcomm's oryon-1 core
+
+	* sysdeps/aarch64/multiarch/Makefile: Modified.
+	* sysdeps/aarch64/multiarch/ifunc-impl-list.c: Modified.
+	(__libc_ifunc_impl_list): Modified function.
+	* sysdeps/aarch64/multiarch/memset.c: Modified.
+	(__typeof): Modified function.
+	(__memset_oryon1): New.
+	* sysdeps/aarch64/multiarch/memset_oryon1.S: New file.
+
+2024-06-30  Andrew Pinski  <quic_apinski@quicinc.com>
+
+	COMMIT: 4dc83cac78a92a99cdd1ae808890083461597b82
+	Aarch64: Add memcpy for qualcomm's oryon-1 core
+
+	* sysdeps/aarch64/cpu-features.h: Modified.
+	(IS_ORYON1): New.
+	* sysdeps/aarch64/multiarch/Makefile: Modified.
+	* sysdeps/aarch64/multiarch/ifunc-impl-list.c: Modified.
+	(__libc_ifunc_impl_list): Modified function.
+	* sysdeps/aarch64/multiarch/memcpy.c: Modified.
+	(__typeof): Modified function.
+	(__memcpy_oryon1): New.
+	* sysdeps/aarch64/multiarch/memcpy_oryon1.S: New file.
+
+2024-06-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 4228baef1a94e8bde84ad74f2e0358120a2bcac7
+	debug: Fix clang open fortify wrapper (BZ 31927)
+
+	* io/bits/fcntl2.h: Modified.
+	[__fortify_use_clang](open): Modified.
+
+2024-06-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: c5579f3a713a631c4b5e2e3788ec715fbffd5af6
+	debug: Fix clang mq_open fortify wrapper (BZ 31917)
+
+	* rt/bits/mqueue2.h: Modified.
+	[__fortify_use_clang](__NTH): Modified.
+	[__fortify_use_clang](__NTH): Remove.
+	[__fortify_use_clang](__NTH): Modified function.
+	[__fortify_use_clang](__NTH): Modified function.
+
+2024-06-27  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: c0f21e073d45670cb54811b07fce8e612a91f107
+	tests-mbwc: Silence gcc 14 -Werror=format-overflow=
+
+	* localedata/tests-mbwc/tsp_common.c: Modified.
+	(MAX_RESULT_REC): Remove.
+	(result_rec): Remove.
+	(result): Modified function.
+
+2024-06-27  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 21738846a19eb4a36981efd37d9ee7cb6d687494
+	time: Avoid memcmp overread in tzset (bug 31931)
+
+	* time/Makefile: Modified.
+	* time/tst-tzfile-fault.c: New file.
+	* time/tzfile.c: Modified.
+	(__tzfile_read): Modified function.
+
+2024-06-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: b79238db4ac7b8e710c8cab4307ce6cb1c3937d8
+	Fix strnlen doc re array size
+
+	* manual/string.texi: Modified.
+
+2024-06-26  Palmer Dabbelt  <palmer@rivosinc.com>
+
+	COMMIT: 07fe71f59b13bbc336ece3ec9ef94dd95c9e0511
+	arm: Avoid UB in elf_machine_rel()
+
+	* sysdeps/arm/dl-machine.h: Modified.
+	[RESOLVE_MAP](elf_machine_rel): Modified function.
+
+2024-06-26  mengqinggang  <mengqinggang@loongson.cn>
+
+	COMMIT: a10b6ad471d7b528149f5ff32eef2f1c1dc1213c
+	LoongArch: Fix tst-gnu2-tls2 test case
+
+	* sysdeps/loongarch/tst-gnu2-tls2.h: Modified.
+	[! __loongarch_soft_float][HAVE_LOONGARCH_VEC_COM](SAVE_REGISTER_LSX): Modified.
+	[! __loongarch_soft_float][HAVE_LOONGARCH_VEC_COM](SAVE_REGISTER_LASX): Modified.
+	[! __loongarch_soft_float](SAVE_REGISTER_FCC): Modified.
+	[! __loongarch_soft_float](LOAD_REGISTER_FCSR): Remove.
+	[! __loongarch_soft_float](SAVE_REGISTER_FCSR): Modified.
+	[! __loongarch_soft_float](INIT_TLSDESC_CALL): Remove.
+	[! __loongarch_soft_float](LOAD_REGISTER_FLOAT): Modified.
+	[! __loongarch_soft_float](SAVE_REGISTER_FLOAT): Modified.
+	[! __loongarch_soft_float](BEFORE_TLSDESC_CALL): Modified.
+	[! __loongarch_soft_float](AFTER_TLSDESC_CALL): Modified.
+	[! __loongarch_soft_float](_next <tst-gnu2-tls2.h): Include file.
+	(_next <tst-gnu2-tls2.h): Remove include.
+	(stdio.h): Include file.
+
+2024-06-25  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: c90cfce849d010474e8cccf3e5bff49a2c8b141f
+	posix: Fix pidfd_spawn/pidfd_spawnp leak if execve fails (BZ 31695)
+
+	* posix/tst-spawn2.c: Modified.
+	(do_test): Modified function.
+	(support/descriptors.h): Include file.
+	* sysdeps/unix/sysv/linux/spawni.c: Modified.
+	(__spawnix): Modified function.
+
+2024-06-25  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 17a293c5fab878a0b59e31047f49833f156bdeef
+	INSTALL: regenerate
+
+	* INSTALL: Modified.
+
+2024-06-25  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: d32c34242571d5c2a9c61bbd43926b774e15b80c
+	Revert "MIPSr6/math: Use builtin fma and fmaf"
+
+	* sysdeps/mips/fpu/math-use-builtins-fma.h: Delete file.
+
+2024-06-24  Joe Simmons-Talbott  <josimmon@redhat.com>
+
+	COMMIT: 5d1007a81a7f515caca6e59a338e950aca52948a
+	INSTALL: Fix typo ibmlondouble to ibmlongdouble
+
+	* manual/install.texi: Modified.
+
+2024-06-24  Christoph Müllner  <christoph.muellner@vrull.eu>
+
+	COMMIT: 81c7f6193ce66480b2a29a5b2c66a7356e743308
+	RISC-V: Execute a PAUSE hint in spin loops
+
+	* sysdeps/unix/sysv/linux/riscv/atomic-machine.h: Modified.
+	(atomic_spin_nop): New.
+
+2024-06-24  YunQiang Su  <syq@gcc.gnu.org>
+
+	COMMIT: 9e06e4a43b58519991acbed1d7f33abc40249226
+	MIPSr6/math: Use builtin fma and fmaf
+
+	* sysdeps/mips/fpu/math-use-builtins-fma.h: New file.
+
+2024-06-24  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 6f8c0dca8c9b76db4c1621247259bd6ec7ecb9cf
+	po: incorporate translations (cs, de, hr, ko, pl, ro, ru, sv, uk, zh_CN)
+
+	* po/be.po: Modified.
+	* po/bg.po: Modified.
+	* po/ca.po: Modified.
+	* po/cs.po: Modified.
+	* po/da.po: Modified.
+	* po/de.po: Modified.
+	* po/el.po: Modified.
+	* po/eo.po: Modified.
+	* po/es.po: Modified.
+	* po/fi.po: Modified.
+	* po/fr.po: Modified.
+	* po/gl.po: Modified.
+	* po/hr.po: Modified.
+	* po/hu.po: Modified.
+	* po/ia.po: Modified.
+	* po/id.po: Modified.
+	* po/it.po: Modified.
+	* po/ja.po: Modified.
+	* po/ka.po: Modified.
+	* po/ko.po: Modified.
+	* po/lt.po: Modified.
+	* po/nb.po: Modified.
+	* po/nl.po: Modified.
+	* po/pl.po: Modified.
+	* po/pt.po: Modified.
+	* po/pt_BR.po: Modified.
+	* po/ro.po: Modified.
+	* po/ru.po: Modified.
+	* po/rw.po: Modified.
+	* po/sk.po: Modified.
+	* po/sl.po: Modified.
+	* po/sr.po: Modified.
+	* po/sv.po: Modified.
+	* po/tr.po: Modified.
+	* po/uk.po: Modified.
+	* po/vi.po: Modified.
+	* po/zh_CN.po: Modified.
+	* po/zh_TW.po: Modified.
+
+2024-06-24  Andreas Schwab  <schwab@suse.de>
+
+	COMMIT: 2a6c922f09e7a1c206e0cbdb4424f1cf101a5bda
+	mtrace: make shell commands robust against meta characters
+
+	* malloc/mtrace.pl: Modified.
+
+2024-06-23  John David Anglin  <danglin@gcc.gnu.org>
+
+	COMMIT: aecde502e9bb20a30b0f111b5a690af1746b78ef
+	hppa/vdso: Add wrappers for vDSO functions
+
+	* sysdeps/unix/sysv/linux/hppa/sysdep.h: Modified.
+	[! __ASSEMBLER__][! __LP64__](HAVE_CLOCK_GETTIME_VSYSCALL): New.
+	[! __ASSEMBLER__][! __LP64__](HAVE_CLOCK_GETTIME64_VSYSCALL): New.
+	[! __ASSEMBLER__][! __LP64__](HAVE_GETTIMEOFDAY_VSYSCALL): New.
+	[! __ASSEMBLER__][__LP64__](HAVE_CLOCK_GETTIME_VSYSCALL): New.
+	[! __ASSEMBLER__][__LP64__](HAVE_GETTIMEOFDAY_VSYSCALL): New.
+	[! __ASSEMBLER__](VDSO_NAME): New.
+	[! __ASSEMBLER__](VDSO_HASH): New.
+
+2024-06-23  John David Anglin  <danglin@gcc.gnu.org>
+
+	COMMIT: 9dddb2695443afea3cdb7f3856f23b6d045311fc
+	Update hppa libm-test-ulps
+
+	* sysdeps/hppa/fpu/libm-test-ulps: Modified.
+
+2024-06-21  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	COMMIT: 5aa2f79691ca6a40a59dfd4a2d6f7baff6917eb7
+	Benchtests: Remove broken walk benchmarks
+
+	* benchtests/Makefile: Modified.
+	* benchtests/bench-bzero-walk.c: Delete file.
+	* benchtests/bench-memcpy-walk.c: Delete file.
+	* benchtests/bench-memmove-walk.c: Delete file.
+	* benchtests/bench-memset-walk.c: Delete file.
+	* benchtests/bench-memset-zero-walk.c: Delete file.
+
+2024-06-20  John David Anglin  <danglin@gcc.gnu.org>
+
+	COMMIT: da61ba3f8930e9b39fe35f88cb2ed4bc4571e598
+	Update hppa libm-test-ulps
+
+	* sysdeps/hppa/fpu/libm-test-ulps: Modified.
+
+2024-06-20  Julian Zhu  <jz531210@gmail.com>
+
+	COMMIT: 9f2bf0e23a95d8d7268683c65b867c2ddcc22651
+	RISC-V: Update ulps
+
+	* sysdeps/riscv/rvd/libm-test-ulps: Modified.
+
+2024-06-20  Julian Zhu  <jz531210@gmail.com>
+
+	COMMIT: cb20e7c7cc3bf6344edd77008528b2b386cb37c2
+	MIPS: Update ulps
+
+	* sysdeps/mips/mips32/libm-test-ulps: Modified.
+	* sysdeps/mips/mips64/libm-test-ulps: Modified.
+
+2024-06-20  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: dd144dce21c864781fade4561581d50fb4549956
+	malloc: Replace shell/Perl gate in mtrace
+
+	* malloc/mtrace.pl: Modified.
+
+2024-06-20  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: b375e597da3139b40f7c0ba959a6800f5b8971d5
+	i386: Update ulps
+
+	* sysdeps/i386/fpu/libm-test-ulps: Modified.
+
+2024-06-20  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 362588f7cc56354b3566a14dfbeb55ad74a9bd31
+	s390x: Capture grep output in static PIE check
+
+	* sysdeps/s390/s390-64/configure: Modified.
+	* sysdeps/s390/s390-64/configure.ac: Modified.
+
+2024-06-20  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 71dafdf5f19dd2b0729e4774149944911a405bc6
+	powerpc: Update ulps
+
+	* sysdeps/powerpc/fpu/libm-test-ulps: Modified.
+
+2024-06-20  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 3cb77b7d1e73333a590d206f538b2e5726fb558e
+	i386: Update ulps
+
+	* sysdeps/i386/fpu/libm-test-ulps: Modified.
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Modified.
+
+2024-06-20  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 086910fc41655152812b515dc324d2ac0dc36e67
+	malloc: Always install mtrace (bug 31892)
+
+	* malloc/Makefile: Modified.
+	* malloc/mtrace.pl: Modified.
+
+2024-06-19  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: da905bb706672c84130226bfff9de7d6ba1f0eb6
+	Translations: Regenerate libc.pot
+
+	* po/libc.pot: Modified.
+
+2024-06-19  Xi Ruoyao  <xry111@xry111.site>
+
+	COMMIT: 9405d54c627948ff607154c41e32174f4eed49c5
+	LoongArch: Update ulps
+
+	* sysdeps/loongarch/lp64/libm-test-ulps: Modified.
+
+2024-06-19  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 4f1cf0c0e1764bd77235b07ff63631e866939ec6
+	sparc: Regenerate ULPs
+
+	* sysdeps/sparc/fpu/libm-test-ulps: Modified.
+
+2024-06-19  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: 19f6d6a480b29912022184f31f11dbf1c201a86b
+	s390x: Regenerate ULPs.
+
+	* sysdeps/s390/fpu/libm-test-ulps: Modified.
+
+2024-06-19  mengqinggang  <mengqinggang@loongson.cn>
+
+	COMMIT: 9a675d998ea1b37d5fc40611b015cc5c595d375c
+	LoongArch: Fix _dl_tlsdesc_dynamic in LSX case
+
+	* sysdeps/loongarch/dl-tlsdesc.S: Modified.
+
+2024-06-18  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 92341e31502865a0ab1f28e2240df20d19371832
+	arm: Update ulps
+
+	* sysdeps/arm/libm-test-ulps: Modified.
+
+2024-06-18  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 45f5f51b85f23fe724f4dfd10048de00d86470fe
+	aarch64: Update ulps
+
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+
+2024-06-18  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 52b397bafa9e6a23b6b50c56617fea2b0bf1f445
+	powerpc: Update ulps
+
+	* sysdeps/powerpc/fpu/libm-test-ulps: Modified.
+
+2024-06-18  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: f6ea5d1291cf3f264514d03872ebae84e0293b69
+	Linux: Include <dl-symbol-redir-ifunc.h> in dl-sysdep.c
+
+	* sysdeps/unix/sysv/linux/dl-sysdep.c: Modified.
+	(dl-symbol-redir-ifunc.h): Include file.
+
+2024-06-18  Carlos Llamas  <cmllamas@google.com>
+
+	COMMIT: 176671f6042912200ea9733bb6cc8212e06bc85e
+	linux: add definitions for hugetlb page size encodings
+
+	* sysdeps/unix/sysv/linux/bits/mman-linux.h: Modified.
+	(MAP_HUGE_16KB): New.
+	(MAP_HUGE_64KB): New.
+	(MAP_HUGE_512KB): New.
+	(MAP_HUGE_1MB): New.
+	(MAP_HUGE_2MB): New.
+	(MAP_HUGE_8MB): New.
+	(MAP_HUGE_16MB): New.
+	(MAP_HUGE_32MB): New.
+	(MAP_HUGE_256MB): New.
+	(MAP_HUGE_512MB): New.
+	(MAP_HUGE_1GB): New.
+	(MAP_HUGE_2GB): New.
+	(MAP_HUGE_16GB): New.
+	* sysdeps/unix/sysv/linux/bits/shm.h: Modified.
+	[__USE_MISC](SHM_HUGE_SHIFT): New.
+	[__USE_MISC](SHM_HUGE_MASK): New.
+	[__USE_MISC](SHM_HUGE_16KB): New.
+	[__USE_MISC](SHM_HUGE_64KB): New.
+	[__USE_MISC](SHM_HUGE_512KB): New.
+	[__USE_MISC](SHM_HUGE_1MB): New.
+	[__USE_MISC](SHM_HUGE_2MB): New.
+	[__USE_MISC](SHM_HUGE_8MB): New.
+	[__USE_MISC](SHM_HUGE_16MB): New.
+	[__USE_MISC](SHM_HUGE_32MB): New.
+	[__USE_MISC](SHM_HUGE_256MB): New.
+	[__USE_MISC](SHM_HUGE_512MB): New.
+	[__USE_MISC](SHM_HUGE_1GB): New.
+	[__USE_MISC](SHM_HUGE_2GB): New.
+	[__USE_MISC](SHM_HUGE_16GB): New.
+	* sysdeps/unix/sysv/linux/tst-mman-consts.py: Modified.
+
+2024-06-18  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: e260ceb4aa85dfde1280a80bd6373b11b43266af
+	elf: Remove HWCAP_IMPORTANT
+
+	* elf/dl-diagnostics.c: Modified.
+	(_dl_print_diagnostics): Modified function.
+	* sysdeps/alpha/dl-procinfo.h: Modified.
+	(HWCAP_IMPORTANT): Remove.
+	* sysdeps/csky/dl-procinfo.h: Modified.
+	(HWCAP_IMPORTANT): Remove.
+	* sysdeps/generic/dl-procinfo.h: Modified.
+	(HWCAP_IMPORTANT): Remove.
+	* sysdeps/mips/dl-procinfo.h: Modified.
+	(HWCAP_IMPORTANT): Remove.
+	* sysdeps/powerpc/dl-procinfo.h: Modified.
+	(HWCAP_IMPORTANT): Remove.
+	* sysdeps/s390/dl-procinfo.h: Modified.
+	(HWCAP_IMPORTANT): Remove.
+	* sysdeps/sparc/dl-procinfo.h: Modified.
+	(bits/wordsize.h): Remove include.
+	(HWCAP_IMPORTANT_V9): Remove.
+	(HWCAP_IMPORTANT): Remove.
+	* sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h: Modified.
+	(HWCAP_IMPORTANT): Remove.
+	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Modified.
+	(HWCAP_IMPORTANT): Remove.
+	* sysdeps/x86/dl-hwcap.h: Modified.
+	[! __x86_64__](HWCAP_IMPORTANT): Remove.
+	[IS_IN (ldconfig)](HWCAP_IMPORTANT): Remove.
+	[__x86_64__](HWCAP_IMPORTANT): Remove.
+
+2024-06-18  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: ad0aa1f54975bd20e30559930ea48a3568441ff4
+	elf: Remove LD_HWCAP_MASK / tunable glibc.cpu.hwcap_mask
+
+	* elf/dl-tunables.list: Modified.
+	* elf/tst-env-setuid.c: Modified.
+	* manual/README.tunables: Modified.
+	* manual/tunables.texi: Modified.
+	* sysdeps/generic/unsecvars.h: Modified.
+	(UNSECURE_ENVVARS): Modified.
+	* sysdeps/sparc/sparc32/dl-machine.h: Modified.
+	[! dl_machine_h](elf_machine_matches_host): Modified function.
+
+2024-06-18  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: 343439a31ed1f07da307037b2c92b8ab3367c05c
+	elf: Remove _DL_PLATFORMS_COUNT
+
+	* sysdeps/alpha/dl-procinfo.h: Modified.
+	(_DL_PLATFORMS_COUNT): Remove.
+	* sysdeps/csky/dl-procinfo.h: Modified.
+	(_DL_PLATFORMS_COUNT): Remove.
+	* sysdeps/mips/dl-procinfo.h: Modified.
+	(_DL_PLATFORMS_COUNT): Remove.
+	* sysdeps/powerpc/dl-procinfo.h: Modified.
+	(_DL_PLATFORMS_COUNT): Remove.
+	* sysdeps/s390/dl-procinfo.h: Modified.
+	(_DL_PLATFORMS_COUNT): Remove.
+	* sysdeps/x86/dl-hwcap.h: Modified.
+	[! __x86_64__](HWCAP_PLATFORMS_START): Remove.
+	[! __x86_64__](HWCAP_PLATFORMS_COUNT): Remove.
+	[IS_IN (ldconfig)](HWCAP_PLATFORMS_START): Remove.
+	[IS_IN (ldconfig)](HWCAP_PLATFORMS_COUNT): Remove.
+	[__x86_64__](HWCAP_PLATFORMS_START): Remove.
+	[__x86_64__](HWCAP_PLATFORMS_COUNT): Remove.
+	* sysdeps/x86/dl-procinfo.c: Modified.
+	* sysdeps/x86/dl-procinfo.h: Modified.
+	(_DL_PLATFORMS_COUNT): Remove.
+	* sysdeps/x86_64/dl-procruntime.c: Modified.
+
+2024-06-18  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: 43c7c5e62dbd7bf6c17f4688fb5f4990ae49e7fb
+	elf: Remove _DL_FIRST_PLATFORM
+
+	* sysdeps/s390/dl-procinfo.h: Modified.
+	(_DL_FIRST_PLATFORM): Remove.
+	* sysdeps/x86/dl-procinfo.h: Modified.
+	(_DL_FIRST_PLATFORM): Remove.
+
+2024-06-18  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: ed23449dac42c3718757dc8ff69a6480d869fb9c
+	elf: Remove _DL_HWCAP_PLATFORM
+
+	* sysdeps/alpha/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+	* sysdeps/csky/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+	* sysdeps/generic/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+	* sysdeps/mips/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+	* sysdeps/powerpc/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+	* sysdeps/s390/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+	* sysdeps/sparc/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+	* sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+	* sysdeps/x86/dl-procinfo.h: Modified.
+	(_DL_HWCAP_PLATFORM): Remove.
+
+2024-06-18  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: 374c8b44831e7fe65ab0005cec98f7bb2d35c58e
+	elf: Remove platform strings in dl-procinfo.c
+
+	* sysdeps/alpha/dl-procinfo.c: Delete file.
+	* sysdeps/csky/dl-procinfo.c: Delete file.
+	* sysdeps/mips/dl-procinfo.c: Modified.
+	[! PROCINFO_CLASS](PROCINFO_CLASS): Remove.
+	[!(! PROCINFO_DECL &&  SHARED)][! PROCINFO_DECL](_dl_mips_platforms): Remove.
+	[!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL](PROCINFO_DECL): Remove.
+	[!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL](PROCINFO_CLASS): Remove.
+	(PROCINFO_DECL): New.
+	(PROCINFO_CLASS): New.
+	* sysdeps/s390/dl-procinfo-s390.c: Modified.
+	(_dl_s390_platforms): Remove.
+	* sysdeps/s390/dl-procinfo.h: Modified.
+	(_dl_s390_platforms): Remove.
+	* sysdeps/x86/dl-procinfo.c: Modified.
+	[!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL &&  SHARED)][! PROCINFO_DECL](_dl_x86_platforms): Remove.
+	[!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][SHARED && !IS_IN (ldconfig)][PROCINFO_DECL][! PROCINFO_DECL](_dl_x86_tlsdesc_dynamic): Remove.
+	[!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][SHARED && !IS_IN (ldconfig)][PROCINFO_DECL][! PROCINFO_DECL](_dl_x86_tlsdesc_dynamic): New.
+
+2024-06-18  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: 8faada830227aeb1a17117cbf8b94d9be0f5ffe1
+	elf: Remove _dl_string_platform
+
+	* elf/dl-diagnostics.c: Modified.
+	(_dl_print_diagnostics): Modified function.
+	* sysdeps/alpha/dl-procinfo.h: Modified.
+	(_dl_string_platform): Remove function.
+	* sysdeps/csky/dl-procinfo.h: Modified.
+	(_dl_string_platform): Remove function.
+	* sysdeps/generic/dl-procinfo.h: Modified.
+	(_dl_string_platform): Remove.
+	* sysdeps/mips/dl-procinfo.h: Modified.
+	(_dl_string_platform): Remove function.
+	* sysdeps/s390/dl-procinfo.h: Modified.
+	(_dl_string_platform): Remove function.
+	* sysdeps/sparc/dl-procinfo.h: Modified.
+	(_dl_string_platform): Remove.
+	* sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h: Modified.
+	(_dl_string_platform): Remove.
+	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Modified.
+	(_dl_string_platform): Remove.
+	* sysdeps/x86/dl-procinfo.h: Modified.
+	(_dl_string_platform): Remove function.
+
+2024-06-18  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: c5aa5fd40adc81c4f0b18e01f329aeaf86518c7b
+	elf: Remove loading legacy hwcaps/platform entries in dynamic loader
+
+	* elf/dl-cache.c: Modified.
+	[! _DL_PLATFORMS_COUNT](_DL_PLATFORMS_COUNT): Remove.
+	(search_cache): Modified function.
+
+2024-06-18  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: f14b6dfc87bc237bb9a673f1b74d52d434f75b7c
+	x86: Remove HWCAP_START and HWCAP_COUNT
+
+	* sysdeps/x86/dl-hwcap.h: Modified.
+	[! __x86_64__](HWCAP_START): Remove.
+	[! __x86_64__](HWCAP_COUNT): Remove.
+	[IS_IN (ldconfig)](HWCAP_START): Remove.
+	[IS_IN (ldconfig)](HWCAP_COUNT): Remove.
+	[__x86_64__](HWCAP_START): Remove.
+	[__x86_64__](HWCAP_COUNT): Remove.
+
+2024-06-17  YunQiang Su  <syq@debian.org>
+
+	COMMIT: eaf4fc516a4c91de0c0f88d2d7b544751ea6f72b
+	math: Update mips32/mips64 ulps for log2p1
+
+	* sysdeps/mips/mips32/libm-test-ulps: Modified.
+	* sysdeps/mips/mips64/libm-test-ulps: Modified.
+
+2024-06-17  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 98ffc1bfeb04fb04b7f18f1cbfccf1e43d6a867f
+	Convert to autoconf 2.72 (vanilla release, no distribution patches)
+
+	* INSTALL: Modified.
+	* aclocal.m4: Modified.
+	* configure: Modified.
+	* manual/install.texi: Modified.
+	* sysdeps/aarch64/configure: Modified.
+	* sysdeps/arc/configure: Modified.
+	* sysdeps/arm/configure: Modified.
+	* sysdeps/hppa/configure: Modified.
+	* sysdeps/i386/configure: Modified.
+	* sysdeps/ieee754/ldbl-opt/configure: Modified.
+	* sysdeps/loongarch/configure: Modified.
+	* sysdeps/mach/configure: Modified.
+	* sysdeps/mach/hurd/configure: Modified.
+	* sysdeps/mips/configure: Modified.
+	* sysdeps/nios2/configure: Modified.
+	* sysdeps/powerpc/powerpc32/fpu/configure: Modified.
+	* sysdeps/powerpc/powerpc64/configure: Modified.
+	* sysdeps/powerpc/powerpc64/le/configure: Modified.
+	* sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure: Modified.
+	* sysdeps/riscv/configure: Modified.
+	* sysdeps/s390/configure: Modified.
+	* sysdeps/s390/s390-64/configure: Modified.
+	* sysdeps/sparc/sparc32/configure: Modified.
+	* sysdeps/unix/sysv/linux/configure: Modified.
+	* sysdeps/unix/sysv/linux/loongarch/configure: Modified.
+	* sysdeps/unix/sysv/linux/mips/configure: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/configure: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/configure: Modified.
+	* sysdeps/unix/sysv/linux/riscv/configure: Modified.
+	* sysdeps/x86/configure: Modified.
+	* sysdeps/x86_64/configure: Modified.
+
+2024-06-17  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 7ec903e028271d029818378fd60ddaf6b76b89ac
+	Implement C23 exp2m1, exp10m1
+
+	* NEWS: Modified.
+	* manual/math.texi: Modified.
+	* math/Makefile: Modified.
+	* math/Versions: Modified.
+	* math/auto-libm-test-in: Modified.
+	* math/auto-libm-test-out-exp10m1: New file.
+	* math/auto-libm-test-out-exp2m1: New file.
+	* math/bits/mathcalls.h: Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL): Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL): Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL): Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL): New function.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL): New function.
+	* math/gen-auto-libm-tests.c: Modified.
+	* math/gen-tgmath-tests.py: Modified.
+	* math/libm-test-exp10m1.inc: New file.
+	* math/libm-test-exp2m1.inc: New file.
+	* math/s_exp10m1_template.c: New file.
+	* math/s_exp2m1_template.c: New file.
+	* math/test-tgmath.c: Modified.
+	[! HAVE_MAIN](NCALLS): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): New.
+	[HAVE_MAIN](F): New function.
+	[HAVE_MAIN](TYPE): New.
+	[HAVE_MAIN](F): New function.
+	* math/tgmath.h: Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](exp2m1): New.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](exp10m1): New.
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Modified.
+	* sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified.
+	* sysdeps/ieee754/ldbl-opt/Makefile: Modified.
+	* sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c: New file.
+	* sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c: New file.
+	* sysdeps/mach/hurd/i386/libm.abilist: Modified.
+	* sysdeps/mach/hurd/x86_64/libm.abilist: Modified.
+	* sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile: Modified.
+	* sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h: Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): New function.
+	[_F128_ENABLE_IFUNC](F128_REDIR): New function.
+	* sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h: Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): Modified.
+	[_F128_ENABLE_IFUNC](F128_REDIR): New function.
+	[_F128_ENABLE_IFUNC](F128_REDIR): New function.
+	[_F128_ENABLE_IFUNC](F128_REDIR): New function.
+	* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/alpha/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arc/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arm/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arm/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/csky/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/hppa/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/i386/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/microblaze/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/microblaze/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/nios2/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/or1k/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sh/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sh/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Modified.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Modified.
+
+2024-06-17  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 55eb99e9a9d840ba452b128be14d6529c2dde039
+	Implement C23 log10p1
+
+	* NEWS: Modified.
+	* manual/math.texi: Modified.
+	* math/Makefile: Modified.
+	* math/Versions: Modified.
+	* math/auto-libm-test-in: Modified.
+	* math/auto-libm-test-out-log10p1: New file.
+	* math/bits/mathcalls.h: Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL): Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL): New function.
+	* math/gen-auto-libm-tests.c: Modified.
+	* math/gen-tgmath-tests.py: Modified.
+	* math/libm-test-log10p1.inc: New file.
+	* math/s_log10p1_template.c: New file.
+	* math/test-tgmath.c: Modified.
+	[! HAVE_MAIN](NCALLS): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): New.
+	[HAVE_MAIN](F): New function.
+	* math/tgmath.h: Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](log10p1): New.
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Modified.
+	* sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified.
+	* sysdeps/ieee754/ldbl-opt/Makefile: Modified.
+	* sysdeps/ieee754/ldbl-opt/nldbl-log10p1.c: New file.
+	* sysdeps/mach/hurd/i386/libm.abilist: Modified.
+	* sysdeps/mach/hurd/x86_64/libm.abilist: Modified.
+	* sysdeps/powerpc/nofpu/Makefile: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/alpha/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arc/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arm/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arm/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/csky/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/hppa/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/i386/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/microblaze/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/microblaze/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/nios2/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/or1k/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sh/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sh/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Modified.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Modified.
+
+2024-06-17  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: bb014f50c4a0c8d8db1ba5af55c104e430b5533d
+	Implement C23 logp1
+
+	* NEWS: Modified.
+	* manual/math.texi: Modified.
+	* math/Makefile: Modified.
+	* math/Versions: Modified.
+	* math/bits/mathcalls.h: Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL): New function.
+	* math/gen-tgmath-tests.py: Modified.
+	* math/libm-test-log1p.inc: Modified.
+	* math/test-tgmath.c: Modified.
+	[! HAVE_MAIN](NCALLS): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): New.
+	[HAVE_MAIN](F): New function.
+	* math/tgmath.h: Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](logp1): New.
+	* math/w_log1p_template.c: Modified.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/alpha/fpu/libm-test-ulps: Modified.
+	* sysdeps/arc/fpu/libm-test-ulps: Modified.
+	* sysdeps/arc/nofpu/libm-test-ulps: Modified.
+	* sysdeps/arm/libm-test-ulps: Modified.
+	* sysdeps/csky/fpu/libm-test-ulps: Modified.
+	* sysdeps/csky/nofpu/libm-test-ulps: Modified.
+	* sysdeps/hppa/fpu/libm-test-ulps: Modified.
+	* sysdeps/i386/fpu/libm-test-ulps: Modified.
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Modified.
+	* sysdeps/ieee754/float128/Makefile: Modified.
+	* sysdeps/ieee754/float128/float128_private.h: Modified.
+	(logp1l): New.
+	* sysdeps/ieee754/ldbl-128/Makefile: Modified.
+	* sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified.
+	* sysdeps/ieee754/ldbl-96/Makefile: Modified.
+	* sysdeps/ieee754/ldbl-opt/Makefile: Modified.
+	* sysdeps/ieee754/ldbl-opt/nldbl-log1p.c: Modified.
+	(weak_alias): New.
+	* sysdeps/loongarch/lp64/libm-test-ulps: Modified.
+	* sysdeps/m68k/coldfire/fpu/libm-test-ulps: Modified.
+	* sysdeps/mach/hurd/i386/libm.abilist: Modified.
+	* sysdeps/mach/hurd/x86_64/libm.abilist: Modified.
+	* sysdeps/microblaze/libm-test-ulps: Modified.
+	* sysdeps/mips/mips32/libm-test-ulps: Modified.
+	* sysdeps/mips/mips64/libm-test-ulps: Modified.
+	* sysdeps/nios2/libm-test-ulps: Modified.
+	* sysdeps/or1k/fpu/libm-test-ulps: Modified.
+	* sysdeps/or1k/nofpu/libm-test-ulps: Modified.
+	* sysdeps/powerpc/fpu/libm-test-ulps: Modified.
+	* sysdeps/powerpc/nofpu/libm-test-ulps: Modified.
+	* sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile: Modified.
+	* sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc-redirects.h: Modified.
+	(__typeof): New function.
+	(__w_log1pf128): New.
+	* sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128-ifunc.h: Modified.
+	(DECL_ALIAS_w_log1p): Modified.
+	* sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h: Modified.
+	[_F128_ENABLE_IFUNC](__w_logp1f128): New function.
+	[_F128_ENABLE_IFUNC](F128_REDIR): New function.
+	* sysdeps/riscv/nofpu/libm-test-ulps: Modified.
+	* sysdeps/riscv/rvd/libm-test-ulps: Modified.
+	* sysdeps/s390/fpu/libm-test-ulps: Modified.
+	* sysdeps/sh/libm-test-ulps: Modified.
+	* sysdeps/sparc/fpu/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/alpha/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arc/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arm/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arm/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/csky/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/hppa/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/i386/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/microblaze/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/microblaze/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/nios2/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/or1k/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sh/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sh/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Modified.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Modified.
+
+2024-06-17  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: ca38eff28015f376c020b4dfad5351e45be8d090
+	support: Include <limits.h> for NAME_MAX use in temp_file.c
+
+	* support/temp_file.c: Modified.
+	(limits.h): Include file.
+
+2024-06-17  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: cb65d6610445a95f78b958af44f52746b4e36b24
+	support: Include <stdlib.h> for atoi use in support_wait_for_thread_exit
+
+	* support/support_wait_for_thread_exit.c: Modified.
+	(stdlib.h): Include file.
+
+2024-06-17  Jan Kurik  <jkurik@redhat.com>
+
+	COMMIT: 6739bbb4df0e5c8f7575127c89de400669c0d050
+	Extend tst-getconf.sh test with NPROCESSORS_CONF and NPROCESSORS_ONLN
+
+	* posix/tst-getconf.sh: Modified.
+
+2024-06-17  Mike FABIAN  <mfabian@redhat.com>
+
+	COMMIT: 3ea79f50853afcbe17d6a4e2537e1bd5a2d17e7d
+	Define ISO 639-3 "ltg" (Latgalian) and add ltg_LV locale
+
+	* locale/iso-639.def: Modified.
+	* localedata/Makefile: Modified.
+	* localedata/SUPPORTED: Modified.
+	* localedata/locales/ltg_LV: New file.
+	* localedata/ltg_LV.UTF-8.in: New file.
+
+2024-06-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: 6059938728a98270b9706488887f43baa0471eba
+	INSTALL: regenerate
+
+	* INSTALL: Modified.
+
+2024-06-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: 7c1ec1b7d0b476610c811b0babeab831e626c088
+	Minor code improvement to timespec_subtract example
+
+	* manual/examples/timespec_subtract.c: Modified.
+	(timespec_subtract): Modified function.
+
+2024-06-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: ee768a30fe9099972dad04c49972c2508a208b9b
+	Modernize and fix doc’s “Date and Time†(BZ 31876)
+
+	* benchtests/strcoll-inputs/filelist#en_US.UTF-8: Modified.
+	* manual/conf.texi: Modified.
+	* manual/contrib.texi: Modified.
+	* manual/examples/strftim.c: Modified.
+	(SIZE): Remove.
+	(main): Modified function.
+	* manual/examples/timespec_subtract.c: New file.
+	* manual/examples/timeval_subtract.c: Delete file.
+	* manual/install.texi: Modified.
+	* manual/startup.texi: Modified.
+	* manual/time.texi: Modified.
+	* time/localtime.c: Modified.
+
+2024-06-15  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 41d6461484d6d456fb07f495fb595e06b44758c4
+	manual: minor language fix (bz 31340)
+
+	* manual/resource.texi: Modified.
+
+2024-06-14  Noah Goldstein  <goldstein.w.n@gmail.com>
+
+	COMMIT: 5b54a33435e5533653a9956728f2de9d16a3b4ee
+	x86: Fix value for `x86_memset_non_temporal_threshold` when it is undesirable
+
+	* sysdeps/x86/dl-cacheinfo.h: Modified.
+	(dl_init_cacheinfo): Modified function.
+
+2024-06-14  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 0b7f7842f812e7a70a79ce001e22942f7fe200aa
+	elf: Change module-names to modules-names in comments
+
+	* elf/Makefile: Modified.
+
+2024-06-14  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 3953b5b88f674d33675662e2e8d3a5f3cfda720c
+	i686: Regenerate ulps
+
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Modified.
+
+2024-06-14  Xi Ruoyao  <xry111@xry111.site>
+
+	COMMIT: 97aa7b7346bb9f1807e450c889fccbd2a7d8ff49
+	LoongArch: Ensure sp 16-byte aligned for tlsdesc
+
+	* sysdeps/loongarch/dl-tlsdesc.S: Modified.
+	* sysdeps/loongarch/sys/asm.h: Modified.
+	(SZFCSREG): Remove.
+
+2024-06-13  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 868ab8923a2ec977faafec97ecafac0c3159c1b2
+	resolv: Track single-request fallback via _res._flags (bug 31476)
+
+	* resolv/res_send.c: Modified.
+	(send_dg): Modified function.
+	* resolv/resolv-internal.h: Modified.
+	(RES_F_SNGLKUP): New.
+	(RES_F_SNGLKUPREOP): New.
+
+2024-06-12  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 29807a271edca3e47195bda0c69ae45e245551a9
+	x86: Properly set x86 minimum ISA level [BZ #31883]
+
+	* sysdeps/x86/configure: Modified.
+	* sysdeps/x86/configure.ac: Modified.
+	* sysdeps/x86/isa-level.h: Modified.
+	[!(__X86_ISA_V1 &&  __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16  &&  HAVE_X86_LAHF_SAHF &&  __POPCNT__ &&  __SSE3__  &&  __SSSE3__ &&  __SSE4_1__ &&  __SSE4_2__)](__X86_ISA_V2): Remove.
+	[__X86_ISA_V1 &&  __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16  &&  HAVE_X86_LAHF_SAHF &&  __POPCNT__ &&  __SSE3__  &&  __SSSE3__ &&  __SSE4_1__ &&  __SSE4_2__](__X86_ISA_V2): Remove.
+	[! __x86_64__][__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8](__GCC_HAVE_SYNC_COMPARE_AND_SWAP): New.
+	[!(__X86_ISA_V1 &&  __GCC_HAVE_SYNC_COMPARE_AND_SWAP		  &&  HAVE_X86_LAHF_SAHF &&  __POPCNT__ &&  __SSE3__  &&  __SSSE3__ &&  __SSE4_1__ &&  __SSE4_2__)](__X86_ISA_V2): New.
+	[__X86_ISA_V1 &&  __GCC_HAVE_SYNC_COMPARE_AND_SWAP		  &&  HAVE_X86_LAHF_SAHF &&  __POPCNT__ &&  __SSE3__  &&  __SSSE3__ &&  __SSE4_1__ &&  __SSE4_2__](__X86_ISA_V2): New.
+	[__x86_64__][__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16](__GCC_HAVE_SYNC_COMPARE_AND_SWAP): New.
+
+2024-06-12  DJ Delorie  <dj@redhat.com>
+
+	COMMIT: 8859607eaa068a3aaa7df7f54eff186b25ecdad0
+	tunables: sort tunables list (BZ 30027)
+
+	* Makeconfig: Modified.
+	* scripts/gen-tunables.awk: Modified.
+
+2024-06-12  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 7edd3814b00c46a404cbaf316eab9db18438c3dd
+	linux: Remove __stack_prot
+
+	* elf/dl-load.c: Modified.
+	[! EXTERNAL_MAP_FROM_FD](_dl_map_object_from_fd): Modified function.
+	[!(_STACK_GROWS_UP &&  PROT_GROWSUP)](__stack_prot): Remove.
+	[_STACK_GROWS_DOWN &&  PROT_GROWSDOWN](__stack_prot): Remove.
+	[_STACK_GROWS_UP &&  PROT_GROWSUP](__stack_prot): Remove.
+	(__stack_prot): Remove.
+	(__rtld_env_path_list): New.
+	* sysdeps/unix/sysv/linux/dl-execstack.c: Modified.
+	(__stack_prot): Remove.
+	(make_main_stack_executable): Modified function.
+
+2024-06-11  Philip Kaludercic  <philipk@posteo.net>
+
+	COMMIT: e7ac92e6ca9784b397189df0b2e1fb34f425bab8
+	<stdio.h>: Acknowledge that getdelim/getline are in POSIX
+
+	* libio/stdio.h: Modified.
+
+2024-06-11  Mike FABIAN  <mfabian@redhat.com>
+
+	COMMIT: 10733d6a72381a54644e16094c39ca7540660a59
+	localedata: Lowercase day and abday in cs_CZ
+
+	* localedata/locales/cs_CZ: Modified.
+
+2024-06-11  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 09bc68b0ac26331a0109f0578c9368e09176da18
+	x86: Properly set MINIMUM_X86_ISA_LEVEL for i386 [BZ #31867]
+
+	* sysdeps/x86/configure: Modified.
+	* sysdeps/x86/configure.ac: Modified.
+
+2024-06-10  Joe Damato  <jdamato@fastly.com>
+
+	COMMIT: bef2a827a55fc759693ccc5b0f614353b8ad712d
+	x86: Enable non-temporal memset tunable for AMD
+
+	* sysdeps/x86/dl-cacheinfo.h: Modified.
+	(dl_init_cacheinfo): Modified function.
+
+2024-06-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	COMMIT: 5968125f55a3a3f3394e4ebe45e1f96d4864c576
+	hurd: Fix getxattr/listxattr returning ERANGE
+
+	* hurd/xattr.c: Modified.
+	(_hurd_xattr_get): Modified function.
+	(_hurd_xattr_list): Modified function.
+
+2024-06-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	COMMIT: ed06248019908dd4f286552594ac3ec844ef3da4
+	hurd: Fix setxattr return value on replacing
+
+	* hurd/xattr.c: Modified.
+	(_hurd_xattr_set): Modified function.
+
+2024-06-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	COMMIT: ba5a23422a156804234dff6c5be89e20ee8f9ec2
+	hurd: Fix getxattr("gnu.translator") returning ENODATA
+
+	* hurd/xattr.c: Modified.
+	(_hurd_xattr_get): Modified function.
+
+2024-06-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	COMMIT: 74f9ee3b91931967df5601ad63a4b02f5cd75b43
+	hurd: Fix lsetxattr return value
+
+	* sysdeps/mach/hurd/lsetxattr.c: Modified.
+	(lsetxattr): Modified function.
+
+2024-06-07  David Paleino  <dapal@debian.org>
+
+	COMMIT: eb370158794d7c64740a257ab2246ab46b90306a
+	localedata: add new locales scn_IT
+
+	* localedata/SUPPORTED: Modified.
+	* localedata/locales/scn_IT: New file.
+
+2024-06-05  Avinal Kumar  <avinal.xlvii@gmail.com>
+
+	COMMIT: 54c1efdac55b756a4e2ea95590bcc3ba396a6568
+	support: Fix typo in xgetsockname error message
+
+	* support/xgetsockname.c: Modified.
+	(xgetsockname): Modified function.
+
+2024-06-05  Mohamed Akram  <mohd.akram@outlook.com>
+
+	COMMIT: 2f7246015c0d0760ab4529c4b13b2816337bed35
+	getconf: Add NPROCESSORS_{CONF,ONLN} [BZ #31661]
+
+	* posix/getconf.c: Modified.
+
+2024-06-04  Joe Damato  <jdamato@fastly.com>
+
+	COMMIT: 92c270d32caf3f8d5a02b8e46c7ec5d9d0315158
+	Linux: Add epoll ioctls
+
+	* NEWS: Modified.
+	* sysdeps/unix/sysv/linux/Makefile: Modified.
+	* sysdeps/unix/sysv/linux/sys/epoll.h: Modified.
+	(sys/ioctl.h): Include file.
+	(epoll_params): New.
+	(EPOLL_IOC_TYPE): New.
+	(EPIOCSPARAMS): New.
+	(EPIOCGPARAMS): New.
+	* sysdeps/unix/sysv/linux/tst-epoll-ioctls.c: New file.
+
+2024-06-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: 400bdb5c85af5a52b3f5653357c9fca87f036bd3
+	Improve doc for time_t range (BZ 31808)
+
+	* manual/time.texi: Modified.
+
+2024-06-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: cafef3eb21db24f2e8113b0adc12c0f15d4dec41
+	difftime can throw exceptions
+
+	* time/time.h: Modified.
+	[! __USE_TIME64_REDIRECTS](__attribute_pure__): Remove.
+	[! __USE_TIME64_REDIRECTS](difftime): New function.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__attribute_pure__): Remove.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): Modified.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): Modified.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): Modified.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): Modified.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New function.
+
+2024-06-04  sayan paul  <saypaul@redhat.com>
+
+	COMMIT: 127fc56152347d73cb7c1c283e60e1cb1f15e9f9
+	malloc: New test to check malloc alternate path using memory obstruction
+
+	* malloc/Makefile: Modified.
+	* malloc/tst-malloc-alternate-path.c: New file.
+
+2024-06-04  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	COMMIT: 2a9943b4a03b6bce7c2b1b047592eee38ab74fab
+	math: Fix exp10 undefined left shift
+
+	* sysdeps/ieee754/dbl-64/e_exp10.c: Modified.
+	(special_case): Modified function.
+	(__exp10): Modified function.
+
+2024-06-04  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: d0106b6ae26c8cc046269358a77188105c99d5e3
+	libio: Test for fdopen memory leak without SEEK_END support (bug 31840)
+
+	* libio/Makefile: Modified.
+	* libio/tst-fdopen-seek-failure.c: New file.
+
+2024-06-04  Andreas Schwab  <schwab@suse.de>
+
+	COMMIT: b2c3ee3724900975deaf5eae57640bb0c2d7315e
+	Remove memory leak in fdopen (bug 31840)
+
+	* libio/iofdopen.c: Modified.
+	(_IO_new_fdopen): Modified function.
+
+2024-06-04  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 1d441791cbea02b0261579f0332a7a85c21e2a3f
+	Add new AArch64 HWCAP2 definitions from Linux 6.9 to bits/hwcap.h
+
+	* sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h: Modified.
+	(HWCAP2_FPMR): New.
+	(HWCAP2_LUT): New.
+	(HWCAP2_FAMINMAX): New.
+	(HWCAP2_F8CVT): New.
+	(HWCAP2_F8FMA): New.
+	(HWCAP2_F8DP4): New.
+	(HWCAP2_F8DP2): New.
+	(HWCAP2_F8E4M3): New.
+	(HWCAP2_F8E5M2): New.
+	(HWCAP2_SME_LUTV2): New.
+	(HWCAP2_SME_F8F16): New.
+	(HWCAP2_SME_F8F32): New.
+	(HWCAP2_SME_SF8FMA): New.
+	(HWCAP2_SME_SF8DP4): New.
+	(HWCAP2_SME_SF8DP2): New.
+
+2024-06-04  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 9063b32b3c3438452d9b47a0213a9d2007252554
+	Add more NT_ARM_* constants from Linux kernel to elf.h
+
+	* elf/elf.h: Modified.
+	(NT_ARM_SSVE): New.
+	(NT_ARM_ZA): New.
+	(NT_ARM_ZT): New.
+	(NT_ARM_FPMR): New.
+
+2024-06-03  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 992daa0b4b5fa8a9f403c9575638cec288e12bfa
+	stdlib: Describe __cxa_finalize usage in function comment
+
+	* stdlib/cxa_finalize.c: Modified.
+
+2024-06-03  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: afe42e935b3ee97bac9a7064157587777259c60e
+	elf: Avoid some free (NULL) calls in _dl_update_slotinfo
+
+	* elf/dl-tls.c: Modified.
+	[SHARED](_dl_update_slotinfo): Modified function.
+
+2024-05-30  Noah Goldstein  <goldstein.w.n@gmail.com>
+
+	COMMIT: 46b5e98ef6f1b9f4b53851f152ecb8209064b26c
+	x86: Add seperate non-temporal tunable for memset
+
+	* manual/tunables.texi: Modified.
+	* sysdeps/x86/cacheinfo.h: Modified.
+	[IS_IN (libc)](init_cacheinfo): Modified function.
+	[IS_IN (libc)](__x86_memset_non_temporal_threshold): New.
+	* sysdeps/x86/dl-cacheinfo.h: Modified.
+	(dl_init_cacheinfo): Modified function.
+	* sysdeps/x86/dl-diagnostics-cpu.c: Modified.
+	(_dl_diagnostics_cpu): Modified function.
+	* sysdeps/x86/dl-tunables.list: Modified.
+	* sysdeps/x86/include/cpu-features.h: Modified.
+	(cpu_features): Modified.
+	* sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: Modified.
+
+2024-05-30  Noah Goldstein  <goldstein.w.n@gmail.com>
+
+	COMMIT: 5bf0ab80573d66e4ae5d94b094659094336da90f
+	x86: Improve large memset perf with non-temporal stores [RHEL-29312]
+
+	* sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: Modified.
+
+2024-05-30  Luca Boccassi  <bluca@debian.org>
+
+	COMMIT: 53f9d74322c831c76bc6cf6ed8941267e8749604
+	elf: add note identifier for dlopen metadata
+
+	* elf/elf.h: Modified.
+	(NT_FDO_DLOPEN_METADATA): New.
+
+2024-05-30  Luca Boccassi  <bluca@debian.org>
+
+	COMMIT: 52aae0860018b500b8212b5d63495dbe6b9b7022
+	elf: update NT_FDO_PACKAGING_METADATA spec URL
+
+	* elf/elf.h: Modified.
+
+2024-05-28  Xi Ruoyao  <xry111@xry111.site>
+
+	COMMIT: 0c1d2c277a59f08fd3232b33d18644ea890190ea
+	LoongArch: Use "$fcsr0" instead of "$r0" in _FPU_{GET,SET}CW
+
+	* sysdeps/loongarch/fpu_control.h: Modified.
+	[! __loongarch_soft_float](_FPU_GETCW): Modified.
+	[! __loongarch_soft_float](_FPU_SETCW): Modified.
+
+2024-05-27  Xin Wang  <yw987194828@gmail.com>
+
+	COMMIT: e0f7f1808fb024d35c3d9973e68245efc78fff40
+	x86_64: Reformat elf_machine_rela
+
+	* sysdeps/x86_64/dl-machine.h: Modified.
+	[RESOLVE_MAP](elf_machine_rela): Modified function.
+
+2024-05-27  Sunil K Pandey  <skpgkp2@gmail.com>
+            Haochen Jiang  <haochen.jiang@intel.com>
+
+	COMMIT: 1b713c9a5349ef3cd1a8ccf9de017c7865713c67
+	i386: Disable Intel Xeon Phi tests for GCC 15 and above (BZ 31782)
+
+	* sysdeps/x86/tst-cpu-features-supports.c: Modified.
+	(do_test): Modified function.
+
+2024-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: df63f01a30d98f74bb6e82cbe1e27dbf795e433d
+	difftime is pure, not const
+
+	* time/time.h: Modified.
+	[! __USE_TIME64_REDIRECTS](difftime): Remove.
+	[! __USE_TIME64_REDIRECTS](__attribute_pure__): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): Modified.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): Modified.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): Modified.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): Modified.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__attribute_pure__): New.
+
+2024-05-27  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: f981bf6b9db87e0732b46bfe92fdad4d363225e8
+	parse_fdinfo: Don't advance pointer twice [BZ #31798]
+
+	* sysdeps/unix/sysv/linux/pidfd_getpid.c: Modified.
+	(parse_fdinfo): Modified function.
+
+2024-05-25  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: ab46c6ba6cc43b18daea6f197030e19303c9f012
+	elf/Makefile: Split and sort PIE tests
+
+	* elf/Makefile: Modified.
+
+2024-05-24  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: caed1f5c0b2e31b5f4e0f21fea4b2c9ecd3b5b30
+	Revert "Test fscanf of long double without <stdio.h>"
+
+	* stdio-common/Makefile: Modified.
+	* stdio-common/test-fscanf.c: Delete file.
+	* stdio-common/test-fscanf.input: Delete file.
+
+2024-05-24  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 23c60af6dcf0902c3c314ace34fd67a744cec76e
+	sysdeps/ieee754/ldbl-opt/Makefile: Split and sort libnldbl-calls
+
+	* sysdeps/ieee754/ldbl-opt/Makefile: Modified.
+
+2024-05-24  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 30a745450e01e4c6f484dc691c16a54a6ea72288
+	Test fscanf of long double without <stdio.h>
+
+	* stdio-common/Makefile: Modified.
+	* stdio-common/test-fscanf.c: New file.
+	* stdio-common/test-fscanf.input: New file.
+
+2024-05-24  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 639c143db3fcf6ec1537b86946233c0bc3b03d6e
+	sysdeps/ieee754/ldbl-opt/Makefile: Remove test-nldbl-redirect-static
+
+	* sysdeps/ieee754/ldbl-opt/Makefile: Modified.
+
+2024-05-24  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: acfb169b3c474930ce5ae278ab512ef7483c368c
+	sysdeps/ieee754/ldbl-opt/Makefile: Split and sort tests
+
+	* sysdeps/ieee754/ldbl-opt/Makefile: Modified.
+
+2024-05-24  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: 4af49c60a170f223f1c0010945b1340938105b53
+	s390x: Regenerate ULPs.
+
+	* sysdeps/s390/fpu/libm-test-ulps: Modified.
+
+2024-05-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 8f58e412b1e26d2c7e65c13a0ce758fbaf18d83f
+	powerpc: Remove duplicated versionsort from libm.a (BZ 31789)
+
+	* dirent/versionsort64.c: Modified.
+	[!_DIRENT_MATCHES_DIRENT64](weak_alias): Remove.
+	[_DIRENT_MATCHES_DIRENT64](weak_alias): New.
+
+2024-05-23  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 84d2762922f74f5059d6179f503972c418153b91
+	Update kernel version to 6.9 in header constant tests
+
+	* sysdeps/unix/sysv/linux/tst-mman-consts.py: Modified.
+	* sysdeps/unix/sysv/linux/tst-mount-consts.py: Modified.
+
+2024-05-23  Mike FABIAN  <mfabian@redhat.com>
+
+	COMMIT: 28bf4783d9dfe6174de0fc90681da444a028e2a3
+	localedata: cv_RU: update translation
+
+	* localedata/cv_RU.UTF-8.in: Modified.
+	* localedata/locales/cv_RU: Modified.
+
+2024-05-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: eaa8113bf0eb599025e3efdbe1bb214ee8dc645a
+	math: Provide missing math symbols on libc.a (BZ 31781)
+
+	* sysdeps/ieee754/ldbl-64-128/s_copysignl.c: Modified.
+	[IS_IN (libc)](libm_alias_ldouble): Remove.
+	[IS_IN (libc)](long_double_symbol): Remove.
+	[IS_IN (libc) &&  SHARED](libm_alias_ldouble): New.
+	[IS_IN (libc) &&  SHARED](long_double_symbol): New.
+	* sysdeps/ieee754/ldbl-64-128/s_frexpl.c: Modified.
+	[IS_IN (libc)](libm_alias_ldouble): Remove.
+	[IS_IN (libc)](long_double_symbol): Remove.
+	[IS_IN (libc) &&  SHARED](libm_alias_ldouble): New.
+	[IS_IN (libc) &&  SHARED](long_double_symbol): New.
+	* sysdeps/ieee754/ldbl-64-128/s_modfl.c: Modified.
+	[IS_IN (libc)](libm_alias_ldouble): Remove.
+	[IS_IN (libc)](long_double_symbol): Remove.
+	[IS_IN (libc) &&  SHARED](libm_alias_ldouble): New.
+	[IS_IN (libc) &&  SHARED](long_double_symbol): New.
+
+2024-05-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 1664bbf2383bb6a7d0ae7ecee6be3f23ab953466
+	s390: Make utmp32, utmpx32, and login32 shared only (BZ 31790)
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Modified.
+
+2024-05-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 18dbe2784768a094895500c6dc24b6d19b224101
+	microblaze: Remove cacheflush from libc.a (BZ 31788)
+
+	* sysdeps/unix/sysv/linux/microblaze/syscalls.list: Modified.
+
+2024-05-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: d8ebde14fbf713ef1d91e4250ad8aa97c7df8128
+	powerpc: Remove duplicated llrintf and llrintf32 from libm.a (BZ 31787)
+
+	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-power6.c: Modified.
+	(libm-alias-float.h): Include file.
+	(libm_alias_float): New.
+	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-ppc32.c: Modified.
+	(libm-alias-float.h): Include file.
+	(libm_alias_float): New.
+
+2024-05-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 5fededd8251b9f5ccd7f893123417205447b95f1
+	powerpc: Remove duplicate strchrnul and strncasecmp_l libc.a (BZ 31786)
+
+	* sysdeps/powerpc/powerpc64/multiarch/strchrnul-power7.S: Modified.
+	* sysdeps/powerpc/powerpc64/multiarch/strchrnul-ppc64.c: Modified.
+	(sysdeps/powerpc/powerpc32/power4/multiarch/strchrnul-ppc32.c): Remove include.
+	[IS_IN (libc)][SHARED](__hidden_ver1): New.
+	[IS_IN (libc)](STRCHRNUL): New.
+	[IS_IN (libc)](__strchrnul_ppc): New.
+	[IS_IN (libc)](string/strchrnul.c): New.
+	[IS_IN (libc)](__strchrnul): New.
+	[IS_IN (libc)](weak_alias): New.
+	(string.h): Include file.
+	* sysdeps/powerpc/powerpc64/multiarch/strncase_l-power7.c: Modified.
+	(weak_alias): New.
+
+2024-05-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 62eaa4673923bd8b91a5f961828b75bcce10beb7
+	loongarch: Remove duplicate strnlen in libc.a (BZ 31785)
+
+	* sysdeps/loongarch/lp64/multiarch/strnlen-aligned.S: Modified.
+
+2024-05-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: ef9596352b9863dd055578b4bfdd3777aca0bcb8
+	aarch64: Remove duplicate memchr/strlen in libc.a (BZ 31777)
+
+	* sysdeps/aarch64/multiarch/memchr_generic.S: Modified.
+	* sysdeps/aarch64/multiarch/strlen_generic.S: Modified.
+
+2024-05-23  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: e9a37242f9cca80496aa934158b7e366b8b419fa
+	Update PIDFD_* constants for Linux 6.9
+
+	* sysdeps/unix/sysv/linux/sys/pidfd.h: Modified.
+	(PIDFD_THREAD): New.
+	(PIDFD_SIGNAL_THREAD): New.
+	(PIDFD_SIGNAL_THREAD_GROUP): New.
+	(PIDFD_SIGNAL_PROCESS_GROUP): New.
+	* sysdeps/unix/sysv/linux/tst-pidfd-consts.py: Modified.
+
+2024-05-22  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 6d3b523eb54198d15af6e042054912cf9f5210de
+	Define write_profiling functions only in profile library [BZ #31756]
+
+	* gmon/gmon.c: Modified.
+	[! SHARED](weak_alias): Remove.
+	(__write_profiling): Remove function.
+	[PROF](__write_profiling): New.
+	[PROF](weak_alias): New.
+
+2024-05-22  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 43d41ae6d74441dd5d21045324ff7391e7b0f545
+	Don't provide XXXf128_do_not_use aliases [BZ #31757]
+
+	* sysdeps/ieee754/float128/s_isnanf128.c: Modified.
+	[!IS_IN (libm)](_weak_alias): Remove.
+	[!IS_IN (libm)][! isnanl](_weak_alias): New.
+	* sysdeps/ieee754/ldbl-128/s_finitel.c: Modified.
+	* sysdeps/ieee754/ldbl-128/s_isinfl.c: Modified.
+	* sysdeps/ieee754/ldbl-128/s_nextafterl.c: Modified.
+
+2024-05-22  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: a34f76edbda8a0b143111e670ca33c97623bfe56
+	Don't provide scalb/significand _FloatN aliases [BZ #31760]
+
+	* math/s_significand_template.c: Modified.
+	(libm_alias_float_other_r): New.
+	(libm_alias_double_other_r): New.
+	(libm_alias_ldouble_other_r): New.
+	(libm_alias_float128_other_r): New.
+	* math/w_scalb_template.c: Modified.
+	(libm_alias_float_other_r): New.
+	(libm_alias_double_other_r): New.
+	(libm_alias_ldouble_other_r): New.
+	(libm_alias_float128_other_r): New.
+
+2024-05-21  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 5d4999e519ec77e75bef920e2540e8605015680a
+	math: Fix isnanf128 static build (BZ 31774)
+
+	* sysdeps/ieee754/float128/s_isnanf128.c: Modified.
+	[!IS_IN (libm)](hidden_ver): Remove.
+	[!IS_IN (libm)][! SHARED](strong_alias): New.
+	[!IS_IN (libm)][SHARED](hidden_ver): New.
+
+2024-05-21  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: ce6cdb94d0769e99d0779b6283f543d333553461
+	math: Add support for auto static math tests
+
+	* Makeconfig: Modified.
+	* Makefile.help: Modified.
+	* math/Makefile: Modified.
+	* math/test-double-static.h: New file.
+	* math/test-float-static.h: New file.
+	* math/test-float128-static.h: New file.
+	* math/test-float32-static.h: New file.
+	* math/test-float32x-static.h: New file.
+	* math/test-float64-static.h: New file.
+	* math/test-float64x-static.h: New file.
+	* math/test-ibm128-static.h: New file.
+	* math/test-ldouble-static.h: New file.
+
+2024-05-21  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 85472c20a55ea2a49a7fbdf71652b4009118b0ae
+	Change _IO_stderr_/_IO_stdin_/_IO_stdout to compat symbols [BZ #31766]
+
+	* libio/oldstdfiles.c: Modified.
+	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](compat_symbol): New function.
+	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](compat_symbol): New function.
+	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](compat_symbol): New function.
+
+2024-05-21  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: d97842653fba2fe5c093a101ac923a1b9e5e637c
+	Obsolete _dl_mcount_wrapper in glibc 2.40 [BZ #31765]
+
+	* elf/libc-dl-profstub.c: Modified.
+	(_dl_mcount_wrapper): Remove function.
+	[SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_40)](_dl_mcount_wrapper): New.
+	[SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_40)](compat_symbol): New.
+	(shlib-compat.h): Include file.
+
+2024-05-21  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 1f09aae36aa185b8b1100dfa6b776442279bf580
+	math: Fix i386 and m68k exp10 on static build (BZ 31775)
+
+	* sysdeps/i386/fpu/w_exp10_compat.c: Modified.
+	(NO_COMPAT_NEEDED): Remove.
+	(math/w_exp10_compat.c): Remove include.
+	[! SHARED](math-type-macros-double.h): New.
+	[! SHARED](w_exp10_template.c): New.
+	[SHARED](NO_COMPAT_NEEDED): New.
+	[SHARED](math/w_exp10_compat.c): New.
+	* sysdeps/m68k/m680x0/fpu/w_exp10_compat.c: Modified.
+	(NO_COMPAT_NEEDED): Remove.
+	(math/w_exp10_compat.c): Remove include.
+	[! SHARED](math-type-macros-double.h): New.
+	[! SHARED](w_exp10_template.c): New.
+	[SHARED](NO_COMPAT_NEEDED): New.
+	[SHARED](math/w_exp10_compat.c): New.
+
+2024-05-21  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 0b716305dfb48c2d13ed4f7d06c082b90c1d226f
+	math: Fix i386 and m68k fmod/fmodf on static build (BZ 31488)
+
+	* sysdeps/i386/fpu/w_fmod_compat.c: Modified.
+	[SHARED](math/w_fmod_compat.c): Include file.
+	(math/w_fmod_compat.c): Remove include.
+	[! SHARED](math-type-macros-double.h): New.
+	[! SHARED](w_fmod_template.c): New.
+	* sysdeps/i386/fpu/w_fmodf_compat.c: Modified.
+	[SHARED](math/w_fmodf_compat.c): Include file.
+	(math/w_fmodf_compat.c): Remove include.
+	[! SHARED](math-type-macros-float.h): New.
+	[! SHARED](w_fmod_template.c): New.
+	* sysdeps/ieee754/ldbl-opt/s_ldexpl.c: Modified.
+	[IS_IN (libc)](declare_mgen_alias): Remove.
+	[IS_IN (libc)](long_double_symbol): Remove.
+	[IS_IN (libc)](long_double_symbol): Remove.
+	[IS_IN (libc) &&  SHARED](declare_mgen_alias): New.
+	[IS_IN (libc) &&  SHARED](long_double_symbol): New.
+	[IS_IN (libc) &&  SHARED](long_double_symbol): New.
+	* sysdeps/m68k/m680x0/fpu/w_fmod_compat.c: Modified.
+	[SHARED](math/w_fmod_compat.c): Include file.
+	(math/w_fmod_compat.c): Remove include.
+	[! SHARED](math-type-macros-double.h): New.
+	[! SHARED](w_fmod_template.c): New.
+	* sysdeps/m68k/m680x0/fpu/w_fmodf_compat.c: Modified.
+	[SHARED](math/w_fmodf_compat.c): Include file.
+	(math/w_fmodf_compat.c): Remove include.
+	[! SHARED](math-type-macros-float.h): New.
+	[! SHARED](w_fmod_template.c): New.
+
+2024-05-21  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 437c94e04b82b410d72e173c2bfacd8af27abc53
+	Remove the clone3 symbol from libc.a [BZ #31770]
+
+	* sysdeps/unix/sysv/linux/aarch64/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/arc/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/arm/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/i386/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/loongarch/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/mips/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/riscv/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-32/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-64/clone3.S: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/clone3.S: Modified.
+
+2024-05-21  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: 0fed0b250f728f38bca5f6fba1dcecdccfc6a44e
+	aarch64/fpu: Add vector variants of pow
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/atan2_advsimd.c: Modified.
+	(math_config.h): Include file.
+	* sysdeps/aarch64/fpu/atan2_sve.c: Modified.
+	(math_config.h): Include file.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4vv_powf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2vv_pow): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxvv_powf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxvv_pow): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_pow): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_powf): New.
+	* sysdeps/aarch64/fpu/finite_pow.h: New file.
+	* sysdeps/aarch64/fpu/pow_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/pow_sve.c: New file.
+	* sysdeps/aarch64/fpu/powf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/powf_sve.c: New file.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER_ff): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER_ff): New.
+	* sysdeps/aarch64/fpu/v_pow_exp_data.c: New file.
+	* sysdeps/aarch64/fpu/v_pow_log_data.c: New file.
+	* sysdeps/aarch64/fpu/v_powf_data.c: New file.
+	* sysdeps/aarch64/fpu/vecmath_config.h: Modified.
+	(asuint64): Remove function.
+	(V_POW_EXP_TABLE_BITS): New.
+	(v_pow_exp_data): New.
+	(V_POW_LOG_TABLE_BITS): New.
+	(v_pow_log_data): New.
+	(V_POWF_EXP2_TABLE_BITS): New.
+	(V_POWF_EXP2_N): New.
+	(V_POWF_LOG2_TABLE_BITS): New.
+	(V_POWF_LOG2_N): New.
+	(v_powf_data): New.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-05-21  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: c39cf53702e570b64a70d8f7fdfe277017acfb5f
+	Compile libmvec with -fno-math-errno
+
+	* Makeconfig: Modified.
+
+2024-05-21  Andreas Schwab  <schwab@suse.de>
+
+	COMMIT: c35cad016b2a5bc71fa2330f26e35afdef327ccc
+	manual: clarify defintions of floating point exponent bounds (bug 31518)
+
+	* manual/lang.texi: Modified.
+
+2024-05-21  caiyinyu  <caiyinyu@loongson.cn>
+
+	COMMIT: 3c1e22372d898a7e603bf62aee8036d3c82ec7c0
+	LoongArch: Update ulps
+
+	* sysdeps/loongarch/lp64/libm-test-ulps: Modified.
+
+2024-05-21  mengqinggang  <mengqinggang@loongson.cn>
+
+	COMMIT: 16d47c1594c5bcd334d0b8dbf147cda917f19bc4
+	LoongArch: Fix tst-gnu2-tls2 compiler error
+
+	* sysdeps/loongarch/Makefile: Modified.
+	* sysdeps/loongarch/configure: Modified.
+	* sysdeps/loongarch/configure.ac: Modified.
+
+2024-05-20  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 4b30c644d24c07c06b587cb46f2e50adc2c3c3f0
+	resolv: Make _res_opcodes a compat symbol [BZ #31764]
+
+	* resolv/res_debug.c: Modified.
+	[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_26)][SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_26)](compat_symbol): New function.
+
+2024-05-20  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 8428278b5f5cee21811339017ca09cccc8c751f7
+	i386: Don't define stpncpy alias when used in IFUNC [BZ #31768]
+
+	* sysdeps/i386/stpncpy.S: Modified.
+
+2024-05-20  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: f83e461f1014598a5cb4c89407ce303b9f0bd8ac
+	powerpc: Update ulps
+
+	* sysdeps/powerpc/fpu/libm-test-ulps: Modified.
+
+2024-05-20  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 32b2aa59da13e7b5e7936071652aeb6b0a39dde4
+	arm: Update ulps
+
+	* sysdeps/arm/libm-test-ulps: Modified.
+
+2024-05-20  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 241338bd6f039aec07cba9ed161d9ef2ca9ed16d
+	aarch64: Update ulps
+
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+
+2024-05-20  Joe Simmons-Talbott  <josimmon@redhat.com>
+            Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: ae18044f95271ed422ed847bd8d8c6d8e84674ce
+	math: Add more details to the test driver output.
+
+	* math/libm-test-driver.c: Modified.
+	(END): Modified.
+	(END_COMPLEX): Modified.
+	* math/libm-test-support.c: Modified.
+	[FE_ALL_EXCEPT](test_single_exception): Modified function.
+	(update_stats): Modified function.
+	(print_max_error): Remove function.
+	(print_complex_max_error): Remove function.
+	(test_exceptions): Modified function.
+	(test_single_errno): Modified function.
+	(test_errno): Modified function.
+	(check_float_internal): Modified function.
+	(check_int): Modified function.
+	(check_long): Modified function.
+	(check_bool): Modified function.
+	(check_longlong): Modified function.
+	(check_intmax_t): Modified function.
+	(check_uintmax_t): Modified function.
+	(libm_test_finish): Modified function.
+	(assert.h): Include file.
+	(TEST_INPUT): New.
+	(TEST_MAXERROR): New.
+	(noMaxErrorTests): New.
+	(print_test_start): New function.
+	(print_test_end): New function.
+	(check_max_error): New function.
+	(check_complex_max_error): New function.
+	* math/libm-test-support.h: Modified.
+	(print_max_error): Remove.
+	(print_complex_max_error): Remove.
+	(check_max_error): New function.
+	(check_complex_max_error): New function.
+
+2024-05-20  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 79c52daf4740b00bef43e4f5a4281b3480459b38
+	Implement C23 log2p1
+
+	* NEWS: Modified.
+	* manual/math.texi: Modified.
+	* math/Makefile: Modified.
+	* math/Versions: Modified.
+	* math/auto-libm-test-in: Modified.
+	* math/auto-libm-test-out-log2p1: New file.
+	* math/bits/mathcalls.h: Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL): New function.
+	* math/gen-auto-libm-tests.c: Modified.
+	* math/gen-tgmath-tests.py: Modified.
+	* math/libm-test-log2p1.inc: New file.
+	* math/s_log2p1_template.c: New file.
+	* math/test-tgmath.c: Modified.
+	[! HAVE_MAIN](NCALLS): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): Modified.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](F): Modified function.
+	[HAVE_MAIN](TYPE): New.
+	[HAVE_MAIN](F): New function.
+	* math/tgmath.h: Modified.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](log2p1): New.
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Modified.
+	* sysdeps/ieee754/ldbl-128ibm-compat/Versions: Modified.
+	* sysdeps/ieee754/ldbl-opt/Makefile: Modified.
+	* sysdeps/ieee754/ldbl-opt/nldbl-log2p1.c: New file.
+	* sysdeps/mach/hurd/i386/libm.abilist: Modified.
+	* sysdeps/mach/hurd/x86_64/libm.abilist: Modified.
+	* sysdeps/powerpc/nofpu/Makefile: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/alpha/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arc/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arm/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/arm/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/csky/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/hppa/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/i386/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/microblaze/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/microblaze/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/nios2/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/or1k/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sh/be/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sh/le/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Modified.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Modified.
+
+2024-05-20  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: cf0ca8d52e1653d4aa4311a4649af8dc541ce6b4
+	Update syscall lists for Linux 6.9
+
+	* sysdeps/unix/sysv/linux/syscall-names.list: Modified.
+
+2024-05-20  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 7935e7a537cd3347b922dc9f24a2b722dd80156c
+	Rename procutils_read_file to __libc_procutils_read_file [BZ #31755]
+
+	* sysdeps/unix/sysv/linux/pidfd_getpid.c: Modified.
+	(pidfd_getpid): Modified function.
+	* sysdeps/unix/sysv/linux/procutils.c: Modified.
+	(procutils_read_file): Remove function.
+	(__libc_procutils_read_file): New function.
+	* sysdeps/unix/sysv/linux/procutils.h: Modified.
+	(procutils_read_file): Remove.
+	(__libc_procutils_read_file): New function.
+
+2024-05-20  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 4e21cb95e206dddf049dec12f7d4e25a79d60e05
+	nearbyint: Don't define alias when used in IFUNC [BZ #31759]
+
+	* sysdeps/ieee754/dbl-64/s_nearbyint.c: Modified.
+	* sysdeps/ieee754/flt-32/s_nearbyintf.c: Modified.
+
+2024-05-19  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 2be3352f0b1ebaa39596393fffe1062275186669
+	Pass -nostdlib -nostartfiles together with -r [BZ #31753]
+
+	* Makefile: Modified.
+
+2024-05-18  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 8d7b6b4cb27d4dec1dd5f7960298c1699275f962
+	socket: Use may_alias on sockaddr structs (bug 19622)
+
+	* bits/socket.h: Modified.
+	[! __glibc_c99_flexarr_available](CMSG_DATA): Remove.
+	[__USE_EXTERN_INLINES][! _EXTERN_INLINE](_EXTERN_INLINE): Remove.
+	[__USE_EXTERN_INLINES](__NTH): Remove.
+	[__USE_MISC](CMGROUP_MAX): Remove.
+	[__USE_MISC](cmsgcred): Remove.
+	[__WORDSIZE != 64][! __glibc_c99_flexarr_available](CMSG_DATA): New.
+	[__WORDSIZE != 64][__USE_EXTERN_INLINES][! _EXTERN_INLINE](_EXTERN_INLINE): New.
+	[__WORDSIZE != 64][__USE_EXTERN_INLINES](__NTH): New.
+	[__WORDSIZE != 64][__USE_MISC](CMGROUP_MAX): New.
+	[__WORDSIZE != 64][__USE_MISC](cmsgcred): New.
+	[__WORDSIZE != 64][__glibc_c99_flexarr_available](CMSG_DATA): New.
+	[__WORDSIZE != 64](_SS_PADSIZE): New.
+	[__WORDSIZE != 64](__SOCKADDR_COMMON): New function.
+	[__WORDSIZE != 64](__ss_padding): New.
+	[__WORDSIZE != 64](__ss_align): New.
+	[__WORDSIZE != 64](<anonymous>): New.
+	[__WORDSIZE != 64](MSG_OOB): New.
+	[__WORDSIZE != 64](msghdr): New.
+	[__WORDSIZE != 64](cmsghdr): New.
+	[__WORDSIZE != 64](CMSG_NXTHDR): New.
+	[__WORDSIZE != 64](CMSG_FIRSTHDR): New.
+	[__WORDSIZE != 64](CMSG_ALIGN): New.
+	[__WORDSIZE != 64](CMSG_SPACE): New.
+	[__WORDSIZE != 64](CMSG_LEN): New.
+	[__WORDSIZE != 64](__CMSG_PADDING): New.
+	[__WORDSIZE != 64](__cmsg_nxthdr): New function.
+	[__WORDSIZE != 64](<anonymous>): New.
+	[__WORDSIZE != 64](SOL_SOCKET): New.
+	[__WORDSIZE != 64](<anonymous>): New.
+	[__WORDSIZE != 64](linger): New.
+	[__glibc_c99_flexarr_available](CMSG_DATA): Remove.
+	(sockaddr): Remove.
+	(_SS_PADSIZE): Remove.
+	(sockaddr_storage): Remove.
+	(<anonymous>): Remove.
+	(msghdr): Remove.
+	(cmsghdr): Remove.
+	(CMSG_NXTHDR): Remove.
+	(CMSG_FIRSTHDR): Remove.
+	(CMSG_ALIGN): Remove.
+	(CMSG_SPACE): Remove.
+	(CMSG_LEN): Remove.
+	(__CMSG_PADDING): Remove.
+	(__cmsg_nxthdr): Remove.
+	(<anonymous>): Remove.
+	(SOL_SOCKET): Remove.
+	(<anonymous>): Remove.
+	(linger): Remove.
+	(__SOCKADDR_COMMON): New function.
+	(sa_data): New.
+	* inet/netinet/in.h: Modified.
+	[! __GNUC__](IN6_IS_ADDR_UNSPECIFIED): Remove.
+	[! __GNUC__](IN6_IS_ADDR_LOOPBACK): Remove.
+	[! __GNUC__](IN6_IS_ADDR_LINKLOCAL): Remove.
+	[! __GNUC__](IN6_IS_ADDR_SITELOCAL): Remove.
+	[! __GNUC__](IN6_IS_ADDR_V4MAPPED): Remove.
+	[! __GNUC__](IN6_IS_ADDR_V4COMPAT): Remove.
+	[! __GNUC__](IN6_ARE_ADDR_EQUAL): Remove.
+	[!__USE_KERNEL_IPV6_DEFS](sockaddr_in6): Remove.
+	[!__USE_KERNEL_IPV6_DEFS](ipv6_mreq): Remove.
+	[__GNUC__](IN6_IS_ADDR_UNSPECIFIED): Remove.
+	[__GNUC__](IN6_IS_ADDR_LOOPBACK): Remove.
+	[__GNUC__](IN6_IS_ADDR_LINKLOCAL): Remove.
+	[__GNUC__](IN6_IS_ADDR_SITELOCAL): Remove.
+	[__GNUC__](IN6_IS_ADDR_V4MAPPED): Remove.
+	[__GNUC__](IN6_IS_ADDR_V4COMPAT): Remove.
+	[__GNUC__](IN6_ARE_ADDR_EQUAL): Remove.
+	[__OPTIMIZE__][__BYTE_ORDER != __BIG_ENDIAN][__BYTE_ORDER == __LITTLE_ENDIAN](ntohl): Remove.
+	[__OPTIMIZE__][__BYTE_ORDER != __BIG_ENDIAN][__BYTE_ORDER == __LITTLE_ENDIAN](ntohs): Remove.
+	[__OPTIMIZE__][__BYTE_ORDER != __BIG_ENDIAN][__BYTE_ORDER == __LITTLE_ENDIAN](htonl): Remove.
+	[__OPTIMIZE__][__BYTE_ORDER != __BIG_ENDIAN][__BYTE_ORDER == __LITTLE_ENDIAN](htons): Remove.
+	[__OPTIMIZE__][__BYTE_ORDER == __BIG_ENDIAN](ntohl): Remove.
+	[__OPTIMIZE__][__BYTE_ORDER == __BIG_ENDIAN](ntohs): Remove.
+	[__OPTIMIZE__][__BYTE_ORDER == __BIG_ENDIAN](htonl): Remove.
+	[__OPTIMIZE__][__BYTE_ORDER == __BIG_ENDIAN](htons): Remove.
+	[__USE_GNU][!__USE_KERNEL_IPV6_DEFS](in6_pktinfo): Remove.
+	[__USE_GNU][!__USE_KERNEL_IPV6_DEFS](ip6_mtuinfo): Remove.
+	[__USE_GNU](cmsghdr): Remove.
+	[__USE_GNU](__attribute_deprecated__): Remove.
+	[__USE_GNU](__attribute_deprecated__): Remove.
+	[__USE_GNU](__attribute_deprecated__): Remove.
+	[__USE_GNU](__attribute_deprecated__): Remove.
+	[__USE_GNU](__attribute_deprecated__): Remove.
+	[__USE_GNU](__attribute_deprecated__): Remove.
+	[__USE_GNU](inet6_opt_init): Remove.
+	[__USE_GNU](inet6_opt_append): Remove.
+	[__USE_GNU](inet6_opt_finish): Remove.
+	[__USE_GNU](inet6_opt_set_val): Remove.
+	[__USE_GNU](inet6_opt_next): Remove.
+	[__USE_GNU](inet6_opt_find): Remove.
+	[__USE_GNU](inet6_opt_get_val): Remove.
+	[__USE_GNU](inet6_rth_space): Remove.
+	[__USE_GNU](inet6_rth_init): Remove.
+	[__USE_GNU](inet6_rth_add): Remove.
+	[__USE_GNU](inet6_rth_reverse): Remove.
+	[__USE_GNU](inet6_rth_segments): Remove.
+	[__USE_GNU](inet6_rth_getaddr): Remove.
+	[__USE_GNU](getipv4sourcefilter): Remove.
+	[__USE_GNU](setipv4sourcefilter): Remove.
+	[__USE_GNU](getsourcefilter): Remove.
+	[__USE_GNU](setsourcefilter): Remove.
+	[__USE_MISC](ip_mreq): Remove.
+	[__USE_MISC](ip_mreqn): Remove.
+	[__USE_MISC](ip_mreq_source): Remove.
+	[__USE_MISC](group_req): Remove.
+	[__USE_MISC](group_source_req): Remove.
+	[__USE_MISC](ip_msfilter): Remove.
+	[__USE_MISC](IP_MSFILTER_SIZE): Remove.
+	[__USE_MISC](group_filter): Remove.
+	[__USE_MISC](GROUP_FILTER_SIZE): Remove.
+	[__USE_MISC](bindresvport): Remove.
+	[__USE_MISC](bindresvport6): Remove.
+	(sockaddr_in): Remove.
+	(ntohl): Remove.
+	(ntohs): Remove.
+	(htonl): Remove.
+	(htons): Remove.
+	(endian.h): Remove include.
+	(bits/byteswap.h): Remove include.
+	(bits/uintn-identity.h): Remove include.
+	(IN6_IS_ADDR_MULTICAST): Remove.
+	(IN6_IS_ADDR_MC_NODELOCAL): Remove.
+	(IN6_IS_ADDR_MC_LINKLOCAL): Remove.
+	(IN6_IS_ADDR_MC_SITELOCAL): Remove.
+	(IN6_IS_ADDR_MC_ORGLOCAL): Remove.
+	(IN6_IS_ADDR_MC_GLOBAL): Remove.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][!__USE_KERNEL_IPV6_DEFS](ipv6_mreq): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][!__USE_KERNEL_IPV6_DEFS](ipv6mr_multiaddr): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][!__USE_KERNEL_IPV6_DEFS](ipv6mr_interface): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][! __GNUC__](IN6_IS_ADDR_UNSPECIFIED): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][! __GNUC__](IN6_IS_ADDR_LOOPBACK): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][! __GNUC__](IN6_IS_ADDR_LINKLOCAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][! __GNUC__](IN6_IS_ADDR_SITELOCAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][! __GNUC__](IN6_IS_ADDR_V4MAPPED): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][! __GNUC__](IN6_IS_ADDR_V4COMPAT): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][! __GNUC__](IN6_ARE_ADDR_EQUAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][! __USE_MISC](ntohl): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__GNUC__](IN6_IS_ADDR_UNSPECIFIED): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__GNUC__](IN6_IS_ADDR_LOOPBACK): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__GNUC__](IN6_IS_ADDR_LINKLOCAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__GNUC__](IN6_IS_ADDR_SITELOCAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__GNUC__](IN6_IS_ADDR_V4MAPPED): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__GNUC__](IN6_IS_ADDR_V4COMPAT): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__GNUC__](IN6_ARE_ADDR_EQUAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__OPTIMIZE__][__BYTE_ORDER != __BIG_ENDIAN][__BYTE_ORDER == __LITTLE_ENDIAN](ntohl): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__OPTIMIZE__][__BYTE_ORDER != __BIG_ENDIAN][__BYTE_ORDER == __LITTLE_ENDIAN](ntohs): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__OPTIMIZE__][__BYTE_ORDER != __BIG_ENDIAN][__BYTE_ORDER == __LITTLE_ENDIAN](htonl): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__OPTIMIZE__][__BYTE_ORDER != __BIG_ENDIAN][__BYTE_ORDER == __LITTLE_ENDIAN](htons): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__OPTIMIZE__][__BYTE_ORDER == __BIG_ENDIAN](ntohl): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__OPTIMIZE__][__BYTE_ORDER == __BIG_ENDIAN](ntohs): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__OPTIMIZE__][__BYTE_ORDER == __BIG_ENDIAN](htonl): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__OPTIMIZE__][__BYTE_ORDER == __BIG_ENDIAN](htons): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU][!__USE_KERNEL_IPV6_DEFS](in6_pktinfo): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU][!__USE_KERNEL_IPV6_DEFS](ip6_mtuinfo): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](cmsghdr): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](__attribute_deprecated__): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](__attribute_deprecated__): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](__attribute_deprecated__): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](__attribute_deprecated__): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](__attribute_deprecated__): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](__attribute_deprecated__): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_opt_init): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_opt_append): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_opt_finish): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_opt_set_val): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_opt_next): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_opt_find): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_opt_get_val): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_rth_space): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_rth_init): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_rth_add): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_rth_reverse): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_rth_segments): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](inet6_rth_getaddr): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](getipv4sourcefilter): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](setipv4sourcefilter): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](getsourcefilter): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_GNU](setsourcefilter): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](group_req): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gr_interface): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gr_group): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](group_source_req): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gsr_interface): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gsr_group): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gsr_source): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](ip_msfilter): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](imsf_multiaddr): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](imsf_interface): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](imsf_fmode): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](imsf_numsrc): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](imsf_slist): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](IP_MSFILTER_SIZE): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](group_filter): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gf_interface): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gf_group): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gf_fmode): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gf_numsrc): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](gf_slist): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](GROUP_FILTER_SIZE): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](ntohl): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](bindresvport): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS][__USE_MISC](bindresvport6): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](ntohs): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](htonl): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](htons): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](endian.h): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](bits/byteswap.h): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](bits/uintn-identity.h): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](IN6_IS_ADDR_MULTICAST): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](IN6_IS_ADDR_MC_NODELOCAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](IN6_IS_ADDR_MC_LINKLOCAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](IN6_IS_ADDR_MC_SITELOCAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](IN6_IS_ADDR_MC_ORGLOCAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][! __USE_MISC][__USE_KERNEL_IPV6_DEFS](IN6_IS_ADDR_MC_GLOBAL): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](ip_mreq): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](imr_multiaddr): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](imr_interface): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](ip_mreqn): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](imr_multiaddr): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](imr_address): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](imr_ifindex): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](ip_mreq_source): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](imr_multiaddr): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](imr_interface): New.
+	[! __USE_KERNEL_IPV6_DEFS][__USE_MISC](imr_sourceaddr): New.
+	[! __USE_KERNEL_IPV6_DEFS](__SOCKADDR_COMMON): New.
+	[! __USE_KERNEL_IPV6_DEFS](sin6_port): New.
+	[! __USE_KERNEL_IPV6_DEFS](sin6_flowinfo): New.
+	[! __USE_KERNEL_IPV6_DEFS](sin6_addr): New.
+	[! __USE_KERNEL_IPV6_DEFS](sin6_scope_id): New.
+	[__USE_KERNEL_IPV6_DEFS](sockaddr_in6): New.
+	(__SOCKADDR_COMMON): New function.
+	(sin_port): New.
+	(sin_addr): New.
+	* misc/sys/cdefs.h: Modified.
+	[!(__GNUC_PREREQ (7, 1) ||  __clang__)](__attribute_struct_may_alias__): New.
+	[__GNUC_PREREQ (7, 1) ||  __clang__](__attribute_struct_may_alias__): New.
+	* socket/sys/un.h: Modified.
+	(sockaddr_un): Remove.
+	(__SOCKADDR_COMMON): New function.
+	(sun_path): New.
+	* sysdeps/mach/hurd/bits/socket.h: Modified.
+	[! __glibc_c99_flexarr_available](CMSG_DATA): Remove.
+	[__USE_EXTERN_INLINES][! _EXTERN_INLINE](_EXTERN_INLINE): Remove.
+	[__USE_EXTERN_INLINES](__NTH): Remove.
+	[__USE_MISC](CMGROUP_MAX): Remove.
+	[__USE_MISC](cmsgcred): Remove.
+	[__WORDSIZE != 64][! __glibc_c99_flexarr_available](CMSG_DATA): New.
+	[__WORDSIZE != 64][__USE_EXTERN_INLINES][! _EXTERN_INLINE](_EXTERN_INLINE): New.
+	[__WORDSIZE != 64][__USE_EXTERN_INLINES](__NTH): New.
+	[__WORDSIZE != 64][__USE_MISC](CMGROUP_MAX): New.
+	[__WORDSIZE != 64][__USE_MISC](cmsgcred): New.
+	[__WORDSIZE != 64][__glibc_c99_flexarr_available](CMSG_DATA): New.
+	[__WORDSIZE != 64](_SS_PADSIZE): New.
+	[__WORDSIZE != 64](__SOCKADDR_COMMON): New function.
+	[__WORDSIZE != 64](__ss_padding): New.
+	[__WORDSIZE != 64](__ss_align): New.
+	[__WORDSIZE != 64](<anonymous>): New.
+	[__WORDSIZE != 64](MSG_OOB): New.
+	[__WORDSIZE != 64](msghdr): New.
+	[__WORDSIZE != 64](cmsghdr): New.
+	[__WORDSIZE != 64](CMSG_NXTHDR): New.
+	[__WORDSIZE != 64](CMSG_FIRSTHDR): New.
+	[__WORDSIZE != 64](CMSG_ALIGN): New.
+	[__WORDSIZE != 64](CMSG_SPACE): New.
+	[__WORDSIZE != 64](CMSG_LEN): New.
+	[__WORDSIZE != 64](__CMSG_PADDING): New.
+	[__WORDSIZE != 64](__cmsg_nxthdr): New function.
+	[__WORDSIZE != 64](<anonymous>): New.
+	[__WORDSIZE != 64](SOL_SOCKET): New.
+	[__WORDSIZE != 64](<anonymous>): New.
+	[__WORDSIZE != 64](linger): New.
+	[__glibc_c99_flexarr_available](CMSG_DATA): Remove.
+	(sockaddr): Remove.
+	(_SS_PADSIZE): Remove.
+	(sockaddr_storage): Remove.
+	(<anonymous>): Remove.
+	(msghdr): Remove.
+	(cmsghdr): Remove.
+	(CMSG_NXTHDR): Remove.
+	(CMSG_FIRSTHDR): Remove.
+	(CMSG_ALIGN): Remove.
+	(CMSG_SPACE): Remove.
+	(CMSG_LEN): Remove.
+	(__CMSG_PADDING): Remove.
+	(__cmsg_nxthdr): Remove.
+	(<anonymous>): Remove.
+	(SOL_SOCKET): Remove.
+	(<anonymous>): Remove.
+	(linger): Remove.
+	(__SOCKADDR_COMMON): New function.
+	(sa_data): New.
+	* sysdeps/unix/sysv/linux/bits/socket.h: Modified.
+	(sockaddr): Remove.
+	(sockaddr_storage): Remove.
+	(<anonymous>): Modified.
+	(__SOCKADDR_COMMON): New function.
+	(sa_data): New.
+	(__SOCKADDR_COMMON): New function.
+	(__ss_padding): New.
+	(__ss_align): New.
+	(MSG_OOB): New.
+	* sysdeps/unix/sysv/linux/net/if_packet.h: Modified.
+	(sockaddr_pkt): Remove.
+	(__SOCKADDR_COMMON): New function.
+	(spkt_device): New.
+	(spkt_protocol): New.
+	* sysdeps/unix/sysv/linux/netash/ash.h: Modified.
+	(sockaddr_ash): Remove.
+	(__SOCKADDR_COMMON): New function.
+	(sash_ifindex): New.
+	(sash_channel): New.
+	(sash_plen): New.
+	(sash_prefix): New.
+	* sysdeps/unix/sysv/linux/neteconet/ec.h: Modified.
+	(sockaddr_ec): Remove.
+	(__SOCKADDR_COMMON): New function.
+	(port): New.
+	(cb): New.
+	(type): New.
+	(addr): New.
+	(cookie): New.
+	* sysdeps/unix/sysv/linux/netiucv/iucv.h: Modified.
+	(sockaddr_iucv): Remove.
+	(__SOCKADDR_COMMON): New function.
+	(siucv_port): New.
+	(siucv_addr): New.
+	(siucv_nodeid): New.
+	(siucv_user_id): New.
+	(siucv_name): New.
+
+2024-05-17  Alexandre Ferrieux  <alexandre.ferrieux@orange.com>
+            H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 2a99e2398d9d717c034e915f7846a49e623f5450
+	Use a doubly-linked list for _IO_list_all (bug 27777)
+
+	* libio/bits/types/struct_FILE.h: Modified.
+	(_IO_FILE_complete): Modified.
+	* libio/genops.c: Modified.
+	(_IO_un_link): Modified function.
+	(_IO_link_in): Modified function.
+	(_Static_assert): New function.
+	* libio/stdfiles.c: Modified.
+	(_IO_stdfiles_init): New function.
+
+2024-05-16  Manjunath Matti  <mmatti@linux.ibm.com>
+
+	COMMIT: a81cdde1cb9d514fc8f014ddf21771c96ff2c182
+	powerpc64: Fix by using the configure value $libc_cv_cc_submachine [BZ #31629]
+
+	* sysdeps/powerpc/powerpc64/configure: Modified.
+	* sysdeps/powerpc/powerpc64/configure.ac: Modified.
+
+2024-05-16  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: fa9aecc045e9e7d0c2f4e182748491f732e63dd2
+	benchtests: Add fclose benchmark
+
+	* benchtests/Makefile: Modified.
+	* benchtests/README: Modified.
+	* benchtests/bench-fclose.c: New file.
+
+2024-05-16  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: 75207bde6870eb4b258e16fbb41252b2e6377675
+	aarch64/fpu: Add vector variants of cbrt
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4v_cbrtf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2v_cbrt): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_cbrtf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_cbrt): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_cbrt): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_cbrtf): New.
+	* sysdeps/aarch64/fpu/cbrt_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/cbrt_sve.c: New file.
+	* sysdeps/aarch64/fpu/cbrtf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/cbrtf_sve.c: New file.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-05-16  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: 157f89fa3d616729c8d7797168a9b3eaaa6ebf6e
+	aarch64/fpu: Add vector variants of hypot
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4vv_hypotf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2vv_hypot): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxvv_hypotf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxvv_hypot): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_hypot): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_hypotf): New.
+	* sysdeps/aarch64/fpu/hypot_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/hypot_sve.c: New file.
+	* sysdeps/aarch64/fpu/hypotf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/hypotf_sve.c: New file.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER_ff): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER_ff): New.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-05-16  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: a743fd95bb895001584b018033418b84b451e67e
+	Use Linux 6.9 in build-many-glibcs.py
+
+	* scripts/build-many-glibcs.py: Modified.
+
+2024-05-15  Jules Bertholet  <julesbertholet@quoi.xyz>
+
+	COMMIT: 25c9c3789ecf35a5dc303261abcef7993112017d
+	localedata: Fix several issues with the set of characters considered 0-width [BZ #31370]
+
+	* SHARED-FILES: Modified.
+	* localedata/charmaps/UTF-8: Modified.
+	* localedata/unicode-gen/HangulSyllableType.txt: New file.
+	* localedata/unicode-gen/Makefile: Modified.
+	* localedata/unicode-gen/PropList.txt: Delete file.
+	* localedata/unicode-gen/utf8_gen.py: Modified.
+
+2024-05-15  mengqinggang  <mengqinggang@loongson.cn>
+
+	COMMIT: 1dbf2bef7934cee9829d875f11968d6ff1fee77f
+	LoongArch: Add support for TLS Descriptors
+
+	* config.h.in: Modified.
+	* elf/elf.h: Modified.
+	(R_LARCH_TLS_DESC32): New.
+	(R_LARCH_TLS_DESC64): New.
+	* sysdeps/loongarch/Makefile: Modified.
+	* sysdeps/loongarch/configure: Modified.
+	* sysdeps/loongarch/configure.ac: Modified.
+	* sysdeps/loongarch/dl-machine.h: Modified.
+	[! dl_machine_h](dl-tls.h): Remove include.
+	[! dl_machine_h](dl-tlsdesc.h): Include file.
+	[RESOLVE_MAP](elf_machine_rela): Modified function.
+	[RESOLVE_MAP](elf_machine_lazy_rel): Modified function.
+	* sysdeps/loongarch/dl-tls.h: Modified.
+	(_DL_TLS_H): New.
+	* sysdeps/loongarch/dl-tlsdesc.S: New file.
+	* sysdeps/loongarch/dl-tlsdesc.h: New file.
+	* sysdeps/loongarch/linkmap.h: Modified.
+	(link_map_machine): Modified.
+	* sysdeps/loongarch/preconfigure: Modified.
+	* sysdeps/loongarch/sys/asm.h: Modified.
+	(SZFCSREG): New.
+	* sysdeps/loongarch/sys/regdef.h: Modified.
+	(fcsr0): New.
+	* sysdeps/loongarch/tlsdesc.c: New file.
+	* sysdeps/loongarch/tlsdesc.sym: New file.
+	* sysdeps/loongarch/tst-gnu2-tls2.h: New file.
+
+2024-05-14  Joe Talbott  <joetalbott@gmail.com>
+
+	COMMIT: f942a732d37a96217ef828116ebe64a644db18d7
+	math: Add GLIBC_TEST_LIBM_VERBOSE environment variable support.
+
+	* math/libm-test-support.c: Modified.
+	(verbose): Modified.
+	(parse_opt): Modified function.
+	(libm_test_init): Modified function.
+
+2024-05-14  Joe Simmons-Talbott  <josimmon@redhat.com>
+
+	COMMIT: 3395157ff2b0657d70c36169156f67440205c8bf
+	malloc: Improve aligned_alloc and calloc test coverage.
+
+	* malloc/Makefile: Modified.
+	* malloc/tst-aligned-alloc-random.c: New file.
+	* malloc/tst-aligned_alloc-lib.c: New file.
+	* malloc/tst-malloc-random.c: New file.
+	* malloc/tst-malloc.c: Modified.
+	(do_test): Modified function.
+	(stdlib.h): Include file.
+	(time.h): Include file.
+
+2024-05-14  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: 90a6ca8b28bf34e361e577e526e1b0f4c39a32a5
+	aarch64: Fix AdvSIMD libmvec routines for big-endian
+
+	* sysdeps/aarch64/fpu/asinh_advsimd.c: Modified.
+	(lookup): Modified function.
+	(IndexMask): New.
+	* sysdeps/aarch64/fpu/cosh_advsimd.c: Modified.
+	(data): Modified.
+	(exp_inline): Modified function.
+	* sysdeps/aarch64/fpu/erf_advsimd.c: Modified.
+	(lookup): Modified function.
+	* sysdeps/aarch64/fpu/erfc_advsimd.c: Modified.
+	(data): Modified.
+	(lookup): Modified function.
+	(V_NAME_D1): Modified function.
+	* sysdeps/aarch64/fpu/erfcf_advsimd.c: Modified.
+	(data): Modified.
+	(lookup): Modified function.
+	(V_NAME_F1): Modified function.
+	* sysdeps/aarch64/fpu/erff_advsimd.c: Modified.
+	(lookup): Modified function.
+	* sysdeps/aarch64/fpu/exp10f_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_F1): Modified function.
+	* sysdeps/aarch64/fpu/expm1_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_D1): Modified function.
+	* sysdeps/aarch64/fpu/expm1f_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_F1): Modified function.
+	* sysdeps/aarch64/fpu/log10_advsimd.c: Modified.
+	(lookup): Modified function.
+	* sysdeps/aarch64/fpu/log2_advsimd.c: Modified.
+	(lookup): Modified function.
+	* sysdeps/aarch64/fpu/log_advsimd.c: Modified.
+	(lookup): Modified function.
+	* sysdeps/aarch64/fpu/sinh_advsimd.c: Modified.
+	(data): Modified.
+	(expm1_inline): Modified function.
+	* sysdeps/aarch64/fpu/tan_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_D1): Modified function.
+	* sysdeps/aarch64/fpu/tanf_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_F1): Modified function.
+	* sysdeps/aarch64/fpu/v_expf_inline.h: Modified.
+	(v_expf_data): Modified.
+	(v_expf_inline): Modified function.
+	* sysdeps/aarch64/fpu/v_expm1f_inline.h: Modified.
+	(v_expm1f_data): Modified.
+	(expm1f_inline): Modified function.
+
+2024-05-14  Andreas Schwab  <schwab@suse.de>
+
+	COMMIT: ec6ed525f1aa24fd38ea5153e88d14d92d0d2f82
+	Unify output from backtrace_symbols_fd with backtrace_symbols (bug 31730)
+
+	* debug/backtracesymsfd.c: Modified.
+	(__backtrace_symbols_fd): Modified function.
+
+2024-05-13  DJ Delorie  <dj@redhat.com>
+
+	COMMIT: a07e000e82cb71238259e674529c37c12dc7d423
+	manual: add dup3
+
+	* manual/llio.texi: Modified.
+
+2024-05-13  Maciej W. Rozycki  <macro@redhat.com>
+
+	COMMIT: e3c375eb4f33e265b0cb186435c0b540ed27d2da
+	libio/bug-wsetpos: Make the error message match the causing function
+
+	* libio/bug-wsetpos.c: Modified.
+	(do_test): Modified function.
+
+2024-05-10  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: d49cd6a1913da9744b9a0ffbefb3f7958322382e
+	malloc/Makefile: Split and sort tests
+
+	* malloc/Makefile: Modified.
+
+2024-05-09  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 2dcaf70643710e22f92a351e36e3cff8b48c60dc
+	Force DT_RPATH for --enable-hardcoded-path-in-tests
+
+	* Makeconfig: Modified.
+
+2024-05-09  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: ae515ba530be76d6627740ddc33a3a63f8c7e4f9
+	powerpc: Fix __fesetround_inline_nocheck on POWER9+ (BZ 31682)
+
+	* sysdeps/powerpc/fpu/fenv_libc.h: Modified.
+	(__fesetround_inline_nocheck): Remove function.
+	(__fesetround_inline_disable_inexact): New function.
+	* sysdeps/powerpc/fpu/round_to_integer.h: Modified.
+	(set_fenv_mode): Modified function.
+
+2024-05-08  Gabi Falk  <gabifalk@gmx.com>
+
+	COMMIT: dd5f891c1ad9f1b43b9db93afe2a55cbb7a6194e
+	x86_64: Fix missing wcsncat function definition without multiarch (x86-64-v4)
+
+	* sysdeps/x86_64/multiarch/wcsncat-evex.S: Modified.
+
+2024-05-08  Mike FABIAN  <mfabian@redhat.com>
+
+	COMMIT: 88dca8d5f85c6ad77f6d754f95cc54e9b905747f
+	localedata: fix weekdays in mdf_RU locale
+
+	* localedata/locales/mdf_RU: Modified.
+
+2024-05-08  Mike FABIAN  <mfabian@redhat.com>
+
+	COMMIT: 79fe4a0fa07d0fff98888965f47842251f554dd4
+	localedata: add mdf_RU locale
+
+	* localedata/Makefile: Modified.
+	* localedata/SUPPORTED: Modified.
+	* localedata/locales/mdf_RU: New file.
+	* localedata/mdf_RU.UTF-8.in: New file.
+
+2024-05-07  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: eb59c7b43dd5c64c38e4c3cd21e7ad75d8d29cb0
+	elf: Make glibc.rtld.enable_secure ignore alias environment variables
+
+	* elf/dl-tunables.c: Modified.
+	(__tunables_init): Modified function.
+	* elf/tst-tunables-enable_secure.c: Modified.
+	(test_t): Modified.
+	(check): Remove.
+	(handle_restart): Modified function.
+	(do_test): Modified function.
+	(TUNABLES_INTERNAL): New.
+	(GLIBC_TUNABLES): New.
+	* scripts/gen-tunables.awk: Modified.
+
+2024-05-07  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 1e1ad714ee9a663eda0e2bffad1d9f258b00a4e9
+	support: Add envp argument to support_capture_subprogram
+
+	* elf/tst-audit18.c: Modified.
+	(do_test): Modified function.
+	* elf/tst-audit19b.c: Modified.
+	(do_test): Modified function.
+	* elf/tst-audit22.c: Modified.
+	(do_test): Modified function.
+	* elf/tst-audit23.c: Modified.
+	(do_test): Modified function.
+	* elf/tst-audit25a.c: Modified.
+	(do_test): Modified function.
+	* elf/tst-audit25b.c: Modified.
+	(do_test): Modified function.
+	* elf/tst-glibc-hwcaps-2-cache.c: Modified.
+	(main): Modified function.
+	* elf/tst-rtld-run-static.c: Modified.
+	(do_test): Modified function.
+	* elf/tst-tunables-enable_secure.c: Modified.
+	(do_test): Modified function.
+	* elf/tst-tunables.c: Modified.
+	(do_test): Modified function.
+	* support/capture_subprocess.h: Modified.
+	(support_capture_subprogram): Modified.
+	* support/subprocess.h: Modified.
+	(support_subprogram): Modified.
+	* support/support_capture_subprocess.c: Modified.
+	(support_capture_subprogram): Modified function.
+	* support/support_subprocess.c: Modified.
+	(support_subprogram): Modified function.
+	* support/tst-support_capture_subprocess.c: Modified.
+	(do_subprogram): Modified function.
+	* sysdeps/x86/tst-hwcap-tunables.c: Modified.
+	(do_test): Modified function.
+
+2024-05-07  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: c8a0e21da63b6e5c7f558cdd31a5d208c1677df3
+	elf: Remove glibc.rtld.enable_secure check from parse_tunables_string
+
+	* elf/dl-tunables.c: Modified.
+	(tunable_initialize): Modified function.
+	(parse_tunables_string): Modified function.
+	(parse_tunables): Modified function.
+	(tunable_parse_num): New function.
+	(parse_tunable_print_error): New function.
+
+2024-05-07  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: bcae44ea8536b30a7119c0986ff5692bddacb672
+	elf: Only process multiple tunable once (BZ 31686)
+
+	* elf/dl-tunables.c: Modified.
+	(parse_tunables_string): Modified function.
+	(parse_tunables): Modified function.
+	(dl-symbol-redir-ifunc.h): Include file.
+	* elf/tst-tunables.c: Modified.
+	(test_t): Modified.
+	(do_test): Modified function.
+	(TUNABLES_INTERNAL): New.
+	(support/support.h): Include file.
+	* sysdeps/aarch64/multiarch/memset_generic.S: Modified.
+	* sysdeps/sparc/sparc64/rtld-memset.c: Modified.
+	[IS_IN(rtld)](strong_alias): New.
+
+2024-05-06  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: 143ef68b2aded7c794956beddad495af8c7d3251
+	NEWS: Add advisories.
+
+	* NEWS: Modified.
+
+2024-05-06  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: d4d9a805a58c2593f7610198a198d24a41eef561
+	Document CVE-2024-33599, CVE-2024-33600, CVE-2024-33601, CVE-2024-33602
+
+	* advisories/GLIBC-SA-2024-0005: New file.
+	* advisories/GLIBC-SA-2024-0006: New file.
+	* advisories/GLIBC-SA-2024-0007: New file.
+	* advisories/GLIBC-SA-2024-0008: New file.
+
+2024-05-06  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 5f245f3bfbe61b2182964dafb94907e38284b806
+	Add crt1-2.0.o for glibc 2.0 compatibility tests
+
+	* Makeconfig: Modified.
+	* Rules: Modified.
+	* csu/Makefile: Modified.
+	* libio/Makefile: Modified.
+	* libio/tst-stderr-compat.c: New file.
+	* math/Makefile: Modified.
+	* sysdeps/pthread/Makefile: Modified.
+
+2024-05-06  Amrita H S  <amritahs@linux.ibm.com>
+
+	COMMIT: 23f0d81608d0ca6379894ef81670cf30af7fd081
+	powerpc: Optimized strncmp for power10
+
+	* sysdeps/powerpc/powerpc64/le/power10/strncmp.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Modified.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Modified.
+	(__libc_ifunc_impl_list): Modified function.
+	* sysdeps/powerpc/powerpc64/multiarch/strncmp-power10.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strncmp.c: Modified.
+	[__LITTLE_ENDIAN__](libc_ifunc_redirected): Modified.
+	[__LITTLE_ENDIAN__](__strncmp_power10): New.
+
+2024-05-03  Stafford Horne  <shorne@gmail.com>
+
+	COMMIT: ea73eb5f581ef5931fd67005aa0c526ba43366c9
+	build-many-glibcs.py: Add openrisc hard float glibc variant
+
+	* scripts/build-many-glibcs.py: Modified.
+
+2024-05-03  Stafford Horne  <shorne@gmail.com>
+
+	COMMIT: 643d9d38d50b32b5f20fb8ff5da17bff412821b6
+	or1k: Add hard float support
+
+	* sysdeps/or1k/fpu/fclrexcpt.c: New file.
+	* sysdeps/or1k/fpu/fegetenv.c: New file.
+	* sysdeps/or1k/fpu/fegetmode.c: New file.
+	* sysdeps/or1k/fpu/fegetround.c: New file.
+	* sysdeps/or1k/fpu/feholdexcpt.c: New file.
+	* sysdeps/or1k/fpu/fenv_private.h: New file.
+	* sysdeps/or1k/fpu/fesetenv.c: New file.
+	* sysdeps/or1k/fpu/fesetexcept.c: New file.
+	* sysdeps/or1k/fpu/fesetmode.c: New file.
+	* sysdeps/or1k/fpu/fesetround.c: New file.
+	* sysdeps/or1k/fpu/feupdateenv.c: New file.
+	* sysdeps/or1k/fpu/fgetexcptflg.c: New file.
+	* sysdeps/or1k/fpu/fix-fp-int-convert-overflow.h: New file.
+	* sysdeps/or1k/fpu/fraiseexcpt.c: New file.
+	* sysdeps/or1k/fpu/fsetexcptflg.c: New file.
+	* sysdeps/or1k/fpu/ftestexcept.c: New file.
+	* sysdeps/or1k/fpu/get-rounding-mode.h: New file.
+	* sysdeps/or1k/fpu_control.h: New file.
+	* sysdeps/or1k/math-tests-snan-payload.h: New file.
+	* sysdeps/or1k/math-tests-trap.h: New file.
+	* sysdeps/or1k/sfp-machine.h: Modified.
+	[__or1k_hard_float__](FP_INIT_ROUNDMODE): New.
+	[__or1k_hard_float__](FP_HANDLE_EXCEPTIONS): New.
+	* sysdeps/unix/sysv/linux/or1k/Versions: New file.
+	* sysdeps/unix/sysv/linux/or1k/getcontext-common.S: New file.
+	* sysdeps/unix/sysv/linux/or1k/getcontext.S: Modified.
+	* sysdeps/unix/sysv/linux/or1k/libc.abilist: Modified.
+	* sysdeps/unix/sysv/linux/or1k/makecontext.c: Modified.
+	(__makecontext): Modified function.
+	(weak_alias): Remove.
+	[SHLIB_COMPAT (libc, GLIBC_2_35, GLIBC_2_40)](__makecontext_nofpcsr): New.
+	[SHLIB_COMPAT (libc, GLIBC_2_35, GLIBC_2_40)](compat_symbol): New.
+	(shlib-compat.h): Include file.
+	(do_makecontext): New function.
+	(versioned_symbol): New function.
+	* sysdeps/unix/sysv/linux/or1k/setcontext-common.S: New file.
+	* sysdeps/unix/sysv/linux/or1k/setcontext.S: Modified.
+	* sysdeps/unix/sysv/linux/or1k/swapcontext-common.S: New file.
+	* sysdeps/unix/sysv/linux/or1k/swapcontext.S: Modified.
+	* sysdeps/unix/sysv/linux/or1k/sys/ucontext.h: Modified.
+	(mcontext_t): Modified.
+	* sysdeps/unix/sysv/linux/or1k/ucontext_i.sym: Modified.
+
+2024-05-03  Stafford Horne  <shorne@gmail.com>
+
+	COMMIT: b57adfa49b7ec75fad94548fb66fddc3bd92f457
+	or1k: Add hard float libm-test-ulps
+
+	* sysdeps/or1k/fpu/libm-test-ulps: New file.
+	* sysdeps/or1k/fpu/libm-test-ulps-name: New file.
+	* sysdeps/or1k/libm-test-ulps-name: Delete file.
+	* sysdeps/or1k/libm-test-ulps: Move to...
+	* sysdeps/or1k/nofpu/libm-test-ulps: ... here.
+	* sysdeps/or1k/nofpu/libm-test-ulps-name: New file.
+
+2024-05-02  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 4bbca1a44691a6e9adcee5c6798a707b626bc331
+	nscd: Use time_t for return type of addgetnetgrentX
+
+	* nscd/netgroupcache.c: Modified.
+	(readdinnetgr): Modified function.
+
+2024-05-02  Gabi Falk  <gabifalk@gmx.com>
+
+	COMMIT: ded2e0753e9c46debeb2e0d26c5e560d2581d314
+	Add a test to check for duplicate definitions in the static library
+
+	* Makefile: Modified.
+
+2024-05-02  Gabi Falk  <gabifalk@gmx.com>
+
+	COMMIT: 5a2cf833f5772d6c37c7adac388dd9af9cc1c4b9
+	i686: Fix multiple definitions of __memmove_chk and __memset_chk
+
+	* sysdeps/i386/i686/memmove.S: Modified.
+	* sysdeps/i386/i686/memset.S: Modified.
+
+2024-05-02  Gabi Falk  <gabifalk@gmx.com>
+
+	COMMIT: 0fdf4ba48ccce5abf567340b0ab8fa8ed8a9bc6e
+	i586: Fix multiple definitions of __memcpy_chk and __mempcpy_chk
+
+	* sysdeps/i386/i586/memcpy.S: Modified.
+
+2024-05-02  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 552073e4b88183994d8e13f693317bad89dd40f7
+	nscd: Typo inside comment in netgroup cache
+
+	* nscd/netgroupcache.c: Modified.
+
+2024-05-01  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: 91695ee4598b39d181ab8df579b888a8863c4cab
+	time: Allow later version licensing.
+
+	* sysdeps/unix/sysv/linux/timespec_get.c: Modified.
+	* sysdeps/unix/sysv/linux/timespec_getres.c: Modified.
+	* time/timespec_get.c: Modified.
+	* time/timespec_getres.c: Modified.
+
+2024-04-30  Sergey Bugaev  <bugaevc@gmail.com>
+
+	COMMIT: bc8879f4f5f3bc19f6f87a0b7136fd5297dce628
+	hurd: Stop mapping AT_NO_AUTOMOUNT to O_NOTRANS
+
+	* hurd/hurd/fd.h: Modified.
+	[__USE_EXTERN_INLINES &&  _LIBC][IS_IN (libc)](__hurd_at_flags): Modified function.
+
+2024-04-30  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: ddf71c550a5940deca74cc676f1cae134a891717
+	libio: Sort test variables in Makefile
+
+	* libio/Makefile: Modified.
+
+2024-04-30  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	COMMIT: 6dae61567fbf4e7519bcdeb20a5f4026715c354e
+	AArch64: Remove unused defines of CPU names
+
+	* sysdeps/aarch64/cpu-features.h: Modified.
+	(IS_NEOVERSE_N1): Remove.
+	(IS_NEOVERSE_N2): Remove.
+	(IS_NEOVERSE_V1): Remove.
+
+2024-04-30  Mark Wielaard  <mark@klomp.org>
+
+	COMMIT: ebfd73a80f15559fe59fee32a7844c6b8fa99576
+	Make sure INSTALL is ASCII plaintext again
+
+	* INSTALL: Modified.
+	* Makefile: Modified.
+
+2024-04-25  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: b62928f9070c6f3c5cc43a4cb89b4bfb950d7406
+	x86: In ld.so, diagnose missing APX support in APX-only builds
+
+	* sysdeps/x86/dl-get-cpu-features.c: Modified.
+	[SHARED](_dl_x86_init_cpu_features): Modified function.
+
+2024-04-25  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 049b7684c912dd32b67b1b15b0f43bf07d5f512e
+	elf: Also compile dl-misc.os with $(rtld-early-cflags)
+
+	* elf/Makefile: Modified.
+
+2024-04-25  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: c04a21e050d64a1193a6daab872bca2528bda44b
+	CVE-2024-33601, CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX (bug 31680)
+
+	* nscd/netgroupcache.c: Modified.
+	(do_notfound): Modified function.
+	(addgetnetgrentX): Modified function.
+	(addinnetgrX): Modified function.
+	(addgetnetgrentX_ignore): Modified function.
+	(readdinnetgr): Modified function.
+	(scratch_buffer.h): Include file.
+	(send_notfound): New function.
+	(addgetnetgrentX_scratch): New.
+	(addgetnetgrentX_scratch_init): New function.
+	(addgetnetgrentX_scratch_free): New function.
+	(addgetnetgrentX_append_n): New function.
+	(addgetnetgrentX_append): New function.
+
+2024-04-25  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: b048a482f088e53144d26a61c390bed0210f49f2
+	CVE-2024-33600: nscd: Avoid null pointer crashes after notfound response (bug 31678)
+
+	* nscd/netgroupcache.c: Modified.
+	(addinnetgrX): Modified function.
+
+2024-04-25  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 7835b00dbce53c3c87bbbb1754a95fb5e58187aa
+	CVE-2024-33600: nscd: Do not send missing not-found response in addgetnetgrentX (bug 31678)
+
+	* nscd/netgroupcache.c: Modified.
+	(addgetnetgrentX): Modified function.
+
+2024-04-25  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 87801a8fd06db1d654eea3e4f7626ff476a9bdaa
+	CVE-2024-33599: nscd: Stack-based buffer overflow in netgroup cache (bug 31677)
+
+	* nscd/netgroupcache.c: Modified.
+	(addinnetgrX): Modified function.
+
+2024-04-25  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 3a3a4497421422aa854c855cbe5110ca7d598ffc
+	i386: ulp update for SSE2 --disable-multi-arch configurations
+
+	* sysdeps/i386/fpu/libm-test-ulps: Modified.
+
+2024-04-25  Aurelien Jarno  <aurelien@aurel32.net>
+
+	COMMIT: 41903cb6f460d62ba6dd2f4883116e2a624ee6f8
+	GLIBC-SA-2024-0004: add commit for 2.31 branch
+
+	* advisories/GLIBC-SA-2024-0004: Modified.
+
+2024-04-24  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	COMMIT: f262fce61671c38d436d2d0cd68dab5642ac9ef0
+	benchtests: Add difficult strstr needle for bruteforce algorithms
+
+	* benchtests/bench-strstr.c: Modified.
+	(test_hard_needle): Modified function.
+
+2024-04-24  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 46c999741340ea559784c20a45077955b50aca43
+	x86: Define MINIMUM_X86_ISA_LEVEL in config.h [BZ #31676]
+
+	* config.h.in: Modified.
+	* sysdeps/x86/configure: Modified.
+	* sysdeps/x86/configure.ac: Modified.
+	* sysdeps/x86/isa-level.h: Modified.
+	(MINIMUM_X86_ISA_LEVEL): Remove.
+	[! MINIMUM_X86_ISA_LEVEL](MINIMUM_X86_ISA_LEVEL): New.
+
+2024-04-24  caiyinyu  <caiyinyu@loongson.cn>
+
+	COMMIT: 095067efdf68c8061d6f99a21a0300841bede999
+	LoongArch: Add glibc.cpu.hwcap support.
+
+	* manual/tunables.texi: Modified.
+	* sysdeps/loongarch/Makefile: Modified.
+	* sysdeps/loongarch/cpu-tunables.c: New file.
+	* sysdeps/loongarch/dl-get-cpu-features.c: New file.
+	* sysdeps/loongarch/dl-machine.h: Modified.
+	[! dl_machine_h](cpu-features.c): Include file.
+	[! dl_machine_h](DL_PLATFORM_INIT): New.
+	[! dl_machine_h](dl_platform_init): New function.
+	[RESOLVE_MAP](elf_machine_runtime_setup): Modified function.
+	* sysdeps/loongarch/dl-tunables.list: New file.
+	* sysdeps/loongarch/lp64/multiarch/dl-symbol-redir-ifunc.h: Modified.
+	(memset): Remove.
+	[! SHARED](memset): New.
+	[! SHARED](memcmp): New.
+	* sysdeps/loongarch/tst-hwcap-tunables.c: New file.
+	* sysdeps/unix/sysv/linux/loongarch/cpu-features.c: New file.
+	* sysdeps/unix/sysv/linux/loongarch/cpu-features.h: Modified.
+	(SUPPORT_UAL): Modified.
+	(SUPPORT_LSX): Modified.
+	(SUPPORT_LASX): Modified.
+	(stdint.h): Include file.
+	(cpu_features): New.
+	(_dl_larch_get_cpu_features): New function.
+	(RTLD_SUPPORT_LSX): New.
+	(RTLD_SUPPORT_LASX): New.
+	* sysdeps/unix/sysv/linux/loongarch/dl-procinfo.c: New file.
+	* sysdeps/unix/sysv/linux/loongarch/dl-sysdep.c: New file.
+	* sysdeps/unix/sysv/linux/loongarch/libc-start.c: New file.
+
+2024-04-23  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: f4724843ada64a51d66f65d3199fe431f9d4c254
+	nptl: Fix tst-cancel30 on kernels without ppoll_time64 support
+
+	* sysdeps/pthread/tst-cancel30.c: Modified.
+	(tf): Modified function.
+	(errno.h): Include file.
+
+2024-04-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	COMMIT: 16c8dfba14ff7596ad3aea941a240f8abcdc50e6
+	Revert "Allow glibc to be compiled without EXEC_PAGESIZE"
+
+	* elf/dl-support.c: Modified.
+	[EXEC_PAGESIZE][! HAVE_AUX_VECTOR](__rtld_lock_define_initialized_recursive): Remove.
+	[EXEC_PAGESIZE][! PTHREAD_IN_LIBC](_dl_make_stack_executable): Remove.
+	[EXEC_PAGESIZE][! PTHREAD_IN_LIBC](_dl_nothread_init_static_tls): Remove.
+	[EXEC_PAGESIZE][DL_SYSINFO_IMPLEMENTATION](DL_SYSINFO_IMPLEMENTATION): Remove.
+	[EXEC_PAGESIZE][HAVE_AUX_VECTOR](dl-parse_auxv.h): Remove.
+	[EXEC_PAGESIZE][HAVE_AUX_VECTOR](_dl_clktck): Remove.
+	[EXEC_PAGESIZE][HAVE_AUX_VECTOR](_dl_aux_init): Remove.
+	[EXEC_PAGESIZE][NEED_DL_SYSINFO](_dl_sysinfo): Remove.
+	[EXEC_PAGESIZE][NEED_DL_SYSINFO_DSO](_dl_sysinfo_dso): Remove.
+	[EXEC_PAGESIZE][NEED_DL_SYSINFO_DSO](_dl_sysinfo_map): Remove.
+	[EXEC_PAGESIZE][NEED_DL_SYSINFO_DSO](get-dynamic-info.h): Remove.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_used): Remove.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_user): Remove.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_cache): Remove.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_cache_actsize): Remove.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_in_flight_stack): Remove.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_cache_lock): Remove.
+	[EXEC_PAGESIZE](_dl_pagesize): Remove.
+	[EXEC_PAGESIZE](_dl_minsigstacksize): Remove.
+	[EXEC_PAGESIZE](_dl_inhibit_cache): Remove.
+	[EXEC_PAGESIZE](_dl_all_dirs): Remove.
+	[EXEC_PAGESIZE](_dl_init_all_dirs): Remove.
+	[EXEC_PAGESIZE](_dl_initfirst): Remove.
+	[EXEC_PAGESIZE](_dl_debug_fd): Remove.
+	[EXEC_PAGESIZE](_dl_auxv): Remove.
+	[EXEC_PAGESIZE](_dl_phdr): Remove.
+	[EXEC_PAGESIZE](_dl_phnum): Remove.
+	[EXEC_PAGESIZE](_dl_hwcap): Remove.
+	[EXEC_PAGESIZE](_dl_hwcap2): Remove.
+	[EXEC_PAGESIZE](_dl_hwcap3): Remove.
+	[EXEC_PAGESIZE](_dl_hwcap4): Remove.
+	[EXEC_PAGESIZE](_dl_dso_sort_algo): Remove.
+	[EXEC_PAGESIZE](_dl_fpu_control): Remove.
+	[EXEC_PAGESIZE](_dl_stack_flags): Remove.
+	[EXEC_PAGESIZE](_dl_scope_free_list): Remove.
+	[EXEC_PAGESIZE](setup-vdso.h): Remove.
+	[EXEC_PAGESIZE](dl-vdso-setup.c): Remove.
+	[EXEC_PAGESIZE](__rtld_lock_define_initialized_recursive): Remove.
+	[EXEC_PAGESIZE](_dl_get_dl_main_map): Remove.
+	[EXEC_PAGESIZE](_dl_audit_pltexit): Remove.
+	[! HAVE_AUX_VECTOR](__rtld_lock_define_initialized_recursive): New.
+	[! PTHREAD_IN_LIBC](_dl_make_stack_executable): New.
+	[! PTHREAD_IN_LIBC](_dl_nothread_init_static_tls): New.
+	[DL_SYSINFO_IMPLEMENTATION](DL_SYSINFO_IMPLEMENTATION): New.
+	[HAVE_AUX_VECTOR](dl-parse_auxv.h): New.
+	[HAVE_AUX_VECTOR](_dl_clktck): New.
+	[HAVE_AUX_VECTOR](_dl_aux_init): New.
+	[NEED_DL_SYSINFO](_dl_sysinfo): New.
+	[NEED_DL_SYSINFO_DSO](_dl_sysinfo_dso): New.
+	[NEED_DL_SYSINFO_DSO](_dl_sysinfo_map): New.
+	[NEED_DL_SYSINFO_DSO](get-dynamic-info.h): New.
+	[PTHREAD_IN_LIBC](_dl_stack_used): New.
+	[PTHREAD_IN_LIBC](_dl_stack_user): New.
+	[PTHREAD_IN_LIBC](_dl_stack_cache): New.
+	[PTHREAD_IN_LIBC](_dl_stack_cache_actsize): New.
+	[PTHREAD_IN_LIBC](_dl_in_flight_stack): New.
+	[PTHREAD_IN_LIBC](_dl_stack_cache_lock): New.
+	(_dl_pagesize): New.
+	(_dl_minsigstacksize): New.
+	(_dl_inhibit_cache): New.
+	(_dl_all_dirs): New.
+	(_dl_init_all_dirs): New.
+	(_dl_initfirst): New.
+	(_dl_debug_fd): New.
+	(_dl_auxv): New.
+	(_dl_phdr): New.
+	(_dl_phnum): New.
+	(_dl_hwcap): New.
+	(_dl_hwcap2): New.
+	(_dl_hwcap3): New.
+	(_dl_hwcap4): New.
+	(_dl_dso_sort_algo): New.
+	(_dl_fpu_control): New.
+	(_dl_stack_flags): New.
+	(_dl_scope_free_list): New.
+	(setup-vdso.h): Include file.
+	(dl-vdso-setup.c): Include file.
+	(__rtld_lock_define_initialized_recursive): New function.
+	(_dl_get_dl_main_map): New function.
+	(_dl_audit_pltexit): New function.
+	* elf/rtld.c: Modified.
+	* libio/libioP.h: Modified.
+	[_G_HAVE_MMAP][! MAP_ANONYMOUS](_G_HAVE_MMAP): Remove.
+	[_G_HAVE_MMAP][! MAP_ANONYMOUS || ! EXEC_PAGESIZE](_G_HAVE_MMAP): New.
+
+2024-04-22  Carlos O'Donell  <carlos@redhat.com>
+            Jeff Law  <law@redhat.com>
+
+	COMMIT: 684fbab755e727a8c15f8b621648d66694cd1f53
+	locale: Handle loading a missing locale twice (Bug 14247)
+
+	* gen-locales.mk: Modified.
+	* locale/findlocale.c: Modified.
+	(_nl_find_locale): Modified function.
+	* locale/loadlocale.c: Modified.
+	(_nl_load_locale): Modified function.
+	* localedata/Makefile: Modified.
+	* localedata/gen-locale.sh: Modified.
+	* localedata/tst-locale-loadlocale.c: New file.
+
+2024-04-22  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 25b191f6d33cda5770a18fd18be86cce0ebb3228
+	elf: Do not check for loader mmap on tst-decorate-maps (BZ 31553)
+
+	* elf/tst-decorate-maps.c: Modified.
+	(proc_maps_t): Modified.
+	(read_proc_maps): Modified function.
+	(do_test_threads): Modified function.
+
+2024-04-19  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: f6d18bea387676e774e18ce410ace8c33a5c3511
+	Use --enable-obsolete in build-many-glibcs.py for nios2-linux-gnu
+
+	* scripts/build-many-glibcs.py: Modified.
+
+2024-04-19  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 5361ad3910c257bc327567be76fde532ed238e42
+	login: Use unsigned 32-bit types for seconds-since-epoch
+
+	* NEWS: Modified.
+	* bits/utmp.h: Modified.
+	(lastlog): Modified.
+	(utmp): Modified.
+	* login/Makefile: Modified.
+	* login/tst-utmp-unsigned-64.c: New file.
+	* login/tst-utmp-unsigned.c: New file.
+	* sysdeps/gnu/bits/utmpx.h: Modified.
+	(utmpx): Modified.
+
+2024-04-19  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 9abdae94c7454c45e02e97e4ed1eb1b1915d13d8
+	login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701)
+
+	* bits/wordsize.h: Modified.
+	* login/Makefile: Modified.
+	* login/tst-utmp-size-64.c: New file.
+	* sysdeps/arm/bits/wordsize.h: New file.
+	* sysdeps/csky/bits/wordsize.h: New file.
+	* sysdeps/m68k/bits/wordsize.h: New file.
+	* sysdeps/microblaze/bits/wordsize.h: New file.
+	* sysdeps/mips/bits/wordsize.h: Modified.
+	[_MIPS_SIM != _ABI64](__WORDSIZE_TIME64_COMPAT32): Remove.
+	[_MIPS_SIM == _ABI64](__WORDSIZE_TIME64_COMPAT32): Remove.
+	(__WORDSIZE_TIME64_COMPAT32): New.
+	* sysdeps/nios2/bits/wordsize.h: New file.
+	* sysdeps/powerpc/powerpc32/bits/wordsize.h: Modified.
+	[! __powerpc64__](__WORDSIZE_TIME64_COMPAT32): Remove.
+	[__powerpc64__](__WORDSIZE_TIME64_COMPAT32): Remove.
+	(__WORDSIZE_TIME64_COMPAT32): New.
+	* sysdeps/powerpc/powerpc64/bits/wordsize.h: Modified.
+	[! __powerpc64__](__WORDSIZE_TIME64_COMPAT32): Remove.
+	[__powerpc64__](__WORDSIZE_TIME64_COMPAT32): Remove.
+	(__WORDSIZE_TIME64_COMPAT32): New.
+	* sysdeps/sh/bits/wordsize.h: New file.
+	* sysdeps/sparc/sparc32/bits/wordsize.h: Modified.
+	(__WORDSIZE_TIME64_COMPAT32): Modified.
+	* sysdeps/sparc/sparc64/bits/wordsize.h: Modified.
+	[!(__arch64__ ||  __sparcv9)](__WORDSIZE_TIME64_COMPAT32): Remove.
+	[__arch64__ ||  __sparcv9](__WORDSIZE_TIME64_COMPAT32): Remove.
+	(__WORDSIZE_TIME64_COMPAT32): New.
+	* sysdeps/unix/sysv/linux/hppa/bits/wordsize.h: New file.
+	* sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h: Modified.
+	[! __powerpc64__](__WORDSIZE_TIME64_COMPAT32): Remove.
+	[__powerpc64__](__WORDSIZE_TIME64_COMPAT32): Remove.
+	(__WORDSIZE_TIME64_COMPAT32): New.
+	* sysdeps/unix/sysv/linux/sparc/bits/wordsize.h: Modified.
+	[!(__arch64__ ||  __sparcv9)](__WORDSIZE_TIME64_COMPAT32): Remove.
+	[__arch64__ ||  __sparcv9](__WORDSIZE_TIME64_COMPAT32): Remove.
+	(__WORDSIZE_TIME64_COMPAT32): New.
+	* sysdeps/x86/bits/wordsize.h: Modified.
+	[! __x86_64__](__WORDSIZE_TIME64_COMPAT32): Remove.
+	[__x86_64__](__WORDSIZE_TIME64_COMPAT32): Remove.
+	(__WORDSIZE_TIME64_COMPAT32): New.
+
+2024-04-19  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 4d4da5aab936504b2d3eca3146e109630d9093c4
+	login: Check default sizes of structs utmp, utmpx, lastlog
+
+	* login/Makefile: Modified.
+	* login/tst-utmp-size.c: New file.
+	* sysdeps/arc/utmp-size.h: New file.
+	* sysdeps/arm/utmp-size.h: New file.
+	* sysdeps/csky/utmp-size.h: New file.
+	* sysdeps/generic/utmp-size.h: New file.
+	* sysdeps/hppa/utmp-size.h: New file.
+	* sysdeps/m68k/utmp-size.h: New file.
+	* sysdeps/microblaze/utmp-size.h: New file.
+	* sysdeps/mips/utmp-size.h: New file.
+	* sysdeps/nios2/utmp-size.h: New file.
+	* sysdeps/or1k/utmp-size.h: New file.
+	* sysdeps/powerpc/utmp-size.h: New file.
+	* sysdeps/riscv/utmp-size.h: New file.
+	* sysdeps/sh/utmp-size.h: New file.
+	* sysdeps/sparc/utmp-size.h: New file.
+	* sysdeps/x86/utmp-size.h: New file.
+
+2024-04-18  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	COMMIT: 0997c3d0c87433ac8c78043aaa9b6b7e91df2882
+	benchtests: Add random() benchmark
+
+	* benchtests/Makefile: Modified.
+	* benchtests/bench-random-lock.c: New file.
+
+2024-04-18  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+	COMMIT: 05c3495296bc38c3c46117c45ee6e663581e3370
+	advisories: Add Reported-By
+
+	* advisories/README: Modified.
+
+2024-04-17  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 0e53e7cdf50b92f007eff86a02252d9549d8ef2c
+	Fix 'Reported-By' to use Camel Case for commit 6a98f4640ea453f
+
+	* advisories/GLIBC-SA-2024-0004: Modified.
+
+2024-04-17  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 6a98f4640ea453fe048d3a49944044bce2c4c641
+	Document CVE-2024-2961
+
+	* advisories/GLIBC-SA-2024-0004: New file.
+
+2024-04-17  Charles Fol  <folcharles@gmail.com>
+            Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: f9dc609e06b1136bb0408be9605ce7973a767ada
+	iconv: ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence (CVE-2024-2961)
+
+	* iconvdata/Makefile: Modified.
+	* iconvdata/iso-2022-cn-ext.c: Modified.
+	* iconvdata/tst-iconv-iso-2022-cn-ext.c: New file.
+
+2024-04-16  Joe Simmons-Talbott  <josimmon@redhat.com>
+
+	COMMIT: 59974938fe1f4add843f5325f78e2a7ccd8db853
+	elf/rtld: Count skipped environment variables for enable_secure
+
+	* elf/Makefile: Modified.
+	* elf/rtld.c: Modified.
+	(process_envvars): Modified.
+	(_dl_start_args_adjust): Modified function.
+	(dl_main): Modified function.
+	(process_envvars_secure): Modified function.
+	(process_envvars): Modified function.
+	* elf/tst-tunables-enable_secure-env.c: New file.
+
+2024-04-14  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 14e56bd4ce15ac2d1cc43f762eb2e6b83fec1afe
+	powerpc: Fix ld.so address determination for PCREL mode (bug 31640)
+
+	* sysdeps/powerpc/powerpc64/dl-machine.h: Modified.
+	[! dl_machine_h](elf_machine_load_address): Remove function.
+	[! dl_machine_h](elf_machine_dynamic): Remove function.
+	[! dl_machine_h][! __PCREL__](elf_machine_load_address): New.
+	[! dl_machine_h][! __PCREL__](elf_machine_dynamic): New.
+	[! dl_machine_h][__PCREL__](elf_machine_load_address): New.
+	[! dl_machine_h][__PCREL__](elf_machine_dynamic): New.
+
+2024-04-13  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: aea52e3d2b71e89f2ba4fd4d8f1f8d3036d83c1d
+	Revert "x86_64: Suppress false positive valgrind error"
+
+	* elf/Makefile: Modified.
+	* elf/tst-valgrind-smoke.sh: Modified.
+	* sysdeps/x86_64/Makefile: Modified.
+	* sysdeps/x86_64/tst-valgrind-smoke.supp: Delete file.
+
+2024-04-11  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: cf11e74b0d81d389bcad5cdbba020ba475f0ac4b
+	wcsmbs: Ensure wcstr worst-case linear execution time (BZ 23865)
+
+	* string/test-strstr.c: Modified.
+	[WIDE](__wmemcmp): New.
+	[WIDE](__wcsnlen): New.
+	[WIDE](__wcslen): New.
+	(test_main): Modified function.
+	(check3): New function.
+	(pr23865): New function.
+	* wcsmbs/wcs-two-way.h: New file.
+	* wcsmbs/wcsstr.c: Modified.
+	(WCSSTR): Modified function.
+	(string.h): Include file.
+	(AVAILABLE): New.
+	(wcs-two-way.h): Include file.
+
+2024-04-11  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 4b717562c4768883a87f62d67610c0a48e911445
+	wcsmbs: Add test-wcsstr
+
+	* string/test-strstr.c: Modified.
+	(TEST_NAME): Remove.
+	(STRSTR): Remove.
+	(libc_hidden_builtin_def): Remove.
+	(__strnlen): Remove.
+	(strstr.c): Remove include.
+	(simple_strstr): Modified function.
+	(proto_t): Modified.
+	(IMPL__c_strstr): Remove function.
+	(IMPL__strstr): Remove function.
+	(check_result): Modified function.
+	(do_one_test): Modified function.
+	(do_test): Modified function.
+	(check1): Modified function.
+	(check2): Modified function.
+	(pr23637): Modified function.
+	[! WIDE](TEST_NAME): New.
+	[! WIDE](TEST_FUNC): New.
+	[! WIDE](CHAR): New.
+	[! WIDE](STRLEN): New.
+	[! WIDE](STRCPY): New.
+	[! WIDE](MEMCPY): New.
+	[! WIDE](MEMSET): New.
+	[! WIDE](MEMPCPY): New.
+	[! WIDE](L): New.
+	[! WIDE](STRSTR): New.
+	[! WIDE](libc_hidden_builtin_def): New.
+	[! WIDE](__strnlen): New.
+	[! WIDE](strstr.c): New.
+	[! WIDE](C_IMPL): New.
+	[WIDE](TEST_NAME): New.
+	[WIDE](TEST_FUNC): New.
+	[WIDE](wchar.h): New.
+	[WIDE](CHAR): New.
+	[WIDE](STRLEN): New.
+	[WIDE](STRCPY): New.
+	[WIDE](MEMCPY): New.
+	[WIDE](MEMSET): New.
+	[WIDE](MEMPCPY): New.
+	[WIDE](L): New.
+	[WIDE](BUF1PAGES): New.
+	[WIDE](weak_alias): New.
+	[WIDE](WCSSTR): New.
+	[WIDE](wcsstr.c): New.
+	[WIDE](C_IMPL): New.
+	(IMPL__C_IMPL): New function.
+	(IMPL__TEST_FUNC): New function.
+	* wcsmbs/Makefile: Modified.
+	* wcsmbs/test-wcsstr.c: New file.
+	* wcsmbs/wcsstr.c: Modified.
+	(wcsstr): Remove function.
+	[! WCSSTR](WCSSTR): New.
+	(WCSSTR): New function.
+
+2024-04-10  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+            Bruno Haible  <bruno@clisp.org>
+            Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: 686d5420253bd76b1b7458f91d6ef9fc1a12b229
+	posix: Sync tempname with gnulib
+
+	* SHARED-FILES: Modified.
+	* include/stdio.h: Modified.
+	[! _ISOMAC](__path_search): Remove.
+	* libio/oldtmpfile.c: Modified.
+	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)](stdio-common/tmpdir.h): Include file.
+	* stdio-common/Makefile: Modified.
+	* stdio-common/tempnam.c: Modified.
+	(tmpdir.h): Include file.
+	* stdio-common/tempname.c: Modified.
+	(__path_search): Remove function.
+	(stub_warning): Remove function.
+	(__gen_tempname): New function.
+	* stdio-common/tmpdir.c: New file.
+	* stdio-common/tmpdir.h: New file.
+	* stdio-common/tmpfile.c: Modified.
+	(tmpdir.h): Include file.
+	* stdio-common/tmpnam.c: Modified.
+	(tmpdir.h): Include file.
+	* stdio-common/tmpnam_r.c: Modified.
+	(tmpdir.h): Include file.
+	* sysdeps/posix/tempname.c: Modified.
+	[! P_tmpdir](P_tmpdir): Remove.
+	[! _LIBC](__stat64): Remove.
+	[_LIBC](__secure_getenv): Remove.
+	[_LIBC](direxists): Remove function.
+	[_LIBC](__path_search): Remove function.
+	[_LIBC](try_tempname_len): Modified function.
+	(sys/types.h): Remove include.
+	(assert.h): Remove include.
+	(stdbool.h): Remove include.
+	(stddef.h): Remove include.
+	(stdalign.h): Remove include.
+	(random_bits): Modified function.
+	(mix_random_values): New function.
+
+2024-04-10  Sergey Kolosov  <skolosov@redhat.com>
+
+	COMMIT: 3a83f79024cc023a74c3892a1673542e8e972485
+	socket: Add new test for connect
+
+	* socket/Makefile: Modified.
+	* socket/tst-connect.c: New file.
+
+2024-04-10  Sergey Kolosov  <skolosov@redhat.com>
+
+	COMMIT: 6687a6e3f962759536a8019d31c68c1009ccd6eb
+	libsupport: Add xgetpeername
+
+	* support/Makefile: Modified.
+	* support/xgetpeername.c: New file.
+	* support/xsocket.h: Modified.
+	(xgetpeername): New function.
+
+2024-04-09  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 42e48e720c78ab75eb8def9e866da52b0ac278df
+	nptl: Add tst-pthread-key1-static for BZ #21777
+
+	* nptl/Makefile: Modified.
+	* nptl/tst-pthread-key1-static.c: New file.
+
+2024-04-08  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: ae7468a7b0bcf22e9cd5fcae42bb9e4f65de83ee
+	elf: Add ld.so test with non-existing program name
+
+	* elf/Makefile: Modified.
+	* elf/tst-rtld-does-not-exist.sh: New file.
+
+2024-04-08  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 1cce91d8aed5c3eca2b6f47767c82d9ed3e9e33f
+	elf: Check objname before calling fatal_error
+
+	* elf/dl-catch.c: Modified.
+	(_dl_signal_error): Modified function.
+
+2024-04-08  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 727aacfd667c026762b9aaa1a3a293f815edebba
+	Use crtbeginT.o and crtend.o for non-PIE static executables
+
+	* Makeconfig: Modified.
+
+2024-04-08  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: f8d8b1b1e6d3b8b93f224efc796b7ea083fdb83f
+	aarch64: Enhanced CPU diagnostics for ld.so
+
+	* manual/dynlink.texi: Modified.
+	* sysdeps/aarch64/dl-diagnostics-cpu.c: New file.
+
+2024-04-08  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 7a430f40c46acfa7ce4c3bff193b278c190b2efc
+	x86: Add generic CPUID data dumper to ld.so --list-diagnostics
+
+	* manual/dynlink.texi: Modified.
+	* sysdeps/x86/dl-diagnostics-cpu.c: Modified.
+	(_dl_diagnostics_cpu): Modified function.
+	(array_length.h): Include file.
+	(cpu-features.h): Include file.
+	(cpuid.h): Include file.
+	(dl-iterate_cpu.h): Include file.
+	(stdbool.h): Include file.
+	(string.h): Include file.
+	(sysdep.h): Include file.
+	(_dl_diagnostics_cpuid): New function.
+	(cpuid_query): New.
+	(cpuid_query_combined): New function.
+	(cpuid_registers_zero): New.
+	(cpuid_query_result): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(cpuid_collected_data): New.
+	(_dl_diagnostics_cpuid_store): New function.
+	(_dl_diagnostics_cpuid_collect_1): New function.
+	(_dl_diagnostics_cpuid_collect): New function.
+	(_dl_diagnostics_cpuid_print_reg): New function.
+	(_dl_diagnostics_cpuid_print_query): New function.
+	(_dl_diagnostics_cpuid_report): New function.
+	(_dl_diagnostics_cpuid): New function.
+
+2024-04-08  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 5653ccd847f0cd3a98906e44c97c71d68652d326
+	elf: Add CPU iteration support for future use in ld.so diagnostics
+
+	* elf/dl-iterate_cpu.h: New file.
+	* sysdeps/generic/dl-affinity.h: New file.
+	* sysdeps/unix/sysv/linux/dl-affinity.h: New file.
+
+2024-04-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: 1f94147a79fcb7211f1421b87383cad93986797f
+	timezone: sync to TZDB 2024a
+
+	* SHARED-FILES: Modified.
+	* config.h.in: Modified.
+	* timezone/Makefile: Modified.
+	* timezone/private.h: Modified.
+	[! HAVE_GENERIC](HAVE_GENERIC): Remove.
+	[! HAVE_GENERIC](TIME_T_MIN): Remove.
+	[! HAVE_GENERIC](TIME_T_MAX): Remove.
+	[! HAVE_GENERIC &&  __GNUC__](HAVE_GENERIC): Remove.
+	[! HAVE_GENERIC &&  __has_extension][!(__has_extension(c_generic_selections))](HAVE_GENERIC): Remove.
+	[! HAVE_GENERIC &&  __has_extension][__has_extension(c_generic_selections)](HAVE_GENERIC): Remove.
+	[! HAVE_GETTEXT](HAVE_GETTEXT): Modified.
+	[! HAVE_INCOMPATIBLE_CTIME_R](HAVE_INCOMPATIBLE_CTIME_R): Modified.
+	[! HAVE_INTTYPES_H](HAVE_INTTYPES_H): Remove.
+	[! HAVE_LINK](HAVE_LINK): Modified.
+	[! HAVE_STDBOOL_H](HAVE_STDBOOL_H): Remove.
+	[! HAVE_STDBOOL_H](true): Remove.
+	[! HAVE_STDBOOL_H](false): Remove.
+	[! HAVE_STDBOOL_H](bool): Remove.
+	[! HAVE_STDINT_H](HAVE_STDINT_H): Remove.
+	[! HAVE_STRTOLL](HAVE_STRTOLL): Remove.
+	[! HAVE_SYMLINK](HAVE_SYMLINK): Modified.
+	[! HAVE_SYS_STAT_H](HAVE_SYS_STAT_H): Modified.
+	[! HAVE_SYS_WAIT_H](HAVE_SYS_WAIT_H): Remove.
+	[! HAVE_UNISTD_H](HAVE_UNISTD_H): Modified.
+	[! HAVE_UTMPX_H](HAVE_UTMPX_H): Remove.
+	[! INT32_MAX](INT32_MAX): Remove.
+	[! INT32_MIN](INT32_MIN): Remove.
+	[! INTMAX_MAX][! LLONG_MAX](intmax_t): Remove.
+	[! INTMAX_MAX][! LLONG_MAX](INTMAX_MAX): Remove.
+	[! INTMAX_MAX][! LLONG_MAX](INTMAX_MIN): Remove.
+	[! INTMAX_MAX][! strtoimax](strtoimax): Remove.
+	[! INTMAX_MAX][LLONG_MAX][HAVE_STRTOLL](strtoimax): Remove.
+	[! INTMAX_MAX][LLONG_MAX](intmax_t): Remove.
+	[! INTMAX_MAX][LLONG_MAX](INTMAX_MAX): Remove.
+	[! INTMAX_MAX][LLONG_MAX](INTMAX_MIN): Remove.
+	[! INT_FAST32_MAX][!(INT_MAX >> 31 == 0)](int_fast32_t): Remove.
+	[! INT_FAST32_MAX][!(INT_MAX >> 31 == 0)](INT_FAST32_MAX): Remove.
+	[! INT_FAST32_MAX][!(INT_MAX >> 31 == 0)](INT_FAST32_MIN): Remove.
+	[! INT_FAST32_MAX][INT_MAX >> 31 == 0](int_fast32_t): Remove.
+	[! INT_FAST32_MAX][INT_MAX >> 31 == 0](INT_FAST32_MAX): Remove.
+	[! INT_FAST32_MAX][INT_MAX >> 31 == 0](INT_FAST32_MIN): Remove.
+	[! INT_FAST64_MAX][! LLONG_MAX][LONG_MAX >> 31 < 0xffffffff](type): Remove.
+	[! INT_FAST64_MAX][! LLONG_MAX][LONG_MAX >> 31 < 0xffffffff](int_fast64_t): Remove.
+	[! INT_FAST64_MAX][! LLONG_MAX](INT_FAST64_MIN): Remove.
+	[! INT_FAST64_MAX][! LLONG_MAX](INT_FAST64_MAX): Remove.
+	[! INT_FAST64_MAX][LLONG_MAX](int_fast64_t): Remove.
+	[! INT_FAST64_MAX][LLONG_MAX](INT_FAST64_MIN): Remove.
+	[! INT_FAST64_MAX][LLONG_MAX](INT_FAST64_MAX): Remove.
+	[! PRIdFAST64][INT_FAST64_MAX != LLONG_MAX](PRIdFAST64): Remove.
+	[! PRIdFAST64][INT_FAST64_MAX == LLONG_MAX](PRIdFAST64): Remove.
+	[! PRIdMAX][INTMAX_MAX != LLONG_MAX](PRIdMAX): Remove.
+	[! PRIdMAX][INTMAX_MAX == LLONG_MAX](PRIdMAX): Remove.
+	[! PRIuMAX][!(ULLONG_MAX ||  __LONG_LONG_MAX__)](PRIuMAX): Remove.
+	[! PRIuMAX][ULLONG_MAX ||  __LONG_LONG_MAX__](PRIuMAX): Remove.
+	[! R_OK](R_OK): Modified.
+	[! SCNdFAST64](SCNdFAST64): Remove.
+	[! SIZE_MAX](SIZE_MAX): Remove.
+	[! UINTMAX_MAX][!(ULLONG_MAX ||  __LONG_LONG_MAX__)](uintmax_t): Remove.
+	[! UINTMAX_MAX][ULLONG_MAX ||  __LONG_LONG_MAX__](uintmax_t): Remove.
+	[! UINT_FAST64_MAX][!(ULLONG_MAX ||  __LONG_LONG_MAX__)][ULONG_MAX >> 31 >> 1 < 0xffffffff](type): Remove.
+	[! UINT_FAST64_MAX][!(ULLONG_MAX ||  __LONG_LONG_MAX__)][ULONG_MAX >> 31 >> 1 < 0xffffffff](uint_fast64_t): Remove.
+	[! UINT_FAST64_MAX][ULLONG_MAX ||  __LONG_LONG_MAX__](uint_fast64_t): Remove.
+	[! _Noreturn && __STDC_VERSION__ < 201112][!(2 < __GNUC__ + (8 <= __GNUC_MINOR__))](_Noreturn): Remove.
+	[! _Noreturn && __STDC_VERSION__ < 201112][2 < __GNUC__ + (8 <= __GNUC_MINOR__)](_Noreturn): Remove.
+	[!(3 <= __GNUC__)](ATTRIBUTE_CONST): Remove.
+	[!(3 <= __GNUC__)](ATTRIBUTE_PURE): Remove.
+	[( __GLIBC__  ||  __FreeBSD__ ||  __NetBSD__ ||  __OpenBSD__  || ( __APPLE__ &&  __MACH__))][! TM_GMTOFF && ! NO_TM_GMTOFF](TM_GMTOFF): Remove.
+	[( __GLIBC__  ||  __FreeBSD__ ||  __NetBSD__ ||  __OpenBSD__  || ( __APPLE__ &&  __MACH__))][! TM_ZONE && ! NO_TM_ZONE](TM_ZONE): Remove.
+	[3 <= __GNUC__](ATTRIBUTE_CONST): Remove.
+	[3 <= __GNUC__](ATTRIBUTE_MALLOC): Modified.
+	[3 <= __GNUC__](ATTRIBUTE_PURE): Remove.
+	[3 <= __GNUC__](ATTRIBUTE_FORMAT): Modified.
+	[HAVE_GENERIC](TIME_T_MIN): Remove.
+	[HAVE_GENERIC](TIME_T_MAX): Remove.
+	[HAVE_INCOMPATIBLE_CTIME_R](asctime_r): Modified.
+	[HAVE_INTTYPES_H](inttypes.h): Remove.
+	[HAVE_STDBOOL_H](stdbool.h): Remove.
+	[HAVE_STDINT_H](stdint.h): Remove.
+	[NETBSD_INSPIRED][STD_INSPIRED][TZ_TIME_T || ! posix2time_z](posix2time_z): Modified.
+	[NETBSD_INSPIRED][STD_INSPIRED][TZ_TIME_T || ! time2posix_z](time2posix_z): Modified.
+	[STD_INSPIRED][TZ_TIME_T || ! timegm](timegm): Remove.
+	[STD_INSPIRED][TZ_TIME_T || ! timeoff](timeoff): Remove.
+	[STD_INSPIRED][TZ_TIME_T || ! timeoff](EXTERN_TIMEOFF): New.
+	[STD_INSPIRED][TZ_TIME_T || ! tzsetwall](tzsetwall): Remove.
+	[TZ_TIME_T][LOCALTIME_IMPLEMENTATION](sys_time): Remove.
+	[TZ_TIME_T](tzsetwall): Remove.
+	[TZ_TIME_T](asctime): Modified.
+	[TZ_TIME_T](ctime): Modified.
+	[TZ_TIME_T](difftime): Modified.
+	[TZ_TIME_T][!(__STDC_VERSION__ < 202311)](DEPRECATED_IN_C23): New.
+	[TZ_TIME_T][__STDC_VERSION__ < 202311](DEPRECATED_IN_C23): New.
+	[TZ_TIME_T](timegm): New function.
+	[__LONG_LONG_MAX__][! LLONG_MAX](LLONG_MAX): Remove.
+	[__LONG_LONG_MAX__][! LLONG_MIN](LLONG_MIN): Remove.
+	[__STDC_VERSION__ < 199901 && ! restrict](restrict): Remove.
+	(_LARGE_FILES): Remove.
+	(_DARWIN_USE_64_BIT_INODE): Remove.
+	(sys/types.h): Remove include.
+	(is_digit): Remove.
+	(TYPE_BIT): Modified.
+	(YEARSPERREPEAT): Remove.
+	(SECSPERMIN): Remove.
+	(MINSPERHOUR): Remove.
+	(HOURSPERDAY): Remove.
+	(DAYSPERWEEK): Remove.
+	(DAYSPERNYEAR): Remove.
+	(DAYSPERLYEAR): Remove.
+	(SECSPERHOUR): Remove.
+	(MONSPERYEAR): Remove.
+	(TM_SUNDAY): Remove.
+	(TM_MONDAY): Remove.
+	(TM_TUESDAY): Remove.
+	(TM_WEDNESDAY): Remove.
+	(TM_THURSDAY): Remove.
+	(TM_FRIDAY): Remove.
+	(TM_SATURDAY): Remove.
+	(TM_JANUARY): Remove.
+	(TM_FEBRUARY): Remove.
+	(TM_MARCH): Remove.
+	(TM_APRIL): Remove.
+	(TM_MAY): Remove.
+	(TM_JUNE): Remove.
+	(TM_JULY): Remove.
+	(TM_AUGUST): Remove.
+	(TM_SEPTEMBER): Remove.
+	(TM_OCTOBER): Remove.
+	(TM_NOVEMBER): Remove.
+	(TM_DECEMBER): Remove.
+	(TM_YEAR_BASE): Remove.
+	(EPOCH_YEAR): Remove.
+	(EPOCH_WDAY): Remove.
+	(AVGSECSPERYEAR): Modified.
+	(SECSPERREPEAT): Modified.
+	(SECSPERREPEAT_BITS): Remove.
+	[! ATTRIBUTE_DEPRECATED][!(3 < __GNUC__ + (2 <= __GNUC_MINOR__))](ATTRIBUTE_DEPRECATED): New.
+	[! ATTRIBUTE_DEPRECATED][3 < __GNUC__ + (2 <= __GNUC_MINOR__)](ATTRIBUTE_DEPRECATED): New.
+	[! ATTRIBUTE_FALLTHROUGH][!(7 <= __GNUC__)](ATTRIBUTE_FALLTHROUGH): New.
+	[! ATTRIBUTE_FALLTHROUGH][7 <= __GNUC__](ATTRIBUTE_FALLTHROUGH): New.
+	[! ATTRIBUTE_MAYBE_UNUSED][!(2 < __GNUC__ + (7 <= __GNUC_MINOR__))](ATTRIBUTE_MAYBE_UNUSED): New.
+	[! ATTRIBUTE_MAYBE_UNUSED][2 < __GNUC__ + (7 <= __GNUC_MINOR__)](ATTRIBUTE_MAYBE_UNUSED): New.
+	[! ATTRIBUTE_NORETURN][!(2 < __GNUC__ + (8 <= __GNUC_MINOR__))](ATTRIBUTE_NORETURN): New.
+	[! ATTRIBUTE_NORETURN][2 < __GNUC__ + (8 <= __GNUC_MINOR__)](ATTRIBUTE_NORETURN): New.
+	[! ATTRIBUTE_NORETURN][201112 <= __STDC_VERSION__](ATTRIBUTE_NORETURN): New.
+	[! ATTRIBUTE_REPRODUCIBLE][!(3 <= __GNUC__)](ATTRIBUTE_REPRODUCIBLE): New.
+	[! ATTRIBUTE_REPRODUCIBLE][3 <= __GNUC__](ATTRIBUTE_REPRODUCIBLE): New.
+	[! ATTRIBUTE_UNSEQUENCED][!(3 <= __GNUC__)](ATTRIBUTE_UNSEQUENCED): New.
+	[! ATTRIBUTE_UNSEQUENCED][3 <= __GNUC__](ATTRIBUTE_UNSEQUENCED): New.
+	[! EINVAL](EINVAL): New.
+	[! ELOOP](ELOOP): New.
+	[! ENOMEM](ENOMEM): New.
+	[! HAVE_DECL_TIMEGM][!((202311 <= __STDC_VERSION__  ||  __GLIBC__ ||  __tm_zone   ||  __FreeBSD__ ||  __NetBSD__ ||  __OpenBSD__  || ( __APPLE__ &&  __MACH__)))](HAVE_DECL_TIMEGM): New.
+	[! HAVE_DECL_TIMEGM][(202311 <= __STDC_VERSION__  ||  __GLIBC__ ||  __tm_zone   ||  __FreeBSD__ ||  __NetBSD__ ||  __OpenBSD__  || ( __APPLE__ &&  __MACH__))](HAVE_DECL_TIMEGM): New.
+	[! HAVE_GETTEXT &&  __has_include][__has_include(<libintl.h>)](HAVE_GETTEXT): New.
+	[! HAVE_MALLOC_ERRNO](HAVE_MALLOC_ERRNO): New.
+	[! HAVE_SETENV](HAVE_SETENV): New.
+	[! HAVE_STDCKDINT_H &&  __has_include][__has_include(<stdckdint.h>)](HAVE_STDCKDINT_H): New.
+	[! HAVE_SYS_STAT_H &&  __has_include][!__has_include(<sys/stat.h>)](HAVE_SYS_STAT_H): New.
+	[! HAVE_UNISTD_H &&  __has_include][!__has_include(<unistd.h>)](HAVE_UNISTD_H): New.
+	[! HAVE__GENERIC](HAVE__GENERIC): New.
+	[! HAVE__GENERIC](TIME_T_MIN): New.
+	[! HAVE__GENERIC](TIME_T_MAX): New.
+	[! HAVE__GENERIC](<anonymous>): New.
+	[! HAVE__GENERIC &&  __GNUC__ && ! __STRICT_ANSI__](HAVE__GENERIC): New.
+	[! HAVE__GENERIC &&  __has_extension][!__has_extension(c_generic_selections)](HAVE__GENERIC): New.
+	[! PORT_TO_C89](PORT_TO_C89): New.
+	[! STD_INSPIRED](STD_INSPIRED): New.
+	[! SUPPORT_C89](SUPPORT_C89): New.
+	[! _TIME_BITS && _FILE_OFFSET_BITS == 64](_TIME_BITS): New.
+	[! __STDC_VERSION__](__STDC_VERSION__): New.
+	[! unreachable][! unreachable](unreachable): New.
+	[! unreachable][4 < __GNUC__ + (5 <= __GNUC_MINOR__)](unreachable): New.
+	[! unreachable][__has_builtin][__has_builtin(__builtin_unreachable)](unreachable): New.
+	[!(( __has_c_attribute  && (202311 <= __STDC_VERSION__ || ! __STRICT_ANSI__)))](HAVE___HAS_C_ATTRIBUTE): New.
+	[!HAVE_DECL_TIMEGM && ! timegm](timegm): New.
+	[!PORT_TO_C89](inttypes.h): New.
+	[( __has_c_attribute  && (202311 <= __STDC_VERSION__ || ! __STRICT_ANSI__))](HAVE___HAS_C_ATTRIBUTE): New.
+	[(! EXTERN_TIMEOFF  &&  TM_GMTOFF && (200809 < _POSIX_VERSION || ! UNINIT_TRAP))][! timeoff](timeoff): New.
+	[(! EXTERN_TIMEOFF  &&  TM_GMTOFF && (200809 < _POSIX_VERSION || ! UNINIT_TRAP))](EXTERN_TIMEOFF): New.
+	[(200809 < _POSIX_VERSION  ||  __GLIBC__  ||  __tm_zone   ||  __FreeBSD__ ||  __NetBSD__ ||  __OpenBSD__  || ( __APPLE__ &&  __MACH__))][! TM_GMTOFF && ! NO_TM_GMTOFF](TM_GMTOFF): New.
+	[(200809 < _POSIX_VERSION  ||  __GLIBC__  ||  __tm_zone   ||  __FreeBSD__ ||  __NetBSD__ ||  __OpenBSD__  || ( __APPLE__ &&  __MACH__))][! TM_ZONE && ! NO_TM_ZONE](TM_ZONE): New.
+	[(__STDC_VERSION__ < 199901 && ! restrict  && (PORT_TO_C89 ||  _MSC_VER))](restrict): New.
+	[7 <= __GNUC__](ckd_add): New.
+	[7 <= __GNUC__](ckd_sub): New.
+	[7 <= __GNUC__](ckd_mul): New.
+	[DEBUG](unreachable): New.
+	[EXTERN_TIMEOFF](timeoff): New.
+	[HAVE_STDCKDINT_H][HAVE_STDCKDINT_H](stdckdint.h): New.
+	[HAVE__GENERIC](TIME_T_MIN): New.
+	[HAVE__GENERIC](TIME_T_MAX): New.
+	[HAVE__GENERIC](<anonymous>): New.
+	[HAVE___HAS_C_ATTRIBUTE][__has_c_attribute(deprecated)](ATTRIBUTE_DEPRECATED): New.
+	[HAVE___HAS_C_ATTRIBUTE][__has_c_attribute(fallthrough)](ATTRIBUTE_FALLTHROUGH): New.
+	[HAVE___HAS_C_ATTRIBUTE][__has_c_attribute(maybe_unused)](ATTRIBUTE_MAYBE_UNUSED): New.
+	[HAVE___HAS_C_ATTRIBUTE][__has_c_attribute(noreturn)](ATTRIBUTE_NORETURN): New.
+	[HAVE___HAS_C_ATTRIBUTE][__has_c_attribute(reproducible)](ATTRIBUTE_REPRODUCIBLE): New.
+	[HAVE___HAS_C_ATTRIBUTE][__has_c_attribute(unsequenced)](ATTRIBUTE_UNSEQUENCED): New.
+	[LOCALTIME_IMPLEMENTATION && TZ_TIME_T](sys_time): New.
+	[PORT_TO_C89][! HAVE_INTTYPES_H](HAVE_INTTYPES_H): New.
+	[PORT_TO_C89][! HAVE_STDINT_H](HAVE_STDINT_H): New.
+	[PORT_TO_C89][! HAVE_STDINT_H &&  __has_include](HAVE_STDINT_H): New.
+	[PORT_TO_C89][! INTMAX_MAX][! LLONG_MAX](intmax_t): New.
+	[PORT_TO_C89][! INTMAX_MAX][! LLONG_MAX](INTMAX_MAX): New.
+	[PORT_TO_C89][! INTMAX_MAX][! LLONG_MAX](INTMAX_MIN): New.
+	[PORT_TO_C89][! INTMAX_MAX][! strtoimax](strtoimax): New.
+	[PORT_TO_C89][! INTMAX_MAX][LLONG_MAX][! HAVE_STRTOLL](HAVE_STRTOLL): New.
+	[PORT_TO_C89][! INTMAX_MAX][LLONG_MAX][HAVE_STRTOLL](strtoimax): New.
+	[PORT_TO_C89][! INTMAX_MAX][LLONG_MAX](intmax_t): New.
+	[PORT_TO_C89][! INTMAX_MAX][LLONG_MAX](INTMAX_MAX): New.
+	[PORT_TO_C89][! INTMAX_MAX][LLONG_MAX](INTMAX_MIN): New.
+	[PORT_TO_C89][! INT_FAST32_MAX][!(INT_MAX >> 31 == 0)](int_fast32_t): New.
+	[PORT_TO_C89][! INT_FAST32_MAX][!(INT_MAX >> 31 == 0)](INT_FAST32_MAX): New.
+	[PORT_TO_C89][! INT_FAST32_MAX][!(INT_MAX >> 31 == 0)](INT_FAST32_MIN): New.
+	[PORT_TO_C89][! INT_FAST32_MAX][INT_MAX >> 31 == 0](int_fast32_t): New.
+	[PORT_TO_C89][! INT_FAST32_MAX][INT_MAX >> 31 == 0](INT_FAST32_MAX): New.
+	[PORT_TO_C89][! INT_FAST32_MAX][INT_MAX >> 31 == 0](INT_FAST32_MIN): New.
+	[PORT_TO_C89][! INT_FAST64_MAX][!(1 <= LONG_MAX >> 31 >> 31)](int_fast64_t): New.
+	[PORT_TO_C89][! INT_FAST64_MAX][!(1 <= LONG_MAX >> 31 >> 31)](INT_FAST64_MIN): New.
+	[PORT_TO_C89][! INT_FAST64_MAX][!(1 <= LONG_MAX >> 31 >> 31)](INT_FAST64_MAX): New.
+	[PORT_TO_C89][! INT_FAST64_MAX][1 <= LONG_MAX >> 31 >> 31](int_fast64_t): New.
+	[PORT_TO_C89][! INT_FAST64_MAX][1 <= LONG_MAX >> 31 >> 31](INT_FAST64_MIN): New.
+	[PORT_TO_C89][! INT_FAST64_MAX][1 <= LONG_MAX >> 31 >> 31](INT_FAST64_MAX): New.
+	[PORT_TO_C89][! PRIdFAST64][INT_FAST64_MAX != LONG_MAX](PRIdFAST64): New.
+	[PORT_TO_C89][! PRIdFAST64][INT_FAST64_MAX == LONG_MAX](PRIdFAST64): New.
+	[PORT_TO_C89][! PRIdMAX][INTMAX_MAX != LLONG_MAX](PRIdMAX): New.
+	[PORT_TO_C89][! PRIdMAX][INTMAX_MAX == LLONG_MAX](PRIdMAX): New.
+	[PORT_TO_C89][! PRIuMAX][! ULLONG_MAX](PRIuMAX): New.
+	[PORT_TO_C89][! PRIuMAX][ULLONG_MAX](PRIuMAX): New.
+	[PORT_TO_C89][! PTRDIFF_MAX](PTRDIFF_MAX): New.
+	[PORT_TO_C89][! SCNdFAST64](SCNdFAST64): New.
+	[PORT_TO_C89][! SIZE_MAX](SIZE_MAX): New.
+	[PORT_TO_C89][! UINTMAX_MAX][! ULLONG_MAX](uintmax_t): New.
+	[PORT_TO_C89][! UINTMAX_MAX][! ULLONG_MAX](UINTMAX_MAX): New.
+	[PORT_TO_C89][! UINTMAX_MAX][ULLONG_MAX](uintmax_t): New.
+	[PORT_TO_C89][! UINTMAX_MAX][ULLONG_MAX](UINTMAX_MAX): New.
+	[PORT_TO_C89][! UINT_FAST32_MAX](uint_fast32_t): New.
+	[PORT_TO_C89][! UINT_FAST64_MAX][!(3 <= ULONG_MAX >> 31 >> 31)](uint_fast64_t): New.
+	[PORT_TO_C89][! UINT_FAST64_MAX][!(3 <= ULONG_MAX >> 31 >> 31)](UINT_FAST64_MAX): New.
+	[PORT_TO_C89][! UINT_FAST64_MAX][3 <= ULONG_MAX >> 31 >> 31](uint_fast64_t): New.
+	[PORT_TO_C89][! UINT_FAST64_MAX][3 <= ULONG_MAX >> 31 >> 31](UINT_FAST64_MAX): New.
+	[PORT_TO_C89][HAVE_INTTYPES_H](inttypes.h): New.
+	[PORT_TO_C89][HAVE_STDINT_H](stdint.h): New.
+	[PORT_TO_C89][__LONG_LONG_MAX__ && ! __STRICT_ANSI__][! LLONG_MAX](LLONG_MAX): New.
+	[PORT_TO_C89][__LONG_LONG_MAX__ && ! __STRICT_ANSI__][! LLONG_MIN](LLONG_MIN): New.
+	[PORT_TO_C89][__LONG_LONG_MAX__ && ! __STRICT_ANSI__][! ULLONG_MAX](ULLONG_MAX): New.
+	[PORT_TO_C89 && __STDC_VERSION__ < 199901](true): New.
+	[PORT_TO_C89 && __STDC_VERSION__ < 199901](false): New.
+	[PORT_TO_C89 && __STDC_VERSION__ < 199901](bool): New.
+	[__STDC_VERSION__ < 202311](stdbool.h): New.
+	[__STDC_VERSION__ < 202311](static_assert): New.
+	[__has_builtin][__has_builtin(__builtin_add_overflow)](ckd_add): New.
+	[__has_builtin][__has_builtin(__builtin_mul_overflow)](ckd_mul): New.
+	[__has_builtin][__has_builtin(__builtin_sub_overflow)](ckd_sub): New.
+	(stddef.h): Include file.
+	(INDEX_MAX): New.
+	(max): New.
+	(min): New.
+	(static_assert): New function.
+	(<anonymous>): New.
+	(DAYSPERREPEAT): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	* timezone/tzfile.h: Modified.
+	[! TZDEFAULT](TZDEFAULT): Remove.
+	[! TZDEFRULES](TZDEFRULES): Modified.
+	[! TZDIR](TZDIR): Remove.
+	[! TZ_MAX_CHARS](TZ_MAX_CHARS): Modified.
+	[! TZ_MAX_LEAPS](TZ_MAX_LEAPS): Modified.
+	[! TZ_MAX_TIMES](TZ_MAX_TIMES): Modified.
+	[! TZ_MAX_TYPES](TZ_MAX_TYPES): Modified.
+	* timezone/tzselect.ksh: Modified.
+	* timezone/version: Modified.
+	* timezone/zdump.c: Modified.
+	[! HAVE_SNPRINTF](HAVE_SNPRINTF): Modified.
+	[! HAVE_SNPRINTF](my_snprintf): Modified function.
+	[! MAX_STRING_LENGTH](MAX_STRING_LENGTH): Remove.
+	[! USE_LOCALTIME_RZ](localtime_rz): Modified function.
+	[! USE_LOCALTIME_RZ](tzalloc): Modified function.
+	[! USE_LOCALTIME_RZ](tzfree): Modified function.
+	[! ZDUMP_HI_YEAR](ZDUMP_HI_YEAR): Modified.
+	[! ZDUMP_LO_YEAR](ZDUMP_LO_YEAR): Modified.
+	(<anonymous>): Modified.
+	(progname): Modified.
+	(delta): Modified.
+	(hunt): Modified.
+	(yeartot): Modified.
+	(is_digit): Remove.
+	(sumsize): Modified function.
+	(xmalloc): Modified function.
+	(gmtzinit): Modified function.
+	(saveabbr): Modified function.
+	(main): Modified function.
+	(hunt): Modified function.
+	(delta_nonneg): Modified function.
+	(gmtoff): Modified function.
+	(show): Modified function.
+	(format_local_time): Modified function.
+	(format_utc_offset): Modified function.
+	(format_quoted_string): Modified function.
+	(istrftime): Modified function.
+	(showtrans): Modified function.
+	(tformat): Modified function.
+	(dumptime): Modified function.
+	(showextrema): New function.
+	(is_digit): New function.
+	(size_overflow): New function.
+	(xstrsize): New function.
+	(showextrema): New function.
+	* timezone/zic.c: Modified.
+	[! AT_SYMLINK_FOLLOW](linkat): Modified.
+	[! HAVE_LINK](link): Remove.
+	[! HAVE_SYMLINK](readlink): Remove.
+	[! HAVE_SYMLINK](symlink): Remove.
+	[! HAVE_SYMLINK](S_ISLNK): Remove.
+	[! HAVE_SYMLINK](readlink): New function.
+	[! HAVE_SYMLINK](symlink): New function.
+	[! PTRDIFF_MAX](PTRDIFF_MAX): Remove.
+	[! S_ISDIR &&  S_IFDIR &&  S_IFMT](S_ISDIR): Remove.
+	[! WEXITSTATUS](WEXITSTATUS): Remove.
+	[! WIFEXITED](WIFEXITED): Remove.
+	[! WORK_AROUND_QTBUG_53071](<anonymous>): Remove.
+	[! ZIC_BLOAT_DEFAULT](ZIC_BLOAT_DEFAULT): Modified.
+	[! ZIC_MAX_ABBR_LEN_WO_WARN](ZIC_MAX_ABBR_LEN_WO_WARN): Modified.
+	[!HAVE_POSIX_DECLS](link): Modified.
+	[HAVE_SYS_WAIT_H](sys/wait.h): Remove.
+	[__STDC_VERSION__ < 201112](_Alignof): Remove.
+	(stddef.h): Remove include.
+	(ZIC_VERSION_PRE_2013): Remove.
+	(ZIC_VERSION): Remove.
+	(ZIC_MIN): Remove.
+	(ZIC_MAX): Remove.
+	(PRIdZIC): Remove.
+	(rule): Modified.
+	(DC_DOM): Remove.
+	(DC_DOWGEQ): Remove.
+	(DC_DOWLEQ): Remove.
+	(zone): Modified.
+	(getfields): Modified.
+	(infile): Modified.
+	(itsdir): Remove.
+	(itssymlink): Modified.
+	(rulesub): Modified.
+	(yearistype): Remove.
+	(<anonymous>): Modified.
+	(filename): Remove.
+	(rfilename): Remove.
+	(LC_RULE): Remove.
+	(LC_ZONE): Remove.
+	(LC_LINK): Remove.
+	(LC_LEAP): Remove.
+	(LC_EXPIRES): Remove.
+	(ZF_NAME): Remove.
+	(ZF_STDOFF): Remove.
+	(ZF_RULE): Remove.
+	(ZF_FORMAT): Remove.
+	(ZF_TILYEAR): Remove.
+	(ZF_TILMONTH): Remove.
+	(ZF_TILDAY): Remove.
+	(ZF_TILTIME): Remove.
+	(ZONE_MINFIELDS): Remove.
+	(ZONE_MAXFIELDS): Remove.
+	(ZFC_STDOFF): Remove.
+	(ZFC_RULE): Remove.
+	(ZFC_FORMAT): Remove.
+	(ZFC_TILYEAR): Remove.
+	(ZFC_TILMONTH): Remove.
+	(ZFC_TILDAY): Remove.
+	(ZFC_TILTIME): Remove.
+	(ZONEC_MINFIELDS): Remove.
+	(ZONEC_MAXFIELDS): Remove.
+	(RF_NAME): Remove.
+	(RF_LOYEAR): Remove.
+	(RF_HIYEAR): Remove.
+	(RF_COMMAND): Remove.
+	(RF_MONTH): Remove.
+	(RF_DAY): Remove.
+	(RF_TOD): Remove.
+	(RF_SAVE): Remove.
+	(RF_ABBRVAR): Remove.
+	(RULE_FIELDS): Remove.
+	(LF_FROM): Remove.
+	(LF_TO): Remove.
+	(LINK_FIELDS): Remove.
+	(LP_YEAR): Remove.
+	(LP_MONTH): Remove.
+	(LP_DAY): Remove.
+	(LP_TIME): Remove.
+	(LP_CORR): Remove.
+	(LP_ROLL): Remove.
+	(LEAP_FIELDS): Remove.
+	(EXPIRES_FIELDS): Remove.
+	(YR_MINIMUM): Remove.
+	(YR_MAXIMUM): Remove.
+	(YR_ONLY): Remove.
+	(link): Modified.
+	(memory_exhausted): Modified function.
+	(size_product): Modified function.
+	(align_to): Modified function.
+	(memcheck): Modified function.
+	(emalloc): Modified function.
+	(ecpyalloc): Remove function.
+	(growalloc): Modified function.
+	(eats): Modified function.
+	(eat): Modified function.
+	(verror): Modified function.
+	(error): Modified function.
+	(warning): Modified function.
+	(close_file): Modified function.
+	(usage): Modified function.
+	(change_directory): Modified function.
+	(TIME_T_BITS_IN_FILE): Remove.
+	(comment_leapexpires): Remove.
+	(timerange_option): Modified function.
+	(leapsec): Modified.
+	(yitcommand): Remove.
+	(main): Modified function.
+	(componentcheck): Modified function.
+	(relname): Modified function.
+	(hardlinkerr): Remove function.
+	(dolink): Modified function.
+	(itsdir): Remove function.
+	(itssymlink): Modified function.
+	(rcomp): Modified function.
+	(associate): Modified function.
+	(infile): Modified function.
+	(gethms): Modified function.
+	(getsave): Modified function.
+	(inrule): Modified function.
+	(inzone): Modified function.
+	(inzsub): Modified function.
+	(getleapdatetime): Modified function.
+	(inleap): Modified function.
+	(inexpires): Modified function.
+	(inlink): Modified function.
+	(rulesub): Modified function.
+	(convert): Modified function.
+	(convert64): Modified function.
+	(puttzcode): Modified function.
+	(atcomp): Modified function.
+	(timerange): Modified.
+	(limitrange): Modified function.
+	(writezone): Modified function.
+	(doabbr): Modified function.
+	(rule_cmp): Modified function.
+	(stringzone): Modified function.
+	(outzone): Modified function.
+	(leapadd): Modified function.
+	(adjleap): Modified function.
+	(shellquote): Remove function.
+	(yearistype): Remove function.
+	(ciequal): Modified function.
+	(itsabbr): Modified function.
+	(ciprefix): Modified function.
+	(getfields): Modified function.
+	(time_overflow): Modified function.
+	(oadd): Modified function.
+	(tadd): Modified function.
+	(rpytime): Modified function.
+	(mkdirs): Modified function.
+	[! HAVE_GETRANDOM][2 < __GLIBC__ + (25 <= __GLIBC_MINOR__)](sys/random.h): New.
+	[! HAVE_GETRANDOM][__has_include][__has_include(<sys/random.h>)](sys/random.h): New.
+	[! HAVE_GETRANDOM](HAVE_GETRANDOM): New.
+	[! _POSIX2_LINE_MAX](_POSIX2_LINE_MAX): New.
+	[HAVE_GETRANDOM](sys/random.h): New.
+	[__STDC_VERSION__ < 201112 ||  __SUNPRO_C](alignof): New.
+	[__STDC_VERSION__ < 202311](stdalign.h): New.
+	(EPOCH_LOCAL): New.
+	(EPOCH_OFFSET): New.
+	(RESERVE_STD_EXT_IDS): New.
+	(time_tz): New.
+	(tzdir.h): Include file.
+	(signal.h): Include file.
+	(ZIC_MIN): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(filenum): New.
+	(rfilenum): New.
+	(main_argv): New.
+	(unspecifiedtype): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(<anonymous>): New.
+	(size_overflow): New function.
+	(size_sum): New function.
+	(estrdup): New function.
+	(grow_nitems_alloc): New function.
+	(<anonymous>): New.
+	(filename): New function.
+	(qsort_linkcmp): New function.
+	(bsearch_linkcmp): New function.
+	(make_links): New function.
+	(got_signal): New.
+	(signal_handler): New function.
+	(catch_signals): New function.
+	(check_for_signal): New function.
+	(<anonymous>): New.
+	(redundant_time): New.
+	(redundant_time_option): New function.
+	(get_rand_u64): New function.
+	(random_dirent): New function.
+	(open_outfile): New function.
+	(rename_dest): New function.
+	(same_parent_dirs): New function.
+	(inputline): New function.
+	(disable_percent_s): New.
+
+2024-04-06  Paul Eggert  <eggert@cs.ucla.edu>
+            Zack Weinberg  <zack@owlfolio.org>
+
+	COMMIT: 57581acd9559217e859fdac693145ce6399f4d70
+	Fix bsearch, qsort doc to match POSIX better
+
+	* manual/search.texi: Modified.
+
+2024-04-06  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 9e1f4aef865ddeffeb4b5f6578fefab606783120
+	x86-64: Exclude FMA4 IFUNC functions for -mapxf
+
+	* config.h.in: Modified.
+	* sysdeps/x86_64/configure: Modified.
+	* sysdeps/x86_64/configure.ac: Modified.
+	* sysdeps/x86_64/fpu/multiarch/Makefile: Modified.
+	* sysdeps/x86_64/fpu/multiarch/ifunc-avx-fma4.h: Modified.
+	(IFUNC_SELECTOR): Modified function.
+	* sysdeps/x86_64/fpu/multiarch/ifunc-fma4.h: Modified.
+	(IFUNC_SELECTOR): Modified function.
+
+2024-04-05  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: c27f8763cffbb7db9b3f1f5e09ef24d26cbb63f4
+	Reinstate generic features-time64.h
+
+	* sysdeps/generic/features-time64.h: New file.
+
+2024-04-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 460d9e2dfe64d73508456c46405923afaeb4376e
+	Cleanup __tls_get_addr on alpha/microblaze localplt.data
+
+	* sysdeps/unix/sysv/linux/alpha/localplt.data: Modified.
+	* sysdeps/unix/sysv/linux/microblaze/localplt.data: Modified.
+
+2024-04-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 95700e799809fff4307da05fa277820d21dec925
+	arm: Remove ld.so __tls_get_addr plt usage
+
+	* sysdeps/arm/dl-tlsdesc.S: Modified.
+	* sysdeps/unix/sysv/linux/arm/localplt.data: Modified.
+
+2024-04-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 50c2be2390be849176297d231ecce71c6642f407
+	aarch64: Remove ld.so __tls_get_addr plt usage
+
+	* sysdeps/aarch64/dl-tlsdesc.S: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/localplt.data: Modified.
+
+2024-04-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 44ccc2465c6af5bd811d8258bf744aaafd5392fc
+	math: x86 trunc traps when FE_INEXACT is enabled (BZ 31603)
+
+	* math/Makefile: Modified.
+	* math/test-trunc-except-2.c: New file.
+	* sysdeps/i386/fpu/s_trunc.S: Move to...
+	* sysdeps/i386/fpu/s_trunc.c: ... here.
+	(machine/asm.h): Remove include.
+	(FUNC): New.
+	(TYPE): New.
+	(FE_OPTION): New.
+	(s_nearestint_387_template.c): Include file.
+	* sysdeps/i386/fpu/s_truncf.S: Move to...
+	* sysdeps/i386/fpu/s_truncf.c: ... here.
+	(machine/asm.h): Remove include.
+	(FUNC): New.
+	(TYPE): New.
+	(FE_OPTION): New.
+	(s_nearestint_387_template.c): Include file.
+	* sysdeps/i386/fpu/s_truncl.S: Delete file.
+	* sysdeps/x86_64/fpu/s_truncl.S: Move to...
+	* sysdeps/x86/fpu/s_truncl.c: ... here.
+	(machine/asm.h): Remove include.
+	(FUNC): New.
+	(TYPE): New.
+	(FE_OPTION): New.
+	(s_nearestint_387_template.c): Include file.
+
+2024-04-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 932544efa469568525455bcb53d4eabeba0eb295
+	math: x86 floor traps when FE_INEXACT is enabled (BZ 31601)
+
+	* math/Makefile: Modified.
+	* math/test-floor-except-2.c: New file.
+	* sysdeps/i386/fpu/s_floor.S: Delete file.
+	* sysdeps/i386/fpu/s_floor.c: New file.
+	* sysdeps/i386/fpu/s_floorf.S: Delete file.
+	* sysdeps/i386/fpu/s_floorf.c: New file.
+	* sysdeps/i386/fpu/s_floorl.S: Delete file.
+	* sysdeps/x86/fpu/s_floorl.c: New file.
+	* sysdeps/x86_64/fpu/s_floorl.S: Delete file.
+
+2024-04-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 637bfc392f406c6c77f59494ed34949a6161bceb
+	math: x86 ceill traps when FE_INEXACT is enabled (BZ 31600)
+
+	* math/Makefile: Modified.
+	* math/test-ceil-except-2.c: New file.
+	* sysdeps/i386/fpu/s_ceil.S: Delete file.
+	* sysdeps/i386/fpu/s_ceil.c: New file.
+	* sysdeps/i386/fpu/s_ceilf.S: Delete file.
+	* sysdeps/i386/fpu/s_ceilf.c: New file.
+	* sysdeps/i386/fpu/s_ceill.S: Delete file.
+	* sysdeps/x86/fpu/s_ceill.c: New file.
+	* sysdeps/x86/fpu/s_nearestint_387_template.c: New file.
+	* sysdeps/x86_64/fpu/s_ceill.S: Delete file.
+
+2024-04-04  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: 87cb1dfcd6d1acbcd695279d7abd9163a0cc64fc
+	aarch64/fpu: Add vector variants of erfc
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4v_erfcf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2v_erfc): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_erfcf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_erfc): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_erfc): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_erfcf): New.
+	* sysdeps/aarch64/fpu/erfc_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/erfc_data.c: New file.
+	* sysdeps/aarch64/fpu/erfc_sve.c: New file.
+	* sysdeps/aarch64/fpu/erfcf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/erfcf_data.c: New file.
+	* sysdeps/aarch64/fpu/erfcf_sve.c: New file.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/vecmath_config.h: Modified.
+	(erfc_data): New.
+	(erfcf_data): New.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-04-04  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: 3d3a4fb8e4fe854a0bbb3df9c26ba482c10a7e22
+	aarch64/fpu: Add vector variants of tanh
+
+	* math/auto-libm-test-in: Modified.
+	* math/auto-libm-test-out-tanh: Modified.
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4v_tanhf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2v_tanh): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_tanhf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_tanh): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_tanh): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_tanhf): New.
+	* sysdeps/aarch64/fpu/tanh_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/tanh_sve.c: New file.
+	* sysdeps/aarch64/fpu/tanhf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/tanhf_sve.c: New file.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-04-04  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: eedbbca0bf3adf3c45aff6c4e128bae3a5562675
+	aarch64/fpu: Add vector variants of sinh
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4v_sinhf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2v_sinh): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_sinhf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_sinh): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_sinh): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_sinhf): New.
+	* sysdeps/aarch64/fpu/sinh_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/sinh_sve.c: New file.
+	* sysdeps/aarch64/fpu/sinhf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/sinhf_sve.c: New file.
+	* sysdeps/aarch64/fpu/sv_expm1f_inline.h: New file.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/v_expm1f_inline.h: New file.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-04-04  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: 8b679205286e7874f0b04187c0bc787632168aa2
+	aarch64/fpu: Add vector variants of atanh
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/atanh_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/atanh_sve.c: New file.
+	* sysdeps/aarch64/fpu/atanhf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/atanhf_sve.c: New file.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4v_atanhf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2v_atanh): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_atanhf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_atanh): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_atanh): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_atanhf): New.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-04-04  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: 81406ea3c5b5ad19e307302c13dd642785b47948
+	aarch64/fpu: Add vector variants of asinh
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/asinh_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/asinh_sve.c: New file.
+	* sysdeps/aarch64/fpu/asinhf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/asinhf_sve.c: New file.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4v_asinhf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2v_asinh): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_asinhf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_asinh): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_asinh): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_asinhf): New.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-04-04  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: b09fee1d21650428a6a3335408a46ebe1165d30d
+	aarch64/fpu: Add vector variants of acosh
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/acosh_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/acosh_sve.c: New file.
+	* sysdeps/aarch64/fpu/acoshf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/acoshf_sve.c: New file.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4v_acoshf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2v_acosh): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_acoshf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_acosh): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_acosh): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_acoshf): New.
+	* sysdeps/aarch64/fpu/sv_log1p_inline.h: New file.
+	* sysdeps/aarch64/fpu/sv_log1pf_inline.h: New file.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/v_log1p_inline.h: New file.
+	* sysdeps/aarch64/fpu/v_log1pf_inline.h: New file.
+	* sysdeps/aarch64/fpu/v_math.h: Modified.
+	(v_zerofy_f32): New function.
+	(v_zerofy_f64): New function.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-04-04  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: bdb5705b7bab618ed4445f4b17d4b1e4fbbf94a7
+	aarch64/fpu: Add vector variants of cosh
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4v_coshf): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2v_cosh): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_coshf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_cosh): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_cosh): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_coshf): New.
+	* sysdeps/aarch64/fpu/cosh_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/cosh_sve.c: New file.
+	* sysdeps/aarch64/fpu/coshf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/coshf_sve.c: New file.
+	* sysdeps/aarch64/fpu/sv_expf_inline.h: New file.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/v_exp_tail_data.c: New file.
+	* sysdeps/aarch64/fpu/v_expf_inline.h: New file.
+	* sysdeps/aarch64/fpu/vecmath_config.h: Modified.
+	(v_log2_data): Modified.
+	(V_EXP_TAIL_TABLE_BITS): New.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-04-04  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: cb5d84f1f8527116a724e729b98412567eed6404
+	aarch64/fpu: Add vector variants of erf
+
+	* sysdeps/aarch64/fpu/Makefile: Modified.
+	* sysdeps/aarch64/fpu/Versions: Modified.
+	* sysdeps/aarch64/fpu/advsimd_f32_protos.h: Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): Modified.
+	(libmvec_hidden_proto): New function.
+	* sysdeps/aarch64/fpu/bits/math-vector.h: Modified.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN4v_erff): New function.
+	[__ADVSIMD_VEC_MATH_SUPPORTED](_ZGVnN2v_erf): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_erff): New function.
+	[__SVE_VEC_MATH_SUPPORTED](_ZGVsMxv_erf): New function.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_erf): New.
+	[__aarch64__ &&  __FAST_MATH__ && __GNUC_PREREQ (6, 0)](__DECL_SIMD_erff): New.
+	* sysdeps/aarch64/fpu/erf_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/erf_data.c: New file.
+	* sysdeps/aarch64/fpu/erf_sve.c: New file.
+	* sysdeps/aarch64/fpu/erff_advsimd.c: New file.
+	* sysdeps/aarch64/fpu/erff_data.c: New file.
+	* sysdeps/aarch64/fpu/erff_sve.c: New file.
+	* sysdeps/aarch64/fpu/sv_erf_data.c: New file.
+	* sysdeps/aarch64/fpu/sv_erff_data.c: New file.
+	* sysdeps/aarch64/fpu/test-double-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-double-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/test-float-advsimd-wrappers.c: Modified.
+	* sysdeps/aarch64/fpu/test-float-sve-wrappers.c: Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): Modified.
+	(SVE_VECTOR_WRAPPER): New.
+	* sysdeps/aarch64/fpu/vecmath_config.h: Modified.
+	(erff_data): New.
+	(sv_erff_data): New.
+	(erf_data): New.
+	(sv_erf_data): New.
+	* sysdeps/aarch64/libm-test-ulps: Modified.
+	* sysdeps/unix/sysv/linux/aarch64/libmvec.abilist: Modified.
+
+2024-04-04  Stafford Horne  <shorne@gmail.com>
+
+	COMMIT: 3db9d208dd5f30b12900989c6d2214782b8e2011
+	misc: Add support for Linux uio.h RWF_NOAPPEND flag
+
+	* manual/llio.texi: Modified.
+	* misc/tst-preadvwritev2-common.c: Modified.
+	(RWF_SUPPORTED): Modified.
+	[! RWF_NOAPPEND](RWF_NOAPPEND): New.
+	* sysdeps/unix/sysv/linux/bits/uio-ext.h: Modified.
+	(RWF_NOAPPEND): New.
+
+2024-04-03  Alejandro Colomar  <alx@kernel.org>
+
+	COMMIT: 95c70fd0d467450e75354316453824693f07c3cc
+	manual: significand() uses FLT_RADIX, not 2
+
+	* manual/arith.texi: Modified.
+
+2024-04-03  Alejandro Colomar  <alx@kernel.org>
+
+	COMMIT: e01b3b86e821e1132da76ce79ebb301033141e6d
+	manual: Clarify return value of cbrt(3)
+
+	* manual/math.texi: Modified.
+
+2024-04-03  Alejandro Colomar  <alx@kernel.org>
+
+	COMMIT: 077613291b271b64fa60b8a22c3b39c9db697b65
+	manual: floor(log2(fabs(x))) has rounding errors
+
+	* manual/math.texi: Modified.
+
+2024-04-03  Alejandro Colomar  <alx@kernel.org>
+
+	COMMIT: b7d15bd1f00ae3f941150c9e49e65fbc6595adda
+	manual: logb(x) is floor(log2(fabs(x)))
+
+	* manual/math.texi: Modified.
+
+2024-04-02  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 4dcd674b66bb0529019908ea9a08748e005edeb7
+	powerpc: Add missing arch flags on rounding ifunc variants
+
+	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile: Modified.
+
+2024-04-02  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: c0d59e3e0da12b294b85acf055e6e75b18d8dd2a
+	math: Reformat Makefile.
+
+	* math/Makefile: Modified.
+
+2024-04-02  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: a4ed0471d71739928a0d0fa3258b3ff3b158e9b9
+	Always define __USE_TIME_BITS64 when 64 bit time_t is used
+
+	* io/bits/poll2.h: Modified.
+	[__USE_GNU][! __USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_GNU][! __USE_TIME_BITS64](__ppoll_chk): Remove.
+	[__USE_GNU][! __USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_GNU][! __USE_TIME_BITS64](__fortified_attr_access): Remove.
+	[__USE_GNU][__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_GNU][__USE_TIME_BITS64](__ppoll64_chk): Remove.
+	[__USE_GNU][__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_GNU][__USE_TIME_BITS64](__fortified_attr_access): Remove.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](__ppoll_chk): New.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](__fortified_attr_access): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS](__ppoll64_chk): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS](__fortified_attr_access): New.
+	* io/fcntl.h: Modified.
+	[! __USE_TIME_BITS64][! __USE_FILE_OFFSET64](fcntl): Remove.
+	[! __USE_TIME_BITS64][__USE_FILE_OFFSET64][! __REDIRECT](fcntl): Remove.
+	[! __USE_TIME_BITS64][__USE_FILE_OFFSET64][__REDIRECT](__REDIRECT): Remove.
+	[! __USE_TIME_BITS64][__USE_LARGEFILE64](fcntl64): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](__fcntl_time64): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](fcntl64): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](fcntl): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS][! __USE_FILE_OFFSET64](fcntl): New.
+	[! __USE_TIME64_REDIRECTS][__USE_FILE_OFFSET64][! __REDIRECT](fcntl): New.
+	[! __USE_TIME64_REDIRECTS][__USE_FILE_OFFSET64][__REDIRECT](__REDIRECT): New.
+	[! __USE_TIME64_REDIRECTS][__USE_LARGEFILE64](fcntl64): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](__fcntl_time64): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](fcntl64): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](fcntl): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	* io/fts.h: Modified.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME_BITS64](fts_children): Remove.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME_BITS64](fts_close): Remove.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME_BITS64](fts_open): Remove.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME_BITS64](fts_read): Remove.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME_BITS64](fts_set): Remove.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME64_REDIRECTS](fts_children): New.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME64_REDIRECTS](fts_close): New.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME64_REDIRECTS](fts_open): New.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME64_REDIRECTS](fts_read): New.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME64_REDIRECTS](fts_set): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME_BITS64](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME_BITS64](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME64_REDIRECTS](__REDIRECT_NTH): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME64_REDIRECTS](__REDIRECT_NTH): New.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](fts64_children): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](fts64_close): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](fts64_open): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](fts64_read): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](fts64_set): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT](fts_children): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT](fts_close): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT](fts_open): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT](fts_read): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT](fts_set): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](fts64_children): New.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](fts64_close): New.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](fts64_open): New.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](fts64_read): New.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](fts64_set): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT](fts_children): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT](fts_close): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT](fts_open): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT](fts_read): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT](fts_set): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	* io/ftw.h: Modified.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME_BITS64](ftw): Remove.
+	[__USE_FILE_OFFSET64][! __REDIRECT][__USE_TIME_BITS64](ftw): Remove.
+	[__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME64_REDIRECTS](ftw): New.
+	[__USE_FILE_OFFSET64][! __REDIRECT][__USE_TIME64_REDIRECTS](ftw): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](ftw64): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT](nftw64): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](ftw64): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT](nftw64): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_XOPEN_EXTENDED][__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME_BITS64](nftw): Remove.
+	[__USE_XOPEN_EXTENDED][__USE_FILE_OFFSET64][! __REDIRECT][__USE_TIME_BITS64](nftw): Remove.
+	[__USE_XOPEN_EXTENDED][__USE_FILE_OFFSET64][! __REDIRECT][! __USE_TIME64_REDIRECTS](nftw): New.
+	[__USE_XOPEN_EXTENDED][__USE_FILE_OFFSET64][! __REDIRECT][__USE_TIME64_REDIRECTS](nftw): New.
+	[__USE_XOPEN_EXTENDED][__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_XOPEN_EXTENDED][__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_XOPEN_EXTENDED][__USE_FILE_OFFSET64][__REDIRECT][! __USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_XOPEN_EXTENDED][__USE_FILE_OFFSET64][__REDIRECT][__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_XOPEN_EXTENDED][__USE_LARGEFILE64][! __USE_TIME_BITS64](nftw64): Remove.
+	[__USE_XOPEN_EXTENDED][__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT](nftw64): Remove.
+	[__USE_XOPEN_EXTENDED][__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_XOPEN_EXTENDED][__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](nftw64): New.
+	[__USE_XOPEN_EXTENDED][__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT](nftw64): New.
+	[__USE_XOPEN_EXTENDED][__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	* io/sys/poll.h: Modified.
+	[__USE_GNU][__USE_TIME_BITS64][! __REDIRECT](ppoll): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT](ppoll): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	* io/sys/stat.h: Modified.
+	[__USE_ATFILE][! __USE_TIME_BITS64](utimensat): Remove.
+	[__USE_ATFILE][__USE_FILE_OFFSET64][! __USE_TIME_BITS64][! __REDIRECT_NTH](fstatat): Remove.
+	[__USE_ATFILE][__USE_FILE_OFFSET64][! __USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_ATFILE][__USE_FILE_OFFSET64][__USE_TIME_BITS64][! __REDIRECT_NTH](fstatat): Remove.
+	[__USE_ATFILE][__USE_FILE_OFFSET64][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_ATFILE][__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS][! __REDIRECT_NTH](fstatat): New.
+	[__USE_ATFILE][__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_ATFILE][__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](fstatat): New.
+	[__USE_ATFILE][__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_ATFILE][__USE_LARGEFILE64][! __USE_TIME_BITS64](fstatat64): Remove.
+	[__USE_ATFILE][__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT_NTH](fstatat64): Remove.
+	[__USE_ATFILE][__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_ATFILE][__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](fstatat64): New.
+	[__USE_ATFILE][__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](fstatat64): New.
+	[__USE_ATFILE][__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_ATFILE][__USE_TIME_BITS64][! __REDIRECT_NTH](utimensat): Remove.
+	[__USE_ATFILE][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_ATFILE][! __USE_TIME64_REDIRECTS](utimensat): New.
+	[__USE_ATFILE][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](utimensat): New.
+	[__USE_ATFILE][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_FILE_OFFSET64][! __USE_TIME_BITS64][! __REDIRECT_NTH](stat): Remove.
+	[__USE_FILE_OFFSET64][! __USE_TIME_BITS64][! __REDIRECT_NTH](fstat): Remove.
+	[__USE_FILE_OFFSET64][! __USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][! __USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][__USE_TIME_BITS64][! __REDIRECT_NTH](stat): Remove.
+	[__USE_FILE_OFFSET64][__USE_TIME_BITS64][! __REDIRECT_NTH](fstat): Remove.
+	[__USE_FILE_OFFSET64][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS][! __REDIRECT_NTH](stat): New.
+	[__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS][! __REDIRECT_NTH](fstat): New.
+	[__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](stat): New.
+	[__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](fstat): New.
+	[__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](stat64): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](fstat64): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT_NTH](stat64): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][! __REDIRECT_NTH](fstat64): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](stat64): New.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](fstat64): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](stat64): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](fstat64): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_XOPEN2K8][! __USE_TIME_BITS64](futimens): Remove.
+	[__USE_XOPEN2K8][__USE_TIME_BITS64][! __REDIRECT_NTH](futimens): Remove.
+	[__USE_XOPEN2K8][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_XOPEN2K8][! __USE_TIME64_REDIRECTS](futimens): New.
+	[__USE_XOPEN2K8][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](futimens): New.
+	[__USE_XOPEN2K8][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_FILE_OFFSET64][! __USE_TIME_BITS64][! __REDIRECT_NTH](lstat): Remove.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_FILE_OFFSET64][! __USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_FILE_OFFSET64][__USE_TIME_BITS64][! __REDIRECT_NTH](lstat): Remove.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_FILE_OFFSET64][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS][! __REDIRECT_NTH](lstat): New.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](lstat): New.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_LARGEFILE64][! __USE_TIME_BITS64](lstat64): Remove.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_LARGEFILE64][__USE_TIME_BITS64](__REDIRECT_NTH): Remove.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](lstat64): New.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K][__USE_LARGEFILE64][__USE_TIME64_REDIRECTS](__REDIRECT_NTH): New.
+	* io/utime.h: Modified.
+	[! __USE_TIME_BITS64](utime): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](utime): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	(utimbuf): Modified.
+	[! __USE_TIME64_REDIRECTS](utime): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](utime): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	* manual/creature.texi: Modified.
+	* manual/maint.texi: Modified.
+	* misc/sys/ioctl.h: Modified.
+	[! __USE_TIME_BITS64](ioctl): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](__ioctl_time64): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](ioctl): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS](ioctl): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](__ioctl_time64): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](ioctl): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	* misc/sys/select.h: Modified.
+	[! __USE_TIME_BITS64](select): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](select): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_XOPEN2K][! __USE_TIME_BITS64](pselect): Remove.
+	[__USE_XOPEN2K][__USE_TIME_BITS64][! __REDIRECT](pselect): Remove.
+	[__USE_XOPEN2K][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_XOPEN2K][! __USE_TIME64_REDIRECTS](pselect): New.
+	[__USE_XOPEN2K][__USE_TIME64_REDIRECTS][! __REDIRECT](pselect): New.
+	[__USE_XOPEN2K][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[! __USE_TIME64_REDIRECTS](select): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](select): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	* posix/glob.h: Modified.
+	[__USE_FILE_OFFSET64][! __USE_TIME_BITS64](__REDIRECT_NTHNL): Remove.
+	[__USE_FILE_OFFSET64][! __USE_TIME_BITS64](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][__USE_TIME_BITS64](__REDIRECT_NTHNL): Remove.
+	[__USE_FILE_OFFSET64][__USE_TIME_BITS64](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS](__REDIRECT_NTHNL): New.
+	[__USE_FILE_OFFSET64][! __USE_TIME64_REDIRECTS](__REDIRECT_NTH): New.
+	[__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS](__REDIRECT_NTHNL): New.
+	[__USE_FILE_OFFSET64][__USE_TIME64_REDIRECTS](__REDIRECT_NTH): New.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](NL): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME_BITS64](globfree64): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64](__REDIRECT_NTHNL): Remove.
+	[__USE_LARGEFILE64][__USE_TIME_BITS64](__REDIRECT_NTH): Remove.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](NL): New.
+	[__USE_LARGEFILE64][! __USE_TIME64_REDIRECTS](globfree64): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS](__REDIRECT_NTHNL): New.
+	[__USE_LARGEFILE64][__USE_TIME64_REDIRECTS](__REDIRECT_NTH): New.
+	* posix/sched.h: Modified.
+	[! __USE_TIME_BITS64](sched_rr_get_interval): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](sched_rr_get_interval): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS](sched_rr_get_interval): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](sched_rr_get_interval): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	* posix/sys/wait.h: Modified.
+	[__USE_MISC][! __USE_TIME_BITS64](NL): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][! __REDIRECT_NTHNL](wait4): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][__REDIRECT_NTHNL](__REDIRECT_NTHNL): Remove.
+	[__USE_MISC][! __USE_TIME64_REDIRECTS](NL): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][! __REDIRECT_NTHNL](wait4): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][__REDIRECT_NTHNL](__REDIRECT_NTHNL): New.
+	[__USE_MISC  || ( __USE_XOPEN_EXTENDED && ! __USE_XOPEN2K)][! __USE_TIME_BITS64](NL): Remove.
+	[__USE_MISC  || ( __USE_XOPEN_EXTENDED && ! __USE_XOPEN2K)][__USE_TIME_BITS64][! __REDIRECT_NTHNL](wait3): Remove.
+	[__USE_MISC  || ( __USE_XOPEN_EXTENDED && ! __USE_XOPEN2K)][__USE_TIME_BITS64][__REDIRECT_NTHNL](__REDIRECT_NTHNL): Remove.
+	[__USE_MISC  || ( __USE_XOPEN_EXTENDED && ! __USE_XOPEN2K)][! __USE_TIME64_REDIRECTS](NL): New.
+	[__USE_MISC  || ( __USE_XOPEN_EXTENDED && ! __USE_XOPEN2K)][__USE_TIME64_REDIRECTS][! __REDIRECT_NTHNL](wait3): New.
+	[__USE_MISC  || ( __USE_XOPEN_EXTENDED && ! __USE_XOPEN2K)][__USE_TIME64_REDIRECTS][__REDIRECT_NTHNL](__REDIRECT_NTHNL): New.
+	* resolv/netdb.h: Modified.
+	[__USE_GNU][__USE_TIME_BITS64][!((__REDIRECT))](gai_suspend): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][(__REDIRECT)](__REDIRECT): Remove.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][!((__REDIRECT))](gai_suspend): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][(__REDIRECT)](__REDIRECT): New.
+	* resource/sys/resource.h: Modified.
+	[__USE_TIME_BITS64][!((__REDIRECT_NTH))](getrusage): Remove.
+	[__USE_TIME_BITS64][(__REDIRECT_NTH)](__REDIRECT_NTH): Remove.
+	[__USE_TIME64_REDIRECTS][!((__REDIRECT_NTH))](getrusage): New.
+	[__USE_TIME64_REDIRECTS][(__REDIRECT_NTH)](__REDIRECT_NTH): New.
+	* rt/aio.h: Modified.
+	[__USE_FILE_OFFSET64][! __REDIRECT_NTH][! __USE_TIME_BITS64](aio_suspend): Remove.
+	[__USE_FILE_OFFSET64][! __REDIRECT_NTH][__USE_TIME_BITS64](aio_suspend): Remove.
+	[__USE_FILE_OFFSET64][! __REDIRECT_NTH][! __USE_TIME64_REDIRECTS](aio_suspend): New.
+	[__USE_FILE_OFFSET64][! __REDIRECT_NTH][__USE_TIME64_REDIRECTS](aio_suspend): New.
+	[__USE_FILE_OFFSET64][__REDIRECT_NTH][! __USE_TIME_BITS64](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT_NTH][__USE_TIME_BITS64](__REDIRECT_NTH): Remove.
+	[__USE_FILE_OFFSET64][__REDIRECT_NTH][! __USE_TIME64_REDIRECTS](__REDIRECT_NTH): New.
+	[__USE_FILE_OFFSET64][__REDIRECT_NTH][__USE_TIME64_REDIRECTS](__REDIRECT_NTH): New.
+	* rt/mqueue.h: Modified.
+	[__USE_XOPEN2K][! __USE_TIME_BITS64](mq_timedreceive): Remove.
+	[__USE_XOPEN2K][! __USE_TIME_BITS64](mq_timedsend): Remove.
+	[__USE_XOPEN2K][__USE_TIME_BITS64][! __REDIRECT](mq_timedreceive): Remove.
+	[__USE_XOPEN2K][__USE_TIME_BITS64][! __REDIRECT](mq_timedsend): Remove.
+	[__USE_XOPEN2K][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_XOPEN2K][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_XOPEN2K][! __USE_TIME64_REDIRECTS](mq_timedreceive): New.
+	[__USE_XOPEN2K][! __USE_TIME64_REDIRECTS](mq_timedsend): New.
+	[__USE_XOPEN2K][__USE_TIME64_REDIRECTS][! __REDIRECT](mq_timedreceive): New.
+	[__USE_XOPEN2K][__USE_TIME64_REDIRECTS][! __REDIRECT](mq_timedsend): New.
+	[__USE_XOPEN2K][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_XOPEN2K][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	* signal/signal.h: Modified.
+	[__USE_POSIX][__USE_POSIX199309][! __USE_TIME_BITS64](sigtimedwait): Remove.
+	[__USE_POSIX][__USE_POSIX199309][__USE_TIME_BITS64][! __REDIRECT](sigtimedwait): Remove.
+	[__USE_POSIX][__USE_POSIX199309][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_POSIX][__USE_POSIX199309][! __USE_TIME64_REDIRECTS](sigtimedwait): New.
+	[__USE_POSIX][__USE_POSIX199309][__USE_TIME64_REDIRECTS][! __REDIRECT](sigtimedwait): New.
+	[__USE_POSIX][__USE_POSIX199309][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	* socket/sys/socket.h: Modified.
+	[! __USE_TIME_BITS64](sendmsg): Remove.
+	[! __USE_TIME_BITS64](recvmsg): Remove.
+	[! __USE_TIME_BITS64](getsockopt): Remove.
+	[! __USE_TIME_BITS64](setsockopt): Remove.
+	[__USE_GNU][! __USE_TIME_BITS64](sendmmsg): Remove.
+	[__USE_GNU][! __USE_TIME_BITS64](recvmmsg): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][! __REDIRECT](__sendmmsg64): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][! __REDIRECT](sendmmsg): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][! __REDIRECT](recvmmsg): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](sendmmsg): New.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](recvmmsg): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT](__sendmmsg64): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT](sendmmsg): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT](recvmmsg): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_TIME_BITS64][! __REDIRECT](__sendmsg64): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](sendmsg): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](__recvmsg64): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](recvmsg): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](__getsockopt64): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](getsockopt): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](__setsockopt64): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](setsockopt): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS](sendmsg): New.
+	[! __USE_TIME64_REDIRECTS](recvmsg): New.
+	[! __USE_TIME64_REDIRECTS](getsockopt): New.
+	[! __USE_TIME64_REDIRECTS](setsockopt): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](__sendmsg64): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](sendmsg): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](__recvmsg64): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](recvmsg): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](__getsockopt64): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](getsockopt): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](__setsockopt64): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](setsockopt): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	* support/timespec.h: Modified.
+	[! __USE_TIME_BITS64](timespec_add): Remove.
+	[! __USE_TIME_BITS64](timespec_sub): Remove.
+	[! __USE_TIME_BITS64](test_timespec_before_impl): Remove.
+	[! __USE_TIME_BITS64](test_timespec_equal_or_after_impl): Remove.
+	[! __USE_TIME_BITS64](support_timespec_ns): Remove.
+	[! __USE_TIME_BITS64](support_timespec_normalize): Remove.
+	[! __USE_TIME_BITS64](support_timespec_check_in_range): Remove.
+	[! __USE_TIME_BITS64](dtotimespec): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[! __USE_TIME64_REDIRECTS](timespec_add): New.
+	[! __USE_TIME64_REDIRECTS](timespec_sub): New.
+	[! __USE_TIME64_REDIRECTS](test_timespec_before_impl): New.
+	[! __USE_TIME64_REDIRECTS](test_timespec_equal_or_after_impl): New.
+	[! __USE_TIME64_REDIRECTS](support_timespec_ns): New.
+	[! __USE_TIME64_REDIRECTS](support_timespec_normalize): New.
+	[! __USE_TIME64_REDIRECTS](support_timespec_check_in_range): New.
+	[! __USE_TIME64_REDIRECTS](dtotimespec): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	* support/xtime.h: Modified.
+	[! __USE_TIME_BITS64](xclock_gettime): Remove.
+	[! __USE_TIME_BITS64](xclock_settime): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[! __USE_TIME64_REDIRECTS](xclock_gettime): New.
+	[! __USE_TIME64_REDIRECTS](xclock_settime): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	* support/xunistd.h: Modified.
+	[! __USE_TIME_BITS64][! __USE_FILE_OFFSET64](xstat): Remove.
+	[! __USE_TIME_BITS64][! __USE_FILE_OFFSET64](xlstat): Remove.
+	[! __USE_TIME_BITS64][! __USE_FILE_OFFSET64](xfstat): Remove.
+	[! __USE_TIME_BITS64][__USE_FILE_OFFSET64](xstat): Remove.
+	[! __USE_TIME_BITS64][__USE_FILE_OFFSET64](xlstat): Remove.
+	[! __USE_TIME_BITS64][__USE_FILE_OFFSET64](xfstat): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[__USE_TIME_BITS64](__REDIRECT): Remove.
+	[! __USE_TIME64_REDIRECTS][! __USE_FILE_OFFSET64](xstat): New.
+	[! __USE_TIME64_REDIRECTS][! __USE_FILE_OFFSET64](xlstat): New.
+	[! __USE_TIME64_REDIRECTS][! __USE_FILE_OFFSET64](xfstat): New.
+	[! __USE_TIME64_REDIRECTS][__USE_FILE_OFFSET64](xstat): New.
+	[! __USE_TIME64_REDIRECTS][__USE_FILE_OFFSET64](xlstat): New.
+	[! __USE_TIME64_REDIRECTS][__USE_FILE_OFFSET64](xfstat): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS](__REDIRECT): New.
+	* sysdeps/generic/features-time64.h: Delete file.
+	* sysdeps/nptl/pthread.h: Modified.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][! __USE_TIME_BITS64](pthread_cond_timedwait): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][! __USE_TIME_BITS64](pthread_mutex_clocklock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][! __USE_TIME_BITS64](pthread_cond_clockwait): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][__USE_TIME_BITS64][! __REDIRECT](pthread_cond_clockwait): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][__USE_TIME_BITS64][! __REDIRECT_NTHNL](pthread_mutex_clocklock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][__USE_TIME_BITS64][__REDIRECT_NTHNL](__REDIRECT_NTHNL): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][! __USE_TIME64_REDIRECTS](pthread_mutex_clocklock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][! __USE_TIME64_REDIRECTS](pthread_cond_clockwait): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT](pthread_cond_clockwait): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT_NTHNL](pthread_mutex_clocklock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT_NTHNL](__REDIRECT_NTHNL): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_TIME_BITS64][! __REDIRECT](pthread_cond_timedwait): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][! __USE_TIME_BITS64](pthread_rwlock_clockrdlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][! __USE_TIME_BITS64](pthread_rwlock_clockwrlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][__USE_TIME_BITS64][! __REDIRECT_NTHNL](pthread_rwlock_clockrdlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][__USE_TIME_BITS64][! __REDIRECT_NTHNL](pthread_rwlock_clockwrlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][__USE_TIME_BITS64][__REDIRECT_NTHNL](__REDIRECT_NTHNL): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][__USE_TIME_BITS64][__REDIRECT_NTHNL](__REDIRECT_NTHNL): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][! __USE_TIME64_REDIRECTS](pthread_rwlock_clockrdlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][! __USE_TIME64_REDIRECTS](pthread_rwlock_clockwrlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT_NTHNL](pthread_rwlock_clockrdlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT_NTHNL](pthread_rwlock_clockwrlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT_NTHNL](__REDIRECT_NTHNL): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT_NTHNL](__REDIRECT_NTHNL): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][! __USE_TIME_BITS64](pthread_rwlock_timedrdlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][! __USE_TIME_BITS64](pthread_rwlock_timedwrlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][__USE_TIME_BITS64][! __REDIRECT_NTHNL](pthread_rwlock_timedrdlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][__USE_TIME_BITS64][! __REDIRECT_NTHNL](pthread_rwlock_timedwrlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][__USE_TIME_BITS64][__REDIRECT_NTHNL](__REDIRECT_NTHNL): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][__USE_TIME_BITS64][__REDIRECT_NTHNL](__REDIRECT_NTHNL): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][! __USE_TIME64_REDIRECTS](pthread_rwlock_timedrdlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][! __USE_TIME64_REDIRECTS](pthread_rwlock_timedwrlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][__USE_TIME64_REDIRECTS][! __REDIRECT_NTHNL](pthread_rwlock_timedrdlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][__USE_TIME64_REDIRECTS][! __REDIRECT_NTHNL](pthread_rwlock_timedwrlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][__USE_TIME64_REDIRECTS][__REDIRECT_NTHNL](__REDIRECT_NTHNL): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_UNIX98 ||  __USE_XOPEN2K][__USE_XOPEN2K][__USE_TIME64_REDIRECTS][__REDIRECT_NTHNL](__REDIRECT_NTHNL): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_XOPEN2K][! __USE_TIME_BITS64](pthread_mutex_timedlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_XOPEN2K][__USE_TIME_BITS64][! __REDIRECT_NTHNL](pthread_mutex_timedlock): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_XOPEN2K][__USE_TIME_BITS64][__REDIRECT_NTHNL](__REDIRECT_NTHNL): Remove.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_XOPEN2K][! __USE_TIME64_REDIRECTS](pthread_mutex_timedlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_XOPEN2K][__USE_TIME64_REDIRECTS][! __REDIRECT_NTHNL](pthread_mutex_timedlock): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_XOPEN2K][__USE_TIME64_REDIRECTS][__REDIRECT_NTHNL](__REDIRECT_NTHNL): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][! __USE_TIME64_REDIRECTS](pthread_cond_timedwait): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT](pthread_cond_timedwait): New.
+	[__GNUC__ &&  __EXCEPTIONS][__cplusplus][__USE_GNU][__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_GNU][! __USE_TIME_BITS64](pthread_timedjoin_np): Remove.
+	[__USE_GNU][! __USE_TIME_BITS64](pthread_clockjoin_np): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][! __REDIRECT](pthread_timedjoin_np): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][! __REDIRECT](pthread_clockjoin_np): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](pthread_timedjoin_np): New.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](pthread_clockjoin_np): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT](pthread_timedjoin_np): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT](pthread_clockjoin_np): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	* sysdeps/pthread/semaphore.h: Modified.
+	[__USE_GNU][! __USE_TIME_BITS64](sem_clockwait): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][! __REDIRECT](sem_clockwait): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](sem_clockwait): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT](sem_clockwait): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_XOPEN2K][! __USE_TIME_BITS64](sem_timedwait): Remove.
+	[__USE_XOPEN2K][__USE_TIME_BITS64][! __REDIRECT](sem_timedwait): Remove.
+	[__USE_XOPEN2K][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_XOPEN2K][! __USE_TIME64_REDIRECTS](sem_timedwait): New.
+	[__USE_XOPEN2K][__USE_TIME64_REDIRECTS][! __REDIRECT](sem_timedwait): New.
+	[__USE_XOPEN2K][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	* sysdeps/pthread/threads.h: Modified.
+	[! __USE_TIME_BITS64](thrd_sleep): Remove.
+	[! __USE_TIME_BITS64](mtx_timedlock): Remove.
+	[! __USE_TIME_BITS64](cnd_timedwait): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](thrd_sleep): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](mtx_timedlock): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](cnd_timedwait): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[! __USE_TIME64_REDIRECTS](thrd_sleep): New.
+	[! __USE_TIME64_REDIRECTS](mtx_timedlock): New.
+	[! __USE_TIME64_REDIRECTS](cnd_timedwait): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](thrd_sleep): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](mtx_timedlock): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](cnd_timedwait): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	* sysdeps/unix/sysv/linux/arm/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H](stat): Modified.
+	* sysdeps/unix/sysv/linux/bits/socket-constants.h: Modified.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[!((__TIMESIZE == 64 && __WORDSIZE == 32  && (! __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)))][__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	* sysdeps/unix/sysv/linux/bits/time.h: Modified.
+	[__USE_GNU][__USE_TIME_BITS64][!((__REDIRECT_NTH))](clock_adjtime): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][(__REDIRECT_NTH)](__REDIRECT_NTH): Remove.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][!((__REDIRECT_NTH))](clock_adjtime): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][(__REDIRECT_NTH)](__REDIRECT_NTH): New.
+	* sysdeps/unix/sysv/linux/bits/timex.h: Modified.
+	(timex): Modified.
+	* sysdeps/unix/sysv/linux/bits/types/struct_msqid_ds.h: Modified.
+	(msqid_ds): Modified.
+	* sysdeps/unix/sysv/linux/bits/types/struct_semid_ds.h: Modified.
+	(semid_ds): Modified.
+	* sysdeps/unix/sysv/linux/bits/types/struct_shmid_ds.h: Modified.
+	(shmid_ds): Modified.
+	* sysdeps/unix/sysv/linux/csky/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H](stat): Modified.
+	* sysdeps/unix/sysv/linux/features-time64.h: Modified.
+	[_TIME_BITS][_TIME_BITS == 64][__TIMESIZE == 32](__USE_TIME_BITS64): Remove.
+	[_TIME_BITS][_TIME_BITS == 64](__USE_TIME_BITS64): New.
+	[__TIMESIZE == 64](__USE_TIME_BITS64): New.
+	[__USE_TIME_BITS64 && __TIMESIZE == 32](__USE_TIME64_REDIRECTS): New.
+	* sysdeps/unix/sysv/linux/hppa/bits/socket-constants.h: Modified.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	* sysdeps/unix/sysv/linux/hppa/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H](stat): Modified.
+	* sysdeps/unix/sysv/linux/hppa/bits/types/struct_msqid_ds.h: Modified.
+	(msqid_ds): Modified.
+	* sysdeps/unix/sysv/linux/hppa/bits/types/struct_semid_ds.h: Modified.
+	(semid_ds): Modified.
+	* sysdeps/unix/sysv/linux/hppa/bits/types/struct_shmid_ds.h: Modified.
+	(shmid_ds): Modified.
+	* sysdeps/unix/sysv/linux/m68k/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H](stat): Modified.
+	* sysdeps/unix/sysv/linux/microblaze/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][! __USE_FILE_OFFSET64](stat): Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_FILE_OFFSET64](stat): Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64](stat64): Modified.
+	* sysdeps/unix/sysv/linux/mips/bits/socket-constants.h: Modified.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	* sysdeps/unix/sysv/linux/mips/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][_MIPS_SIM != _ABIO32][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H][_MIPS_SIM != _ABIO32](stat): Modified.
+	[! _BITS_STRUCT_STAT_H][_MIPS_SIM == _ABIO32][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H][_MIPS_SIM == _ABIO32](stat): Modified.
+	* sysdeps/unix/sysv/linux/mips/bits/types/struct_msqid_ds.h: Modified.
+	(msqid_ds): Modified.
+	* sysdeps/unix/sysv/linux/mips/bits/types/struct_semid_ds.h: Modified.
+	(semid_ds): Modified.
+	* sysdeps/unix/sysv/linux/mips/bits/types/struct_shmid_ds.h: Modified.
+	(shmid_ds): Modified.
+	* sysdeps/unix/sysv/linux/nios2/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H](stat): Modified.
+	* sysdeps/unix/sysv/linux/powerpc/bits/socket-constants.h: Modified.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	* sysdeps/unix/sysv/linux/powerpc/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__WORDSIZE == 32][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H][__WORDSIZE == 32](stat): Modified.
+	* sysdeps/unix/sysv/linux/powerpc/bits/types/struct_msqid_ds.h: Modified.
+	(msqid_ds): Modified.
+	* sysdeps/unix/sysv/linux/powerpc/bits/types/struct_semid_ds.h: Modified.
+	(semid_ds): Modified.
+	* sysdeps/unix/sysv/linux/powerpc/bits/types/struct_shmid_ds.h: Modified.
+	(shmid_ds): Modified.
+	* sysdeps/unix/sysv/linux/s390/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64][__WORDSIZE != 64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H][__WORDSIZE != 64](stat): Modified.
+	* sysdeps/unix/sysv/linux/sh/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H](stat): Modified.
+	* sysdeps/unix/sysv/linux/sparc/bits/socket-constants.h: Modified.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[__TIMESIZE != 64][! __USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_RCVTIMEO): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_SNDTIMEO): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMP): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPNS): Remove.
+	[__TIMESIZE != 64][__USE_TIME_BITS64](SO_TIMESTAMPING): Remove.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[__TIMESIZE != 64][! __USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_RCVTIMEO): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_SNDTIMEO): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMP): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPNS): New.
+	[__TIMESIZE != 64][__USE_TIME64_REDIRECTS](SO_TIMESTAMPING): New.
+	* sysdeps/unix/sysv/linux/sparc/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H](stat): Modified.
+	* sysdeps/unix/sysv/linux/sparc/bits/types/struct_msqid_ds.h: Modified.
+	(msqid_ds): Modified.
+	* sysdeps/unix/sysv/linux/sparc/bits/types/struct_semid_ds.h: Modified.
+	(semid_ds): Modified.
+	* sysdeps/unix/sysv/linux/sparc/bits/types/struct_shmid_ds.h: Modified.
+	(shmid_ds): Modified.
+	* sysdeps/unix/sysv/linux/sys/epoll.h: Modified.
+	[! __USE_TIME_BITS64](epoll_pwait2): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](epoll_pwait2): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[! __USE_TIME64_REDIRECTS](epoll_pwait2): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](epoll_pwait2): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	* sysdeps/unix/sysv/linux/sys/prctl.h: Modified.
+	[! __USE_TIME_BITS64](prctl): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](__prctl_time64): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT](ioctl): Remove.
+	[__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS](prctl): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](__prctl_time64): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT](ioctl): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	* sysdeps/unix/sysv/linux/sys/timerfd.h: Modified.
+	[__USE_TIME_BITS64][!((__REDIRECT_NTH))](timerfd_settime): Remove.
+	[__USE_TIME_BITS64][!((__REDIRECT_NTH))](timerfd_gettime): Remove.
+	[__USE_TIME_BITS64][(__REDIRECT_NTH)](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][(__REDIRECT_NTH)](__REDIRECT_NTH): Remove.
+	[__USE_TIME64_REDIRECTS][!((__REDIRECT_NTH))](timerfd_settime): New.
+	[__USE_TIME64_REDIRECTS][!((__REDIRECT_NTH))](timerfd_gettime): New.
+	[__USE_TIME64_REDIRECTS][(__REDIRECT_NTH)](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][(__REDIRECT_NTH)](__REDIRECT_NTH): New.
+	* sysdeps/unix/sysv/linux/sys/timex.h: Modified.
+	[! __USE_TIME_BITS64][! __REDIRECT_NTH](ntp_gettime): Remove.
+	[! __USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[! __USE_TIME_BITS64](adjtimex): Remove.
+	[! __USE_TIME_BITS64](ntp_gettimex): Remove.
+	[! __USE_TIME_BITS64](ntp_adjtime): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](adjtimex): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](ntp_adjtime): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](ntp_gettime): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](ntp_gettimex): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS][! __REDIRECT_NTH](ntp_gettime): New.
+	[! __USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[! __USE_TIME64_REDIRECTS](adjtimex): New.
+	[! __USE_TIME64_REDIRECTS](ntp_gettimex): New.
+	[! __USE_TIME64_REDIRECTS](ntp_adjtime): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](adjtimex): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](ntp_adjtime): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](ntp_gettime): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](ntp_gettimex): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	* sysdeps/unix/sysv/linux/x86/bits/struct_stat.h: Modified.
+	[! _BITS_STRUCT_STAT_H][__USE_LARGEFILE64](stat64): Modified.
+	[! _BITS_STRUCT_STAT_H](stat): Modified.
+	* sysdeps/unix/sysv/linux/x86/bits/types/struct_semid_ds.h: Modified.
+	(semid_ds): Modified.
+	* sysvipc/sys/msg.h: Modified.
+	[! __USE_TIME_BITS64](msgctl): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](msgctl): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS](msgctl): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](msgctl): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	* sysvipc/sys/sem.h: Modified.
+	[! __USE_TIME_BITS64](semctl): Remove.
+	[__USE_GNU][! __USE_TIME_BITS64](semtimedop): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][! __REDIRECT_NTH](semtimedop): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](semtimedop): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](semtimedop): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](semctl): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS](semctl): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](semctl): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	* sysvipc/sys/shm.h: Modified.
+	[! __USE_TIME_BITS64](shmctl): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](shmctl): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS](shmctl): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](shmctl): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	* time/bits/types/struct_timespec.h: Modified.
+	(timespec): Modified.
+	* time/bits/types/struct_timeval.h: Modified.
+	(timeval): Modified.
+	* time/bits/types/time_t.h: Modified.
+	[! __USE_TIME_BITS64](time_t): Remove.
+	[__USE_TIME_BITS64](time_t): Remove.
+	[! __USE_TIME64_REDIRECTS](time_t): New.
+	[__USE_TIME64_REDIRECTS](time_t): New.
+	* time/sys/time.h: Modified.
+	[! __USE_TIME_BITS64](gettimeofday): Remove.
+	[! __USE_TIME_BITS64](getitimer): Remove.
+	[! __USE_TIME_BITS64](setitimer): Remove.
+	[! __USE_TIME_BITS64](utimes): Remove.
+	[__USE_GNU][! __USE_TIME_BITS64](futimesat): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][! __REDIRECT_NTH](futimesat): Remove.
+	[__USE_GNU][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_GNU][! __USE_TIME64_REDIRECTS](futimesat): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](futimesat): New.
+	[__USE_GNU][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_MISC][! __USE_TIME_BITS64](settimeofday): Remove.
+	[__USE_MISC][! __USE_TIME_BITS64](adjtime): Remove.
+	[__USE_MISC][! __USE_TIME_BITS64](lutimes): Remove.
+	[__USE_MISC][! __USE_TIME_BITS64](futimes): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][! __REDIRECT_NTH](settimeofday): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][! __REDIRECT_NTH](adjtime): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][! __REDIRECT_NTH](lutimes): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][! __REDIRECT_NTH](futimes): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_MISC][! __USE_TIME64_REDIRECTS](settimeofday): New.
+	[__USE_MISC][! __USE_TIME64_REDIRECTS](adjtime): New.
+	[__USE_MISC][! __USE_TIME64_REDIRECTS](lutimes): New.
+	[__USE_MISC][! __USE_TIME64_REDIRECTS](futimes): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](settimeofday): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](adjtime): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](lutimes): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](futimes): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](gettimeofday): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](getitimer): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](setitimer): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](utimes): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS](gettimeofday): New.
+	[! __USE_TIME64_REDIRECTS](getitimer): New.
+	[! __USE_TIME64_REDIRECTS](setitimer): New.
+	[! __USE_TIME64_REDIRECTS](utimes): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](gettimeofday): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](getitimer): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](setitimer): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](utimes): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	* time/time.h: Modified.
+	[! __USE_TIME_BITS64](time): Remove.
+	[! __USE_TIME_BITS64](difftime): Remove.
+	[! __USE_TIME_BITS64](mktime): Remove.
+	[! __USE_TIME_BITS64](gmtime): Remove.
+	[! __USE_TIME_BITS64](localtime): Remove.
+	[! __USE_TIME_BITS64](ctime): Remove.
+	[__GLIBC_USE (ISOC23)][! __USE_TIME_BITS64](timespec_getres): Remove.
+	[__GLIBC_USE (ISOC23)][__USE_TIME_BITS64][! __REDIRECT_NTH](timespec_getres): Remove.
+	[__GLIBC_USE (ISOC23)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (ISOC23)][! __USE_TIME64_REDIRECTS](timespec_getres): New.
+	[__GLIBC_USE (ISOC23)][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](timespec_getres): New.
+	[__GLIBC_USE (ISOC23)][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_ISOC11][! __USE_TIME_BITS64](timespec_get): Remove.
+	[__USE_ISOC11][__USE_TIME_BITS64][! __REDIRECT_NTH](timespec_get): Remove.
+	[__USE_ISOC11][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_ISOC11][! __USE_TIME64_REDIRECTS](timespec_get): New.
+	[__USE_ISOC11][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](timespec_get): New.
+	[__USE_ISOC11][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_MISC][! __USE_TIME_BITS64](timelocal): Remove.
+	[__USE_MISC][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_MISC][! __USE_TIME64_REDIRECTS](timelocal): New.
+	[__USE_MISC][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_MISC || __GLIBC_USE (ISOC23)][! __USE_TIME_BITS64](timegm): Remove.
+	[__USE_MISC || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][! __REDIRECT_NTH](timegm): Remove.
+	[__USE_MISC || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_MISC || __GLIBC_USE (ISOC23)][! __USE_TIME64_REDIRECTS](timegm): New.
+	[__USE_MISC || __GLIBC_USE (ISOC23)][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](timegm): New.
+	[__USE_MISC || __GLIBC_USE (ISOC23)][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_POSIX][! __USE_TIME_BITS64](ctime_r): Remove.
+	[__USE_POSIX][__USE_TIME_BITS64][! __REDIRECT_NTH](ctime_r): Remove.
+	[__USE_POSIX][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_POSIX][! __USE_TIME64_REDIRECTS](ctime_r): New.
+	[__USE_POSIX][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](ctime_r): New.
+	[__USE_POSIX][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][! __USE_TIME_BITS64](gmtime_r): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][! __USE_TIME_BITS64](localtime_r): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][! __REDIRECT_NTH](gmtime_r): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][! __REDIRECT_NTH](localtime_r): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][! __USE_TIME64_REDIRECTS](gmtime_r): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][! __USE_TIME64_REDIRECTS](localtime_r): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](gmtime_r): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](localtime_r): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_POSIX199309][! __USE_TIME_BITS64](nanosleep): Remove.
+	[__USE_POSIX199309][! __USE_TIME_BITS64](clock_getres): Remove.
+	[__USE_POSIX199309][! __USE_TIME_BITS64](clock_gettime): Remove.
+	[__USE_POSIX199309][! __USE_TIME_BITS64](clock_settime): Remove.
+	[__USE_POSIX199309][! __USE_TIME_BITS64](timer_settime): Remove.
+	[__USE_POSIX199309][! __USE_TIME_BITS64](timer_gettime): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][! __REDIRECT](nanosleep): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][! __REDIRECT](clock_getres): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][! __REDIRECT](clock_gettime): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][! __REDIRECT](clock_settime): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][! __REDIRECT_NTH](timer_settime): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][! __REDIRECT_NTH](timer_gettime): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_POSIX199309][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_POSIX199309][__USE_XOPEN2K][! __USE_TIME_BITS64](clock_nanosleep): Remove.
+	[__USE_POSIX199309][__USE_XOPEN2K][__USE_TIME_BITS64][! __REDIRECT](clock_nanosleep): Remove.
+	[__USE_POSIX199309][__USE_XOPEN2K][__USE_TIME_BITS64][__REDIRECT](__REDIRECT): Remove.
+	[__USE_POSIX199309][__USE_XOPEN2K][! __USE_TIME64_REDIRECTS](clock_nanosleep): New.
+	[__USE_POSIX199309][__USE_XOPEN2K][__USE_TIME64_REDIRECTS][! __REDIRECT](clock_nanosleep): New.
+	[__USE_POSIX199309][__USE_XOPEN2K][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_POSIX199309][! __USE_TIME64_REDIRECTS](nanosleep): New.
+	[__USE_POSIX199309][! __USE_TIME64_REDIRECTS](clock_getres): New.
+	[__USE_POSIX199309][! __USE_TIME64_REDIRECTS](clock_gettime): New.
+	[__USE_POSIX199309][! __USE_TIME64_REDIRECTS](clock_settime): New.
+	[__USE_POSIX199309][! __USE_TIME64_REDIRECTS](timer_settime): New.
+	[__USE_POSIX199309][! __USE_TIME64_REDIRECTS](timer_gettime): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][! __REDIRECT](nanosleep): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][! __REDIRECT](clock_getres): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][! __REDIRECT](clock_gettime): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][! __REDIRECT](clock_settime): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](timer_settime): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](timer_gettime): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_POSIX199309][__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](time): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](difftime): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](mktime): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](gmtime): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](localtime): Remove.
+	[__USE_TIME_BITS64][! __REDIRECT_NTH](ctime): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[! __USE_TIME64_REDIRECTS](time): New.
+	[! __USE_TIME64_REDIRECTS](difftime): New.
+	[! __USE_TIME64_REDIRECTS](mktime): New.
+	[! __USE_TIME64_REDIRECTS](gmtime): New.
+	[! __USE_TIME64_REDIRECTS](localtime): New.
+	[! __USE_TIME64_REDIRECTS](ctime): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](time): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](difftime): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](mktime): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](gmtime): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](localtime): New.
+	[__USE_TIME64_REDIRECTS][! __REDIRECT_NTH](ctime): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_TIME64_REDIRECTS][__REDIRECT_NTH](__REDIRECT_NTH): New.
+
+2024-04-01  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: a0698a5e92ceeed3409d28623b1d599da6bc887d
+	benchtests: Improve benchtests for strstr
+
+	* benchtests/bench-strcasestr.c: Modified.
+	(proto_t): Modified.
+	(do_one_test): Modified function.
+	(do_test): Modified function.
+	(test_main): Modified function.
+	(MIN_PAGE_SIZE): New.
+	(json-lib.h): Include file.
+	(input): New.
+	(test_hard_needle): New function.
+
+2024-03-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 721314c980ed371d36a84f63c393e4289e249b3b
+	x86_64: Remove avx512 strstr implementation
+
+	* sysdeps/x86_64/multiarch/Makefile: Modified.
+	* sysdeps/x86_64/multiarch/ifunc-impl-list.c: Modified.
+	(__libc_ifunc_impl_list): Modified function.
+	* sysdeps/x86_64/multiarch/strstr-avx512.c: Delete file.
+	* sysdeps/x86_64/multiarch/strstr.c: Modified.
+	(__strstr_avx512): Remove.
+	(IFUNC_SELECTOR): Remove function.
+	(libc_ifunc_redirected): Remove.
+	(libc_ifunc): New.
+
+2024-03-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 2e53eb923486704b7a0d6f3d81d1ee8ba672a56b
+	signal: Avoid system signal disposition to interfere with tests
+
+	* signal/tst-sigset2.c: Modified.
+	(main): Modified function.
+	(support/xsignal.h): Include file.
+	* sysdeps/pthread/tst-signal1.c: Modified.
+	(do_test): Modified function.
+	(support/xsignal.h): Include file.
+
+2024-03-25  Palmer Dabbelt  <palmer@rivosinc.com>
+
+	COMMIT: 96d1b9ac2321b565f340ba8f3674597141e3450d
+	RISC-V: Fix the static-PIE non-relocated object check
+
+	* sysdeps/riscv/dl-machine.h: Modified.
+	[RESOLVE_MAP](elf_machine_runtime_setup): Modified function.
+
+2024-03-23  Sergey Bugaev  <bugaevc@gmail.com>
+
+	COMMIT: dc1a77269c971652a8a5167ec366792eae052e65
+	htl: Implement some support for TLS_DTV_AT_TP
+
+	* htl/pt-create.c: Modified.
+	(__pthread_create_internal): Modified function.
+	* sysdeps/htl/dl-thread_gscope_wait.c: Modified.
+	(__thread_gscope_wait): Modified function.
+	(thread_gscope_flag): New function.
+	* sysdeps/mach/hurd/htl/pt-sysdep.c: Modified.
+	(_init_routine): Modified function.
+
+2024-03-23  Sergey Bugaev  <bugaevc@gmail.com>
+
+	COMMIT: a4273efa219480a7f2c9c8fa7bc8bb71c48c3604
+	htl: Respect GL(dl_stack_flags) when allocating stacks
+
+	* sysdeps/htl/Versions: Modified.
+	* sysdeps/mach/htl/pt-stack-alloc.c: Modified.
+	(__pthread_stack_alloc): Modified function.
+
+2024-03-23  Sergey Bugaev  <bugaevc@gmail.com>
+
+	COMMIT: b467cfcaee34452df845c678dd2ba36ea2221855
+	hurd: Use the RETURN_ADDRESS macro
+
+	* sysdeps/mach/hurd/init-first.c: Modified.
+	[! SHARED](_hurd_stack_setup): Modified function.
+
+2024-03-23  Sergey Bugaev  <bugaevc@gmail.com>
+
+	COMMIT: 6afeac1289b92bc893613cc9efc9b5c692369e64
+	hurd: Disable Prefer_MAP_32BIT_EXEC on non-x86_64 for now
+
+	* sysdeps/mach/hurd/dl-sysdep.c: Modified.
+	(__mmap): Modified function.
+	* sysdeps/mach/hurd/mmap.c: Modified.
+	(__mmap): Modified function.
+
+2024-03-23  Sergey Bugaev  <bugaevc@gmail.com>
+
+	COMMIT: 49aa652db810ebdca3a662ebd5b0468bd08ec688
+	Allow glibc to be compiled without EXEC_PAGESIZE
+
+	* elf/dl-support.c: Modified.
+	[! HAVE_AUX_VECTOR](__rtld_lock_define_initialized_recursive): Remove.
+	[! PTHREAD_IN_LIBC](_dl_make_stack_executable): Remove.
+	[! PTHREAD_IN_LIBC](_dl_nothread_init_static_tls): Remove.
+	[DL_SYSINFO_IMPLEMENTATION](DL_SYSINFO_IMPLEMENTATION): Remove.
+	[HAVE_AUX_VECTOR](dl-parse_auxv.h): Remove.
+	[HAVE_AUX_VECTOR](_dl_clktck): Remove.
+	[HAVE_AUX_VECTOR](_dl_aux_init): Remove.
+	[NEED_DL_SYSINFO](_dl_sysinfo): Remove.
+	[NEED_DL_SYSINFO_DSO](_dl_sysinfo_dso): Remove.
+	[NEED_DL_SYSINFO_DSO](_dl_sysinfo_map): Remove.
+	[NEED_DL_SYSINFO_DSO](get-dynamic-info.h): Remove.
+	[PTHREAD_IN_LIBC](_dl_stack_used): Remove.
+	[PTHREAD_IN_LIBC](_dl_stack_user): Remove.
+	[PTHREAD_IN_LIBC](_dl_stack_cache): Remove.
+	[PTHREAD_IN_LIBC](_dl_stack_cache_actsize): Remove.
+	[PTHREAD_IN_LIBC](_dl_in_flight_stack): Remove.
+	[PTHREAD_IN_LIBC](_dl_stack_cache_lock): Remove.
+	(_dl_pagesize): Remove.
+	(_dl_minsigstacksize): Remove.
+	(_dl_inhibit_cache): Remove.
+	(_dl_all_dirs): Remove.
+	(_dl_init_all_dirs): Remove.
+	(_dl_initfirst): Remove.
+	(_dl_debug_fd): Remove.
+	(_dl_auxv): Remove.
+	(_dl_phdr): Remove.
+	(_dl_phnum): Remove.
+	(_dl_hwcap): Remove.
+	(_dl_hwcap2): Remove.
+	(_dl_hwcap3): Remove.
+	(_dl_hwcap4): Remove.
+	(_dl_dso_sort_algo): Remove.
+	(_dl_fpu_control): Remove.
+	(_dl_stack_flags): Remove.
+	(_dl_scope_free_list): Remove.
+	(setup-vdso.h): Remove include.
+	(dl-vdso-setup.c): Remove include.
+	(__rtld_lock_define_initialized_recursive): Remove function.
+	(_dl_get_dl_main_map): Remove function.
+	(_dl_audit_pltexit): Remove function.
+	[EXEC_PAGESIZE][! HAVE_AUX_VECTOR](__rtld_lock_define_initialized_recursive): New.
+	[EXEC_PAGESIZE][! PTHREAD_IN_LIBC](_dl_make_stack_executable): New.
+	[EXEC_PAGESIZE][! PTHREAD_IN_LIBC](_dl_nothread_init_static_tls): New.
+	[EXEC_PAGESIZE][DL_SYSINFO_IMPLEMENTATION](DL_SYSINFO_IMPLEMENTATION): New.
+	[EXEC_PAGESIZE][HAVE_AUX_VECTOR](dl-parse_auxv.h): New.
+	[EXEC_PAGESIZE][HAVE_AUX_VECTOR](_dl_clktck): New.
+	[EXEC_PAGESIZE][HAVE_AUX_VECTOR](_dl_aux_init): New.
+	[EXEC_PAGESIZE][NEED_DL_SYSINFO](_dl_sysinfo): New.
+	[EXEC_PAGESIZE][NEED_DL_SYSINFO_DSO](_dl_sysinfo_dso): New.
+	[EXEC_PAGESIZE][NEED_DL_SYSINFO_DSO](_dl_sysinfo_map): New.
+	[EXEC_PAGESIZE][NEED_DL_SYSINFO_DSO](get-dynamic-info.h): New.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_used): New.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_user): New.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_cache): New.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_cache_actsize): New.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_in_flight_stack): New.
+	[EXEC_PAGESIZE][PTHREAD_IN_LIBC](_dl_stack_cache_lock): New.
+	[EXEC_PAGESIZE](_dl_pagesize): New.
+	[EXEC_PAGESIZE](_dl_minsigstacksize): New.
+	[EXEC_PAGESIZE](_dl_inhibit_cache): New.
+	[EXEC_PAGESIZE](_dl_all_dirs): New.
+	[EXEC_PAGESIZE](_dl_init_all_dirs): New.
+	[EXEC_PAGESIZE](_dl_initfirst): New.
+	[EXEC_PAGESIZE](_dl_debug_fd): New.
+	[EXEC_PAGESIZE](_dl_auxv): New.
+	[EXEC_PAGESIZE](_dl_phdr): New.
+	[EXEC_PAGESIZE](_dl_phnum): New.
+	[EXEC_PAGESIZE](_dl_hwcap): New.
+	[EXEC_PAGESIZE](_dl_hwcap2): New.
+	[EXEC_PAGESIZE](_dl_hwcap3): New.
+	[EXEC_PAGESIZE](_dl_hwcap4): New.
+	[EXEC_PAGESIZE](_dl_dso_sort_algo): New.
+	[EXEC_PAGESIZE](_dl_fpu_control): New.
+	[EXEC_PAGESIZE](_dl_stack_flags): New.
+	[EXEC_PAGESIZE](_dl_scope_free_list): New.
+	[EXEC_PAGESIZE](setup-vdso.h): New.
+	[EXEC_PAGESIZE](dl-vdso-setup.c): New.
+	[EXEC_PAGESIZE](__rtld_lock_define_initialized_recursive): New.
+	[EXEC_PAGESIZE](_dl_get_dl_main_map): New.
+	[EXEC_PAGESIZE](_dl_audit_pltexit): New.
+	* elf/rtld.c: Modified.
+	* libio/libioP.h: Modified.
+	[_G_HAVE_MMAP][! MAP_ANONYMOUS || ! EXEC_PAGESIZE](_G_HAVE_MMAP): Remove.
+	[_G_HAVE_MMAP][! MAP_ANONYMOUS](_G_HAVE_MMAP): New.
+
+2024-03-23  Sergey Bugaev  <bugaevc@gmail.com>
+
+	COMMIT: 4648bfbbde5466929d24013478697cbdec847b46
+	hurd: Stop relying on VM_MAX_ADDRESS
+
+	* hurd/hurdsig.c: Modified.
+	(_hurdsig_getenv): Modified function.
+
+2024-03-23  Sergey Bugaev  <bugaevc@gmail.com>
+
+	COMMIT: 7f02511e5b8879430e2b3c51601341d3c0314071
+	hurd: Move internal functions to internal header
+
+	* hurd/hurd/signal.h: Modified.
+	[! _HURD_SIGNAL_H_EXTERN_INLINE](_HURD_SIGNAL_H_EXTERN_INLINE): Remove.
+	[__USE_EXTERN_INLINES &&  _LIBC][IS_IN (libc)](_hurd_self_sigstate): Remove.
+	[__USE_EXTERN_INLINES &&  _LIBC][IS_IN (libc)](_hurd_critical_section_lock): Remove.
+	[__USE_EXTERN_INLINES &&  _LIBC][IS_IN (libc)](_hurd_critical_section_unlock): Remove.
+	[__USE_EXTERN_INLINES &&  _LIBC][IS_IN (libc) || IS_IN (libpthread)](sigsetops.h): Remove.
+	* sysdeps/hurd/include/hurd/signal.h: Modified.
+	[!	_HURD_SIGNAL_H][! _ISOMAC][! _HURD_SIGNAL_H_EXTERN_INLINE](_HURD_SIGNAL_H_EXTERN_INLINE): New.
+	[!	_HURD_SIGNAL_H][! _ISOMAC][__USE_EXTERN_INLINES][IS_IN (libc) || IS_IN (libpthread)](sigsetops.h): New.
+	[!	_HURD_SIGNAL_H][! _ISOMAC][__USE_EXTERN_INLINES][IS_IN (libc) || IS_IN (libpthread)](tls.h): New.
+	[!	_HURD_SIGNAL_H][! _ISOMAC][__USE_EXTERN_INLINES && IS_IN (libc)](_hurd_self_sigstate): New.
+	[!	_HURD_SIGNAL_H][! _ISOMAC][__USE_EXTERN_INLINES && IS_IN (libc)](_hurd_critical_section_lock): New.
+	[!	_HURD_SIGNAL_H][! _ISOMAC][__USE_EXTERN_INLINES && IS_IN (libc)](_hurd_critical_section_unlock): New.
+
+2024-03-23  Stafford Horne  <shorne@gmail.com>
+
+	COMMIT: 4a13b3ef46fc10e695630d4774af7fe4944f64ca
+	stdlib: Fix tst-makecontext2 log when swapcontext fails
+
+	* stdlib/tst-makecontext2.c: Modified.
+	(do_test): Modified function.
+
+2024-03-22  Stafford Horne  <shorne@gmail.com>
+
+	COMMIT: ad05a42370fa09062ff2b450fb69905d9f407643
+	or1k: Add prctl wrapper to unwrap variadic args
+
+	* sysdeps/unix/sysv/linux/or1k/prctl.c: New file.
+
+2024-03-22  Stafford Horne  <shorne@gmail.com>
+
+	COMMIT: df7e29e2a4aadc7e19669eaf953cee1bcf8b156f
+	or1k: Only define fpu rouding and exceptions with hard-float
+
+	* sysdeps/or1k/bits/fenv.h: Modified.
+	(<anonymous>): Remove.
+	(FE_ALL_EXCEPT): Remove.
+	(FE_TONEAREST): Remove.
+	(FE_TOWARDZERO): Remove.
+	(FE_UPWARD): Remove.
+	(FE_DOWNWARD): Remove.
+	[! __or1k_hard_float__](<anonymous>): New.
+	[! __or1k_hard_float__](FE_ALL_EXCEPT): New.
+	[__or1k_hard_float__](<anonymous>): New.
+	[__or1k_hard_float__](FE_ALL_EXCEPT): New.
+	[__or1k_hard_float__](FE_TONEAREST): New.
+	[__or1k_hard_float__](FE_TOWARDZERO): New.
+	[__or1k_hard_float__](FE_UPWARD): New.
+	[__or1k_hard_float__](FE_DOWNWARD): New.
+
+2024-03-22  Stafford Horne  <shorne@gmail.com>
+
+	COMMIT: 2e982a3937f20156a72a59560061dda006d3480b
+	or1k: Update libm test ulps
+
+	* sysdeps/or1k/libm-test-ulps: Modified.
+
+2024-03-21  Wilco Dijkstra  <wilco.dijkstra@arm.com>
+
+	COMMIT: 2e94e2f5d2bf2de124c8ad7da85463355e54ccb2
+	AArch64: Check kernel version for SVE ifuncs
+
+	* sysdeps/aarch64/cpu-features.h: Modified.
+	(cpu_features): Modified.
+	* sysdeps/aarch64/multiarch/init-arch.h: Modified.
+	(INIT_ARCH): Modified.
+	* sysdeps/aarch64/multiarch/memcpy.c: Modified.
+	(__typeof): Modified function.
+	* sysdeps/aarch64/multiarch/memmove.c: Modified.
+	(__typeof): Modified function.
+	* sysdeps/unix/sysv/linux/aarch64/cpu-features.c: Modified.
+	(init_cpu_features): Modified function.
+	[__LINUX_KERNEL_VERSION < 0x060200](prefer_sve_ifuncs): New.
+	(sys/utsname.h): Include file.
+
+2024-03-19  Amrita H S  <amritahs@linux.ibm.com>
+
+	COMMIT: 1ea051145612f199d8716ecdf78b084b00b5a727
+	powerpc: Placeholder and infrastructure/build support to add Power11 related changes.
+
+	* sysdeps/powerpc/dl-procinfo.h: Modified.
+	(_DL_PLATFORMS_COUNT): Modified.
+	(_dl_string_platform): Modified function.
+	(PPC_PLATFORM_POWER11): New.
+	* sysdeps/powerpc/powerpc32/power11/Implies: New file.
+	* sysdeps/powerpc/powerpc32/power11/fpu/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc32/power11/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc64/be/power11/Implies: New file.
+	* sysdeps/powerpc/powerpc64/be/power11/fpu/Implies: New file.
+	* sysdeps/powerpc/powerpc64/be/power11/fpu/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc64/be/power11/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc64/le/power11/Implies: New file.
+	* sysdeps/powerpc/powerpc64/le/power11/fpu/Implies: New file.
+	* sysdeps/powerpc/powerpc64/le/power11/fpu/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc64/le/power11/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc64/le/tst-glibc-hwcaps.c: Modified.
+	(compute_level): Modified function.
+	* sysdeps/powerpc/preconfigure: Modified.
+	* sysdeps/powerpc/preconfigure.ac: Modified.
+
+2024-03-19  Manjunath Matti  <mmatti@linux.ibm.com>
+
+	COMMIT: 3ab9b88e2ac91062b6d493fe32bd101a55006c6a
+	powerpc: Add HWCAP3/HWCAP4 data to TCB for Power Architecture.
+
+	* elf/dl-diagnostics.c: Modified.
+	(_dl_print_diagnostics): Modified function.
+	* elf/dl-support.c: Modified.
+	(_dl_hwcap3): New.
+	(_dl_hwcap4): New.
+	* elf/elf.h: Modified.
+	(AT_HWCAP3): New.
+	(AT_HWCAP4): New.
+	* sysdeps/generic/ldsodefs.h: Modified.
+	[SHARED](rtld_global_ro): Modified.
+	* sysdeps/powerpc/dl-procinfo.c: Modified.
+	(_DL_HWCAP_COUNT): New.
+	* sysdeps/powerpc/dl-procinfo.h: Modified.
+	[IS_IN (rtld)](_dl_procinfo): Modified function.
+	(_DL_HWCAP_COUNT): Remove.
+	(_DL_HWCAP_LAST): Remove.
+	(_DL_HWCAP2_LAST): Remove.
+	(_DL_HWCAP_SIZE): New.
+	(_DL_HWCAP2_OFFSET): New.
+	(_DL_HWCAP3_OFFSET): New.
+	(_DL_HWCAP4_OFFSET): New.
+	* sysdeps/powerpc/hwcapinfo.c: Modified.
+	(__tcb_parse_hwcap_and_convert_at_platform): Modified function.
+	* sysdeps/unix/sysv/linux/dl-parse_auxv.h: Modified.
+	(_dl_parse_auxv): Modified function.
+	* sysdeps/unix/sysv/linux/dl-sysdep.c: Modified.
+	[SHARED](_dl_show_auxv): Modified function.
+	* sysdeps/unix/sysv/linux/powerpc/cpu-features.c: Modified.
+	(init_cpu_features): Modified function.
+	* sysdeps/unix/sysv/linux/powerpc/cpu-features.h: Modified.
+	(cpu_features): Modified.
+	* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Modified.
+	(__libc_start_main_impl): Modified function.
+
+2024-03-19  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 3d53d18fc71c5d9ef4773b8bce04d54b80181926
+	elf: Enable TLS descriptor tests on aarch64
+
+	* configure: Modified.
+	* configure.ac: Modified.
+	* elf/Makefile: Modified.
+	* sysdeps/aarch64/preconfigure: Modified.
+	* sysdeps/arm/Makefile: Modified.
+
+2024-03-19  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 64c7e344289ed085517c2227d8e3b06388242c13
+	arm: Update _dl_tlsdesc_dynamic to preserve caller-saved registers (BZ 31372)
+
+	* config.h.in: Modified.
+	* elf/Makefile: Modified.
+	* elf/tst-gnu2-tls2.h: Modified.
+	[! INIT_TLSDESC_CALL](INIT_TLSDESC_CALL): New.
+	* elf/tst-gnu2-tls2mod0.c: Modified.
+	(tst-gnu2-tls2.h): Modified.
+	(apply_tls): Modified function.
+	* elf/tst-gnu2-tls2mod1.c: Modified.
+	(tst-gnu2-tls2.h): Modified.
+	(apply_tls): Modified function.
+	* elf/tst-gnu2-tls2mod2.c: Modified.
+	(tst-gnu2-tls2.h): Modified.
+	(apply_tls): Modified function.
+	* sysdeps/arm/configure: Modified.
+	* sysdeps/arm/configure.ac: Modified.
+	* sysdeps/arm/dl-tlsdesc.S: Modified.
+	* sysdeps/arm/tst-gnu2-tls2.h: New file.
+
+2024-03-19  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 968b0ca9440040a2b31248a572891f0e55c1ab10
+	Ignore undefined symbols for -mtls-dialect=gnu2
+
+	* configure: Modified.
+	* configure.ac: Modified.
+
+2024-03-19  Andreas Schwab  <schwab@suse.de>
+
+	COMMIT: fd7ee2e6c5eb49e4a630a9978b4d668bff6354ee
+	Add tst-gnu2-tls2mod1 to test-internal-extras
+
+	* sysdeps/x86_64/Makefile: Modified.
+
+2024-03-18  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 717ebfa85c8240d32d0d19d86a484c31c55c9617
+	x86-64: Allocate state buffer space for RDI, RSI and RBX
+
+	* sysdeps/x86/cpu-features.c: Modified.
+	(update_active): Modified function.
+	* sysdeps/x86/sysdep.h: Modified.
+	[! __x86_64__](TLSDESC_CALL_REGISTER_SAVE_AREA): New.
+	[__x86_64__](TLSDESC_CALL_REGISTER_SAVE_AREA): New.
+	* sysdeps/x86_64/tst-gnu2-tls2mod1.S: New file.
+
+2024-03-18  Darius Rad  <darius@bluespec.com>
+
+	COMMIT: f44f3aed31a2d18dc1aa70fce8d466cf6e56b93c
+	riscv: Update nofpu libm test ulps
+
+	* sysdeps/riscv/nofpu/libm-test-ulps: Modified.
+
+2024-03-15  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 4b0860d029f3cd61485d97c3620a5935b398b178
+	Add STATX_MNT_ID_UNIQUE from Linux 6.8 to bits/statx-generic.h
+
+	* io/bits/statx-generic.h: Modified.
+	[! STATX_TYPE](STATX_MNT_ID_UNIQUE): New.
+
+2024-03-15  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 7a76f218677d149d8b7875b336722108239f7ee9
+	linux: Use rseq area unconditionally in sched_getcpu (bug 31479)
+
+	* sysdeps/unix/sysv/linux/sched_getcpu.c: Modified.
+	[! RSEQ_SIG](sched_getcpu): Remove.
+	[RSEQ_SIG](sched_getcpu): Remove.
+	(sched_getcpu): New function.
+
+2024-03-14  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	COMMIT: 73c26018ed0ecd9c807bb363cc2c2ab4aca66a82
+	aarch64: fix check for SVE support in assembler
+
+	* sysdeps/aarch64/configure: Modified.
+	* sysdeps/aarch64/configure.ac: Modified.
+
+2024-03-13  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 2367bf468ce43801de987dcd54b0f99ba9d62827
+	Update kernel version to 6.8 in header constant tests
+
+	* sysdeps/unix/sysv/linux/tst-mman-consts.py: Modified.
+	* sysdeps/unix/sysv/linux/tst-mount-consts.py: Modified.
+	* sysdeps/unix/sysv/linux/tst-pidfd-consts.py: Modified.
+
+2024-03-13  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 3de2f8755c6c036dcd0b1f4acd6bcdefe0e775c0
+	Update syscall lists for Linux 6.8
+
+	* sysdeps/unix/sysv/linux/aarch64/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/alpha/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/arc/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/arm/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/csky/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/hppa/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/i386/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/loongarch/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/m68k/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/microblaze/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/nios2/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/or1k/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/sh/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/syscall-names.list: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+	* sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h: Modified.
+	(__NR_listmount): New.
+	(__NR_lsm_get_self_attr): New.
+	(__NR_lsm_list_modules): New.
+	(__NR_lsm_set_self_attr): New.
+	(__NR_statmount): New.
+
+2024-03-13  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: cba186f2f07b5f717a1ab3a4345102a296a27681
+	Use Linux 6.8 in build-many-glibcs.py
+
+	* scripts/build-many-glibcs.py: Modified.
+
+2024-03-12  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 4a76fb1da8b7e7fa472741921f49ef32f81bc0a0
+	powerpc: Remove power8 strcasestr optimization
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Modified.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Modified.
+	(__libc_ifunc_impl_list): Modified function.
+	* sysdeps/powerpc/powerpc64/multiarch/strcasestr-power8.S: Delete file.
+	* sysdeps/powerpc/powerpc64/multiarch/strcasestr-ppc64.c: Delete file.
+	* sysdeps/powerpc/powerpc64/multiarch/strcasestr.c: Delete file.
+	* sysdeps/powerpc/powerpc64/power8/Makefile: Delete file.
+	* sysdeps/powerpc/powerpc64/power8/strcasestr-ppc64.c: Delete file.
+	* sysdeps/powerpc/powerpc64/power8/strcasestr.S: Delete file.
+
+2024-03-12  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 2149da36836bc32cd66359ca37bab5884af7e81f
+	riscv: Fix alignment-ignorant memcpy implementation
+
+	* sysdeps/riscv/memcpy_noalignment.S: Delete file.
+	* sysdeps/unix/sysv/linux/riscv/memcpy-generic.c: Move to...
+	* sysdeps/riscv/multiarch/memcpy-generic.c: ... here.
+	(__memcpy_generic): Remove.
+	(hidden_proto): Remove.
+	[IS_IN(libc)](MEMCPY): New.
+	[IS_IN(libc)](libc_hidden_builtin_def): New.
+	* sysdeps/riscv/multiarch/memcpy_noalignment.S: New file.
+	* sysdeps/unix/sysv/linux/riscv/Makefile: Modified.
+	* sysdeps/unix/sysv/linux/riscv/hwprobe.c: Modified.
+	(libc_hidden_def): New.
+	* sysdeps/unix/sysv/linux/riscv/include/sys/hwprobe.h: New file.
+	* sysdeps/unix/sysv/linux/riscv/multiarch/Makefile: New file.
+	* sysdeps/riscv/memcopy.h: Move to...
+	* sysdeps/unix/sysv/linux/riscv/multiarch/ifunc-impl-list.c: ... here.
+	[IS_IN (libc)](MEMCPY): Remove.
+	(sysdeps/generic/memcopy.h): Remove include.
+	(ifunc-impl-list.h): Include file.
+	(string.h): Include file.
+	(sys/hwprobe.h): Include file.
+	(__libc_ifunc_impl_list): New function.
+	* sysdeps/riscv/memcpy.c: Move to...
+	* sysdeps/unix/sysv/linux/riscv/multiarch/memcpy.c: ... here.
+	[SHARED](__hidden_ver1): Remove.
+	[SHARED](visibility): Remove.
+	(memcpy): Remove.
+	(stdint.h): Remove include.
+	(string.h): Remove include.
+	(ifunc-init.h): Remove include.
+	(riscv-ifunc.h): Remove include.
+	(sys/hwprobe.h): Remove include.
+	(INIT_ARCH): Remove.
+	(__libc_memcpy): Remove.
+	(__memcpy_generic): Remove.
+	(__memcpy_noalignment): Remove.
+	(__typeof): Remove function.
+	(riscv_libc_ifunc): Remove.
+	(memcpy): Remove.
+	(strong_alias): Remove.
+	[!(IS_IN (libc))](string/memcpy.c): New.
+	[IS_IN (libc)][SHARED](__hidden_ver1): New.
+	[IS_IN (libc)][SHARED](visibility): New.
+	[IS_IN (libc)](memcpy): New.
+	[IS_IN (libc)](stdint.h): New.
+	[IS_IN (libc)](string.h): New.
+	[IS_IN (libc)](ifunc-init.h): New.
+	[IS_IN (libc)](riscv-ifunc.h): New.
+	[IS_IN (libc)](sys/hwprobe.h): New.
+	[IS_IN (libc)](__libc_memcpy): New.
+	[IS_IN (libc)](__memcpy_generic): New.
+	[IS_IN (libc)](__memcpy_noalignment): New.
+	[IS_IN (libc)](__typeof): New.
+	[IS_IN (libc)](riscv_libc_ifunc): New.
+	[IS_IN (libc)](memcpy): New.
+	[IS_IN (libc)](strong_alias): New.
+
+2024-03-12  Andreas Schwab  <schwab@suse.de>
+
+	COMMIT: 2173173d57971d042c0ad4b281431ae127e9b5b8
+	linux/sigsetops: fix type confusion (bug 31468)
+
+	* signal/tst-sigisemptyset.c: Modified.
+	(do_test): Modified function.
+	* sysdeps/unix/sysv/linux/internal-sigset.h: Modified.
+	(internal_sigisemptyset): Modified function.
+	(internal_sigismember): Modified function.
+	(internal_sigaddset): Modified function.
+	(internal_sigdelset): Modified function.
+	* sysdeps/unix/sysv/linux/sigsetops.h: Modified.
+	(__sigword): Modified function.
+	(__sigisemptyset): Modified function.
+	(__sigismember): Modified function.
+	(__sigaddset): Modified function.
+	(__sigdelset): Modified function.
+
+2024-03-12  caiyinyu  <caiyinyu@loongson.cn>
+
+	COMMIT: aeee41f1cf9bf58d3d316af36bb7f5a8699ab129
+	LoongArch: Correct {__ieee754, _}_scalb -> {__ieee754, _}_scalbf
+
+	* sysdeps/loongarch/fpu/e_scalbf.c: Modified.
+
+2024-03-11  Andreas Schwab  <schwab@suse.de>
+
+	COMMIT: 513331b788a3fa633f1d0417d43915e16a0c88f0
+	duplocale: protect use of global locale (bug 23970)
+
+	* locale/duplocale.c: Modified.
+	(__libc_rwlock_define): Modified function.
+
+2024-03-03  Sunil K Pandey  <skpgkp2@gmail.com>
+
+	COMMIT: b6e3898194bbae78910bbe9cd086937014961e45
+	x86-64: Simplify minimum ISA check ifdef conditional with if
+
+	* sysdeps/x86/cpu-features.c: Modified.
+	(init_cpu_features): Modified function.
+
+2024-03-01  Joe Talbott  <joetalbott@gmail.com>
+
+	COMMIT: d370155b9ab73d0c45bf968b7a9c823f4697a505
+	manual/tunables - Add entry for enable_secure tunable.
+
+	* manual/tunables.texi: Modified.
+
+2024-03-01  Joe Talbott  <joetalbott@gmail.com>
+
+	COMMIT: 18a81441ba34466a4fcf491290443cbf1a7c20cc
+	NEWS: Move enable_secure_tunable from 2.39 to 2.40.
+
+	* NEWS: Modified.
+
+2024-03-01  Evan Green  <evan@rivosinc.com>
+
+	COMMIT: 587a1290a1af7bee6dbb40ebadb7a4d71e698baf
+	riscv: Add and use alignment-ignorant memcpy
+
+	* sysdeps/riscv/memcopy.h: New file.
+	* sysdeps/riscv/memcpy.c: New file.
+	* sysdeps/riscv/memcpy_noalignment.S: New file.
+	* sysdeps/unix/sysv/linux/riscv/Makefile: Modified.
+	* sysdeps/unix/sysv/linux/riscv/memcpy-generic.c: New file.
+
+2024-03-01  Evan Green  <evan@rivosinc.com>
+
+	COMMIT: a2b47f7d4679a01d56827e1aff2a40de173fab23
+	riscv: Add ifunc helper method to hwprobe.h
+
+	* sysdeps/unix/sysv/linux/riscv/sys/hwprobe.h: Modified.
+	(errno.h): Include file.
+	(__riscv_hwprobe_one): New function.
+
+2024-03-01  Evan Green  <evan@rivosinc.com>
+
+	COMMIT: a29bb320a1a1daa8add4d213fc70f273810dd91a
+	riscv: Enable multi-arg ifunc resolvers
+
+	* include/libc-symbols.h: Modified.
+	[! _ISOMAC][! HAVE_GCC_IFUNC](__ifunc): Remove.
+	[! _ISOMAC][! HAVE_GCC_IFUNC](__ifunc_hidden): Remove.
+	[! _ISOMAC][! HAVE_GCC_IFUNC](__ifunc_args): New.
+	[! _ISOMAC][! HAVE_GCC_IFUNC](__ifunc_args_hidden): New.
+	[! _ISOMAC][HAVE_GCC_IFUNC](__ifunc): Remove.
+	[! _ISOMAC][HAVE_GCC_IFUNC](__ifunc_hidden): Remove.
+	[! _ISOMAC][HAVE_GCC_IFUNC](__ifunc_args): New.
+	[! _ISOMAC][HAVE_GCC_IFUNC](__ifunc_args_hidden): New.
+	[! _ISOMAC](__ifunc_resolver): Modified.
+	[! _ISOMAC](__ifunc): New.
+	[! _ISOMAC](__ifunc_hidden): New.
+	* sysdeps/riscv/riscv-ifunc.h: New file.
+
+2024-03-01  Evan Green  <evan@rivosinc.com>
+
+	COMMIT: 78308ce77ad55191d2e578bbcd19bb55c68926cb
+	riscv: Add __riscv_hwprobe pointer to ifunc calls
+
+	* sysdeps/riscv/dl-irel.h: Modified.
+	(elf_ifunc_invoke): Modified function.
+	(sys/hwprobe.h): Include file.
+	* sysdeps/unix/sysv/linux/riscv/sys/hwprobe.h: Modified.
+	(int): New function.
+
+2024-03-01  Evan Green  <evan@rivosinc.com>
+
+	COMMIT: e7919e0db28837ae5e4315933a061a7c2eda442e
+	riscv: Add hwprobe vdso call support
+
+	* sysdeps/unix/sysv/linux/dl-vdso-setup.c: Modified.
+	[PROCINFO_DECL || ! SHARED][HAVE_RISCV_HWPROBE](RELRO): New.
+	* sysdeps/unix/sysv/linux/dl-vdso-setup.h: Modified.
+	(setup_vdso_pointers): Modified function.
+	* sysdeps/unix/sysv/linux/riscv/hwprobe.c: Modified.
+	(__riscv_hwprobe): Modified function.
+	* sysdeps/unix/sysv/linux/riscv/sysdep.h: Modified.
+	[! __ASSEMBLER__](HAVE_RISCV_HWPROBE): New.
+
+2024-03-01  Evan Green  <evan@rivosinc.com>
+
+	COMMIT: c6c33339b45281590f9db138ba6c9d79acb1da27
+	linux: Introduce INTERNAL_VSYSCALL
+
+	* sysdeps/unix/sysv/linux/sysdep-vdso.h: Modified.
+	(INTERNAL_VSYSCALL): New.
+
+2024-03-01  Evan Green  <evan@rivosinc.com>
+
+	COMMIT: 426d0e1aa8f17426d13707594111df712d2b8911
+	riscv: Add Linux hwprobe syscall support
+
+	* sysdeps/unix/sysv/linux/riscv/Makefile: Modified.
+	* sysdeps/unix/sysv/linux/riscv/Versions: Modified.
+	* sysdeps/unix/sysv/linux/riscv/hwprobe.c: New file.
+	* sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Modified.
+	* sysdeps/unix/sysv/linux/riscv/sys/hwprobe.h: New file.
+
+2024-02-29  Joe Simmons-Talbott  <josimmon@redhat.com>
+
+	COMMIT: 71648e80042658f23965924616fb7db9c2fccff9
+	rtld: Add glibc.rtld.enable_secure tunable.
+
+	* NEWS: Modified.
+	* elf/Makefile: Modified.
+	* elf/dl-tunables.c: Modified.
+	(parse_tunables_string): Modified function.
+	* elf/dl-tunables.list: Modified.
+	* elf/tst-rtld-list-tunables.exp: Modified.
+	* elf/tst-tunables-enable_secure.c: New file.
+
+2024-02-29  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 9b7091415af47082664717210ac49d51551456ab
+	x86-64: Update _dl_tlsdesc_dynamic to preserve AMX registers
+
+	* sysdeps/unix/sysv/linux/x86_64/Makefile: Modified.
+	* sysdeps/unix/sysv/linux/x86_64/include/asm/prctl.h: Modified.
+	[! ARCH_GET_XCOMP_PERM](ARCH_GET_XCOMP_PERM): New.
+	[! ARCH_GET_XCOMP_PERM](ARCH_REQ_XCOMP_PERM): New.
+	* sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod0.c: New file.
+	* sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod1.c: New file.
+	* sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod2.c: New file.
+	* sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.c: New file.
+	* sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.h: New file.
+	* sysdeps/x86/cpu-features-offsets.sym: Modified.
+	* sysdeps/x86/cpu-features.c: Modified.
+	(update_active): Modified function.
+	* sysdeps/x86/include/cpu-features.h: Modified.
+	* sysdeps/x86/sysdep.h: Modified.
+	[! __x86_64__](FULL_STATE_SAVE_MASK): New.
+	[__x86_64__](AMX_STATE_SAVE_MASK): New.
+	[__x86_64__](FULL_STATE_SAVE_MASK): New.
+	(TLSDESC_CALL_STATE_SAVE_MASK): Modified.
+	* sysdeps/x86_64/configure: Modified.
+	* sysdeps/x86_64/configure.ac: Modified.
+	* sysdeps/x86_64/dl-tlsdesc-dynamic.h: Modified.
+
+2024-02-28  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: a1735e0aa858f0c8b15e5ee9975bff4279423680
+	x86_64: Suppress false positive valgrind error
+
+	* elf/Makefile: Modified.
+	* elf/tst-valgrind-smoke.sh: Modified.
+	* sysdeps/x86_64/Makefile: Modified.
+	* sysdeps/x86_64/tst-valgrind-smoke.supp: New file.
+
+2024-02-28  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 8c7c188d62d76acda1b273b0d4d9c3b32983b28d
+	x86: Don't check XFD against /proc/cpuinfo
+
+	* sysdeps/x86/tst-cpu-features-cpuinfo.c: Modified.
+	(do_test): Modified function.
+
+2024-02-28  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: befe2d3c4dec8be2cdd01a47132e47bdb7020922
+	x86-64: Don't use SSE resolvers for ISA level 3 or above
+
+	* sysdeps/x86/cpu-features.c: Modified.
+	(init_cpu_features): Modified function.
+	(isa-level.h): Include file.
+	* sysdeps/x86_64/dl-tlsdesc.S: Modified.
+
+2024-02-28  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 0aac205a814a8511e98d02b91a8dc908f1c53cde
+	x86: Update _dl_tlsdesc_dynamic to preserve caller-saved registers
+
+	* elf/Makefile: Modified.
+	* elf/tst-gnu2-tls2.c: New file.
+	* elf/tst-gnu2-tls2.h: New file.
+	* elf/tst-gnu2-tls2mod0.c: New file.
+	* elf/tst-gnu2-tls2mod1.c: New file.
+	* elf/tst-gnu2-tls2mod2.c: New file.
+	* sysdeps/i386/dl-machine.h: Modified.
+	[RESOLVE_MAP](elf_machine_rel): Modified function.
+	* sysdeps/i386/dl-tlsdesc-dynamic.h: New file.
+	* sysdeps/i386/dl-tlsdesc.S: Modified.
+	* sysdeps/x86/Makefile: Modified.
+	* sysdeps/x86/cpu-features.c: Modified.
+	[SHARED &&  __x86_64__](dl-plt-rewrite.h): Remove.
+	[SHARED &&  __x86_64__](TUNABLE_CALLBACK): Remove.
+	(init_cpu_features): Modified function.
+	[SHARED][! __x86_64__](_dl_tlsdesc_dynamic_fnsave): New.
+	[SHARED][__x86_64__](dl-plt-rewrite.h): New.
+	[SHARED][__x86_64__](TUNABLE_CALLBACK): New.
+	[SHARED](_dl_tlsdesc_dynamic_fxsave): New.
+	[SHARED](_dl_tlsdesc_dynamic_xsave): New.
+	[SHARED](_dl_tlsdesc_dynamic_xsavec): New.
+	[__x86_64__](_dl_runtime_resolve_fxsave): New.
+	[__x86_64__](_dl_runtime_resolve_xsave): New.
+	[__x86_64__](_dl_runtime_resolve_xsavec): New.
+	* sysdeps/x86/dl-procinfo.c: Modified.
+	[!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL][SHARED && !IS_IN (ldconfig)][PROCINFO_DECL][! PROCINFO_DECL](_dl_x86_tlsdesc_dynamic): New.
+	* sysdeps/x86_64/features-offsets.sym: Move to...
+	* sysdeps/x86/features-offsets.sym: ... here.
+	* sysdeps/x86/sysdep.h: Modified.
+	(TLSDESC_CALL_STATE_SAVE_MASK): New.
+	* sysdeps/x86/tst-gnu2-tls2.c: New file.
+	* sysdeps/x86_64/Makefile: Modified.
+	* sysdeps/x86_64/dl-machine.h: Modified.
+	[! dl_machine_h](elf_machine_runtime_setup): Modified function.
+	[RESOLVE_MAP](elf_machine_rela): Modified function.
+	* sysdeps/x86_64/dl-procinfo.c: Modified.
+	(PROCINFO_DECL): Remove.
+	(PROCINFO_CLASS): Remove.
+	[!IS_IN (ldconfig)][!(! PROCINFO_DECL &&  SHARED)][! PROCINFO_DECL](_dl_x86_64_runtime_resolve): New.
+	[!IS_IN (ldconfig)][!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL](PROCINFO_DECL): New.
+	[!IS_IN (ldconfig)][!(! PROCINFO_DECL &&  SHARED)][PROCINFO_DECL](PROCINFO_CLASS): New.
+	* sysdeps/x86_64/dl-tlsdesc-dynamic.h: New file.
+	* sysdeps/x86_64/dl-tlsdesc.S: Modified.
+	* sysdeps/x86_64/dl-trampoline-save.h: New file.
+	* sysdeps/x86_64/dl-trampoline-state.h: New file.
+	* sysdeps/x86_64/dl-trampoline.S: Modified.
+
+2024-02-28  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: e6350be7e9cae8f71c96c1f06eab61b9acb227c8
+	sysdeps/unix/sysv/linux/x86_64/Makefile: Add the end marker
+
+	* sysdeps/unix/sysv/linux/x86_64/Makefile: Modified.
+
+2024-02-28  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+	COMMIT: bf9688e623262c5fa9f91e4de0e84db45025076f
+	cdefs: Drop access attribute for _FORTIFY_SOURCE=3 (BZ #31383)
+
+	* io/Makefile: Modified.
+	* io/tst-read-zero.c: New file.
+	* misc/sys/cdefs.h: Modified.
+	[__GNUC_PREREQ (10, 0)][__USE_FORTIFY_LEVEL == 3](__fortified_attr_access): Modified.
+
+2024-02-28  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: b53e73ea809adac9be6b7808299f6741ea798e50
+	s390: Improve static-pie configure tests
+
+	* sysdeps/s390/s390-64/configure: Modified.
+	* sysdeps/s390/s390-64/configure.ac: Modified.
+
+2024-02-27  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 24c8db87c9537469dded474c8ee5da5c988f9c55
+	x86: Change ENQCMD test to CHECK_FEATURE_PRESENT
+
+	* sysdeps/x86/tst-cpu-features-supports.c: Modified.
+	(do_test): Modified function.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: c23107effbfe5300cee216a401009ebbc6e274f4
+	debug: Improve mqueue.h fortify warnings with clang
+
+	* rt/bits/mqueue2.h: Modified.
+	(__errordecl): Remove.
+	(__errordecl): Remove.
+	(__NTH): Remove function.
+	[__fortify_use_clang](__NTH): New.
+	[__fortify_use_clang](__NTH): New.
+	[__fortify_use_clang](__NTH): New.
+	[__fortify_use_clang](__NTH): New.
+	[__va_arg_pack_len](__errordecl): New.
+	[__va_arg_pack_len](__errordecl): New.
+	[__va_arg_pack_len](__NTH): New.
+	* rt/mqueue.h: Modified.
+	[__USE_FORTIFY_LEVEL > 0 &&  __forty_function  &&  __va_arg_pack_len](bits/mqueue2.h): Remove.
+	[__USE_FORTIFY_LEVEL > 0 &&  __forty_function](bits/mqueue2.h): New.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 86889e22db329abac618c6a41f86c84657a15324
+	debug: Improve fcntl.h fortify warnings with clang
+
+	* io/bits/fcntl2.h: Modified.
+	[__USE_ATFILE][__USE_LARGEFILE64](openat64): Remove function.
+	[__USE_ATFILE][__USE_LARGEFILE64][__fortify_use_clang](openat64): New.
+	[__USE_ATFILE][__USE_LARGEFILE64][__fortify_use_clang](openat64): New.
+	[__USE_ATFILE][__USE_LARGEFILE64][__fortify_use_clang](openat64): New.
+	[__USE_ATFILE][__USE_LARGEFILE64][__va_arg_pack_len](openat64): New.
+	[__USE_ATFILE](__errordecl): Remove.
+	[__USE_ATFILE](__errordecl): Remove.
+	[__USE_ATFILE](openat): Remove function.
+	[__USE_ATFILE][__fortify_use_clang](openat): New.
+	[__USE_ATFILE][__fortify_use_clang](openat): New.
+	[__USE_ATFILE][__fortify_use_clang](openat): New.
+	[__USE_ATFILE][__va_arg_pack_len](__errordecl): New.
+	[__USE_ATFILE][__va_arg_pack_len](__errordecl): New.
+	[__USE_ATFILE][__va_arg_pack_len](openat): New.
+	[__USE_LARGEFILE64](__errordecl): Remove.
+	[__USE_LARGEFILE64](__errordecl): Remove.
+	[__USE_LARGEFILE64](open64): Remove function.
+	[__USE_LARGEFILE64][__fortify_use_clang](open64): New.
+	[__USE_LARGEFILE64][__fortify_use_clang](open64): New.
+	[__USE_LARGEFILE64][__fortify_use_clang](open64): New.
+	[__USE_LARGEFILE64][__va_arg_pack_len](__errordecl): New.
+	[__USE_LARGEFILE64][__va_arg_pack_len](__errordecl): New.
+	[__USE_LARGEFILE64][__va_arg_pack_len](open64): New.
+	(__errordecl): Remove.
+	(__errordecl): Remove.
+	(open): Remove function.
+	[__fortify_use_clang](open): New.
+	[__fortify_use_clang](open): New.
+	[__fortify_use_clang](open): New.
+	[__va_arg_pack_len](__errordecl): New.
+	[__va_arg_pack_len](__errordecl): New.
+	[__va_arg_pack_len](open): New.
+	* io/fcntl.h: Modified.
+	[__USE_FORTIFY_LEVEL > 0 &&  __forty_function  &&  __va_arg_pack_len](bits/fcntl2.h): Remove.
+	[__USE_FORTIFY_LEVEL > 0 &&  __forty_function](bits/fcntl2.h): New.
+	* misc/sys/cdefs.h: Modified.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_error): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_prefer_this_overload): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_unavailable): New.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 68444c045077368446eced143510419c901e31b1
+	wcsmbs: Improve fortify with clang
+
+	* wcsmbs/bits/wchar2.h: Modified.
+	[__USE_GNU](__NTH): Modified function.
+	[__USE_GNU](fgetws_unlocked): Modified function.
+	[__USE_MISC](__NTH): Modified function.
+	[__USE_MISC](__NTH): Modified function.
+	[__USE_XOPEN2K8](__NTH): Modified function.
+	[__USE_XOPEN2K8](__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(fgetws): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	[__fortify_use_clang](__NTH): New.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 471c3c7a4705f1a1852404959692b0ff2dbb4aaa
+	syslog: Improve fortify with clang
+
+	* misc/bits/syslog.h: Modified.
+	[__USE_MISC](vsyslog): Modified function.
+	[__fortify_use_clang &&  __USE_MISC](syslog): New.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 4289b00d4393f490515527864cf09093f4f8c2c4
+	socket: Improve fortify with clang
+
+	* io/bits/poll2.h: Modified.
+	[__USE_GNU][! __USE_TIME_BITS64](__fortified_attr_access): Modified function.
+	[__USE_GNU][__USE_TIME_BITS64](__fortified_attr_access): Modified function.
+	(__fortified_attr_access): Modified function.
+	* socket/bits/socket2.h: Modified.
+	(recv): Modified function.
+	(recvfrom): Modified function.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: ec307a10865a3e43f611b725fec952a93e4d1893
+	unistd: Improve fortify with clang
+
+	* posix/bits/unistd.h: Modified.
+	[__USE_ATFILE](__NTH): Remove function.
+	[__USE_ATFILE](__fortify_clang_warning_only_if_bos_lt): New function.
+	[__USE_MISC ||  __USE_UNIX98](__NTH): Modified function.
+	[__USE_MISC ||  __USE_XOPEN_EXTENDED](__NTH): Modified function.
+	[__USE_MISC || ( __USE_XOPEN && ! __USE_UNIX98)](__NTH): Modified function.
+	[__USE_POSIX199506](getlogin_r): Modified function.
+	[__USE_UNIX98 ||  __USE_XOPEN2K8][! __USE_FILE_OFFSET64](pread): Modified function.
+	[__USE_UNIX98 ||  __USE_XOPEN2K8][__USE_FILE_OFFSET64](pread): Modified function.
+	[__USE_UNIX98 ||  __USE_XOPEN2K8][__USE_LARGEFILE64](pread64): Modified function.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K](__NTH): Remove function.
+	[__USE_XOPEN_EXTENDED ||  __USE_XOPEN2K](__fortify_clang_warning_only_if_bos_lt): New function.
+	(read): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: d39a893ed6de8e63ffbfbcc4b7176a2fa852f8a8
+	stdlib: Improve fortify with clang
+
+	* stdlib/bits/stdlib.h: Modified.
+	(__NTH): Modified function.
+	(__ptsname_r_chk): Remove.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Remove function.
+	[!(_LIBC_LIMITS_H_ &&  PATH_MAX)](__NTH): New.
+	[_LIBC_LIMITS_H_ &&  PATH_MAX](__NTH): New.
+	(__NTH): New function.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 5e9696b26540d02639e0d16532e0f3d53c7e5cd0
+	string: Improve fortify with clang
+
+	* string/bits/string_fortified.h: Modified.
+	[__USE_MISC](__NTH): Modified function.
+	[__USE_MISC](__NTH): Modified function.
+	[__USE_XOPEN2K8][!(__GNUC_PREREQ (4, 7) || __glibc_clang_prereq (2, 6))](__NTH): Modified function.
+	[__USE_XOPEN2K8][__GNUC_PREREQ (4, 7) || __glibc_clang_prereq (2, 6)](__NTH): Modified function.
+	[__USE_XOPEN2K8](__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+	(__NTH): Modified function.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 29951991f5db1001c059f8ed7afa2c359cdc7f44
+	libio: Improve fortify with clang
+
+	* libio/bits/stdio2.h: Modified.
+	[__GLIBC_USE (DEPRECATED_GETS)](gets): Modified function.
+	[__USE_FORTIFY_LEVEL > 1][__USE_GNU][__fortify_use_clang](__NTH): New.
+	[__USE_FORTIFY_LEVEL > 1][__USE_GNU][__fortify_use_clang](__NTH): New.
+	[__USE_FORTIFY_LEVEL > 1][__USE_GNU][__fortify_use_clang](__NTH): New.
+	[__USE_FORTIFY_LEVEL > 1][__USE_XOPEN2K8][__fortify_use_clang](dprintf): New.
+	[__USE_FORTIFY_LEVEL > 1](vprintf): Modified function.
+	[__USE_FORTIFY_LEVEL > 1][__fortify_use_clang](fprintf): New.
+	[__USE_FORTIFY_LEVEL > 1][__fortify_use_clang](printf): New.
+	[__USE_GNU](__fortified_attr_access): Modified function.
+	[__USE_ISOC99 ||  __USE_UNIX98](__NTH): Modified function.
+	[__USE_ISOC99 ||  __USE_UNIX98][__fortify_use_clang](__NTH): New.
+	[__USE_MISC](fread_unlocked): Modified function.
+	(__NTH): Modified function.
+	(__fortified_attr_access): Modified function.
+	(fread): Modified function.
+	[__fortify_use_clang](__NTH): New.
+
+2024-02-27  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 7a7093615c1b7ac937b1af7b76d0008f8e1ca189
+	cdefs.h: Add clang fortify directives
+
+	* misc/sys/cdefs.h: Modified.
+	[__USE_FORTIFY_LEVEL > 0](__glibc_fortify): Remove.
+	[__USE_FORTIFY_LEVEL > 0](__glibc_fortify_n): Remove.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_use_clang): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_warning): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_warning_only_if_bos0_lt): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_warning_only_if_bos0_lt2): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_warning_only_if_bos_lt): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_warning_only_if_bos_lt2): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_overload_arg): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_overload_arg0): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_warn_if_src_too_large): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_warn_if_dest_too_small): New.
+	[__USE_FORTIFY_LEVEL > 0][!(__clang_major__ && __clang_major__ >= 5)](__fortify_clang_warn_if_dest_too_small0): New.
+	[__USE_FORTIFY_LEVEL > 0][!__forty_use_clang](__glibc_fortify): New.
+	[__USE_FORTIFY_LEVEL > 0][!__forty_use_clang](__glibc_fortify_n): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][!(__clang_major__ >= 9)](__fortify_clang_pass_dynamic_object_size_n): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][!(__clang_major__ >= 9)](__fortify_clang_pass_dynamic_object_size0): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][!(__clang_major__ >= 9)](__fortify_clang_pass_dynamic_object_size): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][__USE_FORTIFY_LEVEL != 3](__fortify_clang_overload_arg): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][__USE_FORTIFY_LEVEL != 3](__fortify_clang_overload_arg0): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][__USE_FORTIFY_LEVEL == 3](__fortify_clang_overload_arg): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][__USE_FORTIFY_LEVEL == 3](__fortify_clang_overload_arg0): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][__clang_major__ >= 9](__fortify_clang_pass_dynamic_object_size_n): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][__clang_major__ >= 9](__fortify_clang_pass_dynamic_object_size0): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5][__clang_major__ >= 9](__fortify_clang_pass_dynamic_object_size): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_use_clang): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_function_error_function): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_pass_object_size_n): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_pass_object_size0): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_pass_object_size): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_bos_static_lt_impl): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_bos_static_lt2): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_bos_static_lt): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_bos0_static_lt2): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_bos0_static_lt): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_bosn_args): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_warning): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_warning_only_if_bos0_lt): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_warning_only_if_bos0_lt2): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_warning_only_if_bos_lt): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_warning_only_if_bos_lt2): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_mul_may_overflow): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_size_too_small): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_warn_if_src_too_large): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_warn_if_dest_too_small): New.
+	[__USE_FORTIFY_LEVEL > 0][__clang_major__ && __clang_major__ >= 5](__fortify_clang_warn_if_dest_too_small0): New.
+	[__USE_FORTIFY_LEVEL > 0][__forty_use_clang](__glibc_fortify): New.
+	[__USE_FORTIFY_LEVEL > 0][__forty_use_clang](__glibc_fortify_n): New.
+	[!(__clang_major__  && (__clang_major__ + (__clang_minor__ >= 6) > 2))](__attribute_overloadable__): New.
+	[__clang_major__  && (__clang_major__ + (__clang_minor__ >= 6) > 2)](__attribute_overloadable__): New.
+
+2024-02-27  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: db50990ddb0c446e137c5addb3e21bcf8f69a040
+	Update SHARED-FILES and license for Unicode 15.1.0.
+
+	* SHARED-FILES: Modified.
+	* localedata/unicode-gen/Makefile: Modified.
+	* localedata/unicode-gen/unicode-license.txt: Modified.
+
+2024-02-26  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+	COMMIT: e302e1021391d13a9611ba3a910df128830bd19e
+	aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR
+
+	* sysdeps/aarch64/fpu/acos_advsimd.c: Modified.
+	(Oneu): Modified.
+	(Small): Modified.
+	* sysdeps/aarch64/fpu/asin_advsimd.c: Modified.
+	(One): Modified.
+	(Small): Modified.
+	* sysdeps/aarch64/fpu/atan2_sve.c: Modified.
+	(SignMask): Remove.
+	(SV_NAME_D2): Modified function.
+	* sysdeps/aarch64/fpu/atan2f_sve.c: Modified.
+	(SignMask): Remove.
+	(special_case): Modified function.
+	(SV_NAME_F2): Modified function.
+	* sysdeps/aarch64/fpu/cos_advsimd.c: Modified.
+	(V_NAME_D1): Modified function.
+	* sysdeps/aarch64/fpu/cosf_advsimd.c: Modified.
+	(V_NAME_F1): Modified function.
+	* sysdeps/aarch64/fpu/exp10_advsimd.c: Modified.
+	[! WANT_SIMD_EXCEPT](special_case): Modified function.
+	[WANT_SIMD_EXCEPT](special_case): Modified function.
+	* sysdeps/aarch64/fpu/exp10f_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_F1): Modified function.
+	* sysdeps/aarch64/fpu/exp2_advsimd.c: Modified.
+	[! WANT_SIMD_EXCEPT](special_case): Modified function.
+	[WANT_SIMD_EXCEPT](TinyBound): Remove.
+	[WANT_SIMD_EXCEPT](special_case): Modified function.
+	(V_NAME_D1): Modified function.
+	(TinyBound): New.
+	* sysdeps/aarch64/fpu/exp2f_sve.c: Modified.
+	(data): Modified.
+	(Thres): New.
+	* sysdeps/aarch64/fpu/exp_advsimd.c: Modified.
+	[! WANT_SIMD_EXCEPT](special_case): Modified function.
+	[WANT_SIMD_EXCEPT](special_case): Modified function.
+	* sysdeps/aarch64/fpu/expm1_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_D1): Modified function.
+	* sysdeps/aarch64/fpu/expm1f_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_F1): Modified function.
+	* sysdeps/aarch64/fpu/log_advsimd.c: Modified.
+	(lookup): Modified function.
+	* sysdeps/aarch64/fpu/sin_advsimd.c: Modified.
+	(V_NAME_D1): Modified function.
+	* sysdeps/aarch64/fpu/sinf_advsimd.c: Modified.
+	(V_NAME_F1): Modified function.
+	* sysdeps/aarch64/fpu/tan_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_D1): Modified function.
+	* sysdeps/aarch64/fpu/tanf_advsimd.c: Modified.
+	(data): Modified.
+	(V_NAME_F1): Modified function.
+
+2024-02-26  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: 02782fd12849b6673cb5c2728cb750e8ec295aa3
+	S390: Do not clobber r7 in clone [BZ #31402]
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Modified.
+	* sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Modified.
+	* sysdeps/unix/sysv/linux/tst-clone.c: Modified.
+	(do_test): Modified function.
+	(TEST_FUNCTION): Remove.
+	(../test-skeleton.c): Remove include.
+	(stackinfo.h): Include file.
+	(support/check.h): Include file.
+	(v): New.
+	(do_clone): New function.
+	(do_test_single): New function.
+	(support/test-driver.c): Include file.
+
+2024-02-25  Sunil K Pandey  <skpgkp2@gmail.com>
+
+	COMMIT: 9f78a7c1d0963282608da836b840f0d5ae1c478e
+	x86_64: Exclude SSE, AVX and FMA4 variants in libm multiarch
+
+	* sysdeps/x86/configure: Modified.
+	* sysdeps/x86/configure.ac: Modified.
+	* sysdeps/x86_64/fpu/multiarch/Makefile: Modified.
+	* sysdeps/x86_64/fpu/multiarch/e_asin.c: Modified.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_ieee754_asin): Remove.
+	(__redirect_ieee754_acos): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma4.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma4.h): Remove include.
+	(libm_alias_finite): Remove.
+	(__ieee754_acos): Remove.
+	(__ieee754_asin): Remove.
+	(sysdeps/ieee754/dbl-64/e_asin.c): Remove include.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_ieee754_asin): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_ieee754_acos): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm_alias_finite): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__ieee754_acos): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__ieee754_asin): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/e_asin.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_atan2.c: Modified.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_ieee754_atan2): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-avx-fma4.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(__ieee754_atan2): Remove.
+	(sysdeps/ieee754/dbl-64/e_atan2.c): Remove include.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_ieee754_atan2): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-avx-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__ieee754_atan2): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/e_atan2.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_exp.c: Modified.
+	(math.h): Remove include.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_ieee754_exp): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-avx-fma4.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(__exp): Remove.
+	(sysdeps/ieee754/dbl-64/e_exp.c): Remove include.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_ieee754_exp): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-avx-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__exp): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/e_exp.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_exp2f.c: Modified.
+	[! SHARED](__exp2f): Remove.
+	[! SHARED](sysdeps/ieee754/flt-32/e_exp2f.c): Remove.
+	[SHARED](versioned_symbol): Remove.
+	(libm-alias-float.h): Remove include.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_exp2f): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](__exp2f): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](sysdeps/ieee754/flt-32/e_exp2f.c): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](versioned_symbol): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_exp2f): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_expf.c: Modified.
+	[! SHARED](__expf): Remove.
+	[! SHARED](sysdeps/ieee754/flt-32/e_expf.c): Remove.
+	[SHARED](__hidden_ver1): Remove.
+	[SHARED](visibility): Remove.
+	[SHARED](versioned_symbol): Remove.
+	(libm-alias-float.h): Remove include.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_expf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](__expf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](sysdeps/ieee754/flt-32/e_expf.c): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](__hidden_ver1): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](visibility): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](versioned_symbol): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_expf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_log.c: Modified.
+	(math.h): Remove include.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_ieee754_log): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-avx-fma4.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(__log): Remove.
+	(sysdeps/ieee754/dbl-64/e_log.c): Remove include.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_ieee754_log): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-avx-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__log): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/e_log.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_log2.c: Modified.
+	[! SHARED](__log2): Remove.
+	[! SHARED](sysdeps/ieee754/dbl-64/e_log2.c): Remove.
+	[SHARED](__hidden_ver1): Remove.
+	[SHARED](visibility): Remove.
+	[SHARED](versioned_symbol): Remove.
+	(libm-alias-double.h): Remove include.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_log2): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](__log2): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](sysdeps/ieee754/dbl-64/e_log2.c): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](__hidden_ver1): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](visibility): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](versioned_symbol): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_log2): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_log2f.c: Modified.
+	[! SHARED](__log2f): Remove.
+	[! SHARED](sysdeps/ieee754/flt-32/e_log2f.c): Remove.
+	[SHARED](__hidden_ver1): Remove.
+	[SHARED](visibility): Remove.
+	[SHARED](versioned_symbol): Remove.
+	(libm-alias-float.h): Remove include.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_log2f): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](__log2f): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](sysdeps/ieee754/flt-32/e_log2f.c): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](__hidden_ver1): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](visibility): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](versioned_symbol): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_log2f): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_logf.c: Modified.
+	[! SHARED](__logf): Remove.
+	[! SHARED](sysdeps/ieee754/flt-32/e_logf.c): Remove.
+	[SHARED](__hidden_ver1): Remove.
+	[SHARED](visibility): Remove.
+	[SHARED](versioned_symbol): Remove.
+	(libm-alias-float.h): Remove include.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_logf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](__logf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](sysdeps/ieee754/flt-32/e_logf.c): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](__hidden_ver1): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](visibility): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](versioned_symbol): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_logf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_pow.c: Modified.
+	(math.h): Remove include.
+	(libm-alias-finite.h): Remove include.
+	(__redirect_ieee754_pow): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma4.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(__pow): Remove.
+	(sysdeps/ieee754/dbl-64/e_pow.c): Remove include.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_ieee754_pow): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__pow): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/e_pow.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/e_powf.c: Modified.
+	[! SHARED](__powf): Remove.
+	[! SHARED](sysdeps/ieee754/flt-32/e_powf.c): Remove.
+	[SHARED](__hidden_ver1): Remove.
+	[SHARED](visibility): Remove.
+	[SHARED](versioned_symbol): Remove.
+	(libm-alias-float.h): Remove include.
+	(libm-alias-finite.h): Remove include.
+	(powf): Remove.
+	(__DECL_SIMD___redirect_powf): Remove.
+	(math.h): Remove include.
+	(powf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](__powf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][! SHARED](sysdeps/ieee754/flt-32/e_powf.c): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](__hidden_ver1): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](visibility): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL][SHARED](versioned_symbol): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-finite.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](powf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__DECL_SIMD___redirect_powf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](powf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_atan.c: Modified.
+	(libm-alias-double.h): Remove include.
+	(__redirect_atan): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-avx-fma4.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(__atan): Remove.
+	(sysdeps/ieee754/dbl-64/s_atan.c): Remove include.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_atan): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-avx-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__atan): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/s_atan.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_ceil-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_ceil.c: Modified.
+	(NO_MATH_REDIRECT): Remove.
+	(libm-alias-double.h): Remove include.
+	(ceil): Remove.
+	(__ceil): Remove.
+	(math.h): Remove include.
+	(ceil): Remove.
+	(__ceil): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](NO_MATH_REDIRECT): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ceil): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__ceil): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ceil): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__ceil): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_ceilf-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Modified.
+	(NO_MATH_REDIRECT): Remove.
+	(libm-alias-float.h): Remove include.
+	(ceilf): Remove.
+	(__ceilf): Remove.
+	(math.h): Remove include.
+	(ceilf): Remove.
+	(__ceilf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](NO_MATH_REDIRECT): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ceilf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__ceilf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ceilf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__ceilf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_cosf.c: Modified.
+	(libm-alias-float.h): Remove include.
+	(__redirect_cosf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[!(MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL)](sysdeps/ieee754/flt-32/s_cosf.c): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_cosf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_expm1.c: Modified.
+	(libm-alias-double.h): Remove include.
+	(__redirect_expm1): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(__expm1): Remove.
+	(libm_alias_double): Remove.
+	(__expm1f128): Remove.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_expm1): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__expm1): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm_alias_double): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__expm1f128): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_floor-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_floor.c: Modified.
+	(NO_MATH_REDIRECT): Remove.
+	(libm-alias-double.h): Remove include.
+	(floor): Remove.
+	(__floor): Remove.
+	(math.h): Remove include.
+	(floor): Remove.
+	(__floor): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](NO_MATH_REDIRECT): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](floor): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__floor): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](floor): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__floor): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_floorf-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_floorf.c: Modified.
+	(NO_MATH_REDIRECT): Remove.
+	(libm-alias-float.h): Remove include.
+	(floorf): Remove.
+	(__floorf): Remove.
+	(math.h): Remove include.
+	(floorf): Remove.
+	(__floorf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](NO_MATH_REDIRECT): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](floorf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__floorf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](floorf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__floorf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_log1p.c: Modified.
+	(libm-alias-double.h): Remove include.
+	(__redirect_log1p): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(__log1p): Remove.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_log1p): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__log1p): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_nearbyint-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_nearbyint.c: Modified.
+	(libm-alias-double.h): Remove include.
+	(nearbyint): Remove.
+	(__nearbyint): Remove.
+	(math.h): Remove include.
+	(nearbyint): Remove.
+	(__nearbyint): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](nearbyint): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__nearbyint): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](nearbyint): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__nearbyint): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_nearbyintf-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Modified.
+	(libm-alias-float.h): Remove include.
+	(nearbyintf): Remove.
+	(__nearbyintf): Remove.
+	(math.h): Remove include.
+	(nearbyintf): Remove.
+	(__nearbyintf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](nearbyintf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__nearbyintf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](nearbyintf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__nearbyintf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_rint-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_rint.c: Modified.
+	(NO_MATH_REDIRECT): Remove.
+	(libm-alias-double.h): Remove include.
+	(rint): Remove.
+	(__rint): Remove.
+	(math.h): Remove include.
+	(rint): Remove.
+	(__rint): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](NO_MATH_REDIRECT): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](rint): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__rint): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](rint): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__rint): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_rintf-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_rintf.c: Modified.
+	(NO_MATH_REDIRECT): Remove.
+	(libm-alias-float.h): Remove include.
+	(rintf): Remove.
+	(__rintf): Remove.
+	(math.h): Remove include.
+	(rintf): Remove.
+	(__rintf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](NO_MATH_REDIRECT): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](rintf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__rintf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](rintf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__rintf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_roundeven-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_roundeven-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_roundeven.c: Modified.
+	(libm-alias-double.h): Remove include.
+	(roundeven): Remove.
+	(__roundeven): Remove.
+	(math.h): Remove include.
+	(roundeven): Remove.
+	(__roundeven): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](roundeven): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__roundeven): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](roundeven): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__roundeven): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_roundevenf-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_roundevenf-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_roundevenf.c: Modified.
+	(libm-alias-float.h): Remove include.
+	(roundevenf): Remove.
+	(__roundevenf): Remove.
+	(math.h): Remove include.
+	(roundevenf): Remove.
+	(__roundevenf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](roundevenf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__roundevenf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](roundevenf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__roundevenf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_sin.c: Modified.
+	(libm-alias-double.h): Remove include.
+	(__redirect_sin): Remove.
+	(__redirect_cos): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-avx-fma4.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-avx-fma4.h): Remove include.
+	(libm_alias_double): Remove.
+	(__cos): Remove.
+	(__sin): Remove.
+	(sysdeps/ieee754/dbl-64/s_sin.c): Remove include.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_sin): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_cos): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-avx-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-avx-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm_alias_double): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__cos): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__sin): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/s_sin.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_sincos.c: Modified.
+	(libm-alias-double.h): Remove include.
+	(__redirect_sincos): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma4.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(__sincos): Remove.
+	(sysdeps/ieee754/dbl-64/s_sincos.c): Remove include.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_sincos): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__sincos): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/s_sincos.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_sincosf.c: Modified.
+	(libm-alias-float.h): Remove include.
+	(__redirect_sincosf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[!(MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL)](sysdeps/ieee754/flt-32/s_sincosf.c): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_sincosf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_sinf.c: Modified.
+	(libm-alias-float.h): Remove include.
+	(__redirect_sinf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-fma.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[!(MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL)](sysdeps/ieee754/flt-32/s_sinf.c): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_sinf): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-fma.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_tan.c: Modified.
+	(libm-alias-double.h): Remove include.
+	(__redirect_tan): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-avx-fma4.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	(__tan): Remove.
+	(sysdeps/ieee754/dbl-64/s_tan.c): Remove include.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__redirect_tan): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](ifunc-avx-fma4.h): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](__tan): New.
+	[MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/s_tan.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_trunc-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_trunc-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_trunc.c: Modified.
+	(NO_MATH_REDIRECT): Remove.
+	(libm-alias-double.h): Remove include.
+	(trunc): Remove.
+	(__trunc): Remove.
+	(math.h): Remove include.
+	(trunc): Remove.
+	(__trunc): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](NO_MATH_REDIRECT): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-double.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](trunc): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__trunc): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](trunc): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__trunc): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/s_truncf-avx.S: New file.
+	* sysdeps/x86_64/fpu/multiarch/s_truncf-sse4_1.S: Modified.
+	* sysdeps/x86_64/fpu/multiarch/s_truncf.c: Modified.
+	(NO_MATH_REDIRECT): Remove.
+	(libm-alias-float.h): Remove include.
+	(truncf): Remove.
+	(__truncf): Remove.
+	(math.h): Remove include.
+	(truncf): Remove.
+	(__truncf): Remove.
+	(SYMBOL_NAME): Remove.
+	(ifunc-sse4_1.h): Remove include.
+	(libc_ifunc_redirected): Remove.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](NO_MATH_REDIRECT): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libm-alias-float.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](truncf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__truncf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](math.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](truncf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](__truncf): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](SYMBOL_NAME): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](ifunc-sse4_1.h): New.
+	[MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL](libc_ifunc_redirected): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/w_exp.c: Modified.
+	(sysdeps/../math/w_exp.c): Remove include.
+	[!(MINIMUM_X86_ISA_LEVEL >= AVX2_X86_ISA_LEVEL)](sysdeps/../math/w_exp.c): New.
+	[MINIMUM_X86_ISA_LEVEL >= AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/w_exp.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/w_log.c: Modified.
+	(sysdeps/../math/w_log.c): Remove include.
+	[!(MINIMUM_X86_ISA_LEVEL >= AVX2_X86_ISA_LEVEL)](sysdeps/../math/w_log.c): New.
+	[MINIMUM_X86_ISA_LEVEL >= AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/w_log.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+	* sysdeps/x86_64/fpu/multiarch/w_pow.c: Modified.
+	(sysdeps/../math/w_pow.c): Remove include.
+	[!(MINIMUM_X86_ISA_LEVEL >= AVX2_X86_ISA_LEVEL)](sysdeps/../math/w_pow.c): New.
+	[MINIMUM_X86_ISA_LEVEL >= AVX2_X86_ISA_LEVEL](sysdeps/ieee754/dbl-64/w_pow.c): New.
+	(sysdeps/x86/isa-level.h): Include file.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: f31d677fd69fb68c8b7a3c4cdaa6e9a1bd46d6a4
+	hurd: Reformat Makefile.
+
+	* hurd/Makefile: Modified.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: 5420d211f057d26d6d42724dd13c5b43fdd7a9a3
+	htl/tests: Reformat Makefile.
+
+	* htl/tests/Makefile: Modified.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: d19d28853c03ce9b88159b747de9d2979c779f05
+	htl: Reformat Makefile.
+
+	* htl/Makefile: Modified.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: 589c51a5a359107e837bfd44a555f7a2fbfdd2eb
+	hesiod: Reformat Makefile.
+
+	* hesiod/Makefile: Modified.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: 5273dd98123f9f129ad735680974f6ed5a035efd
+	gmon: Reformat Makefile.
+
+	* gmon/Makefile: Modified.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: c432e667fc10777fba5f7be38fe659e6c40f7da4
+	dlfcn: Reformat Makefile.
+
+	* dlfcn/Makefile: Modified.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: a4a12af5abe22d63fbebf0a219d8d13eff6db20c
+	dirent: Reformat Makefile.
+
+	* dirent/Makefile: Modified.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: 12956e0a330e3d90fc196f7d7a047ce613f78920
+	ctype: Reformat Makefile.
+
+	* ctype/Makefile: Modified.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: d88fcccb1a07d071d366d352e126c98c72380660
+	csu: Reformat Makefile.
+
+	* csu/Makefile: Modified.
+
+2024-02-25  Carlos O'Donell  <carlos@redhat.com>
+
+	COMMIT: 06e51f4d6d1f19b55a0b6f4d5031eb0703c369c9
+	conform: Reformat Makefile.
+
+	* conform/Makefile: Modified.
+
+2024-02-25  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: c503c2603c230005f5af40d14494c427f61b0160
+	Support compiling .S files with additional options
+
+	* Makerules: Modified.
+
+2024-02-25  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: dfb05f8e704edac70db38c4c8ee700769d91a413
+	x86-64: Save APX registers in ld.so trampoline
+
+	* sysdeps/x86/sysdep.h: Modified.
+	(STATE_SAVE_OFFSET): Remove.
+	(STATE_SAVE_MASK): Remove.
+	[! __x86_64__](STATE_SAVE_OFFSET): New.
+	[! __x86_64__](STATE_SAVE_MASK): New.
+	[__x86_64__](STATE_SAVE_OFFSET): New.
+	[__x86_64__](STATE_SAVE_MASK): New.
+	(X86_XSTATE_X87_ID): New.
+	(X86_XSTATE_SSE_ID): New.
+	(X86_XSTATE_AVX_ID): New.
+	(X86_XSTATE_BNDREGS_ID): New.
+	(X86_XSTATE_BNDCFG_ID): New.
+	(X86_XSTATE_K_ID): New.
+	(X86_XSTATE_ZMM_H_ID): New.
+	(X86_XSTATE_ZMM_ID): New.
+	(X86_XSTATE_PKRU_ID): New.
+	(X86_XSTATE_TILECFG_ID): New.
+	(X86_XSTATE_TILEDATA_ID): New.
+	(X86_XSTATE_APX_F_ID): New.
+
+2024-02-23  Junxian Zhu  <zhujunxian@oss.cipunited.com>
+
+	COMMIT: 0a4d6c825405bb0dd5058566b01f12704cfc3731
+	benchtests: Add more benchtests for rounding functions.
+
+	* benchtests/Makefile: Modified.
+	* benchtests/ceil-inputs: New file.
+	* benchtests/ceilf-inputs: New file.
+	* benchtests/floor-inputs: New file.
+	* benchtests/floorf-inputs: New file.
+	* benchtests/llrint-inputs: New file.
+	* benchtests/llrintf-inputs: New file.
+	* benchtests/lrint-inputs: New file.
+	* benchtests/lrintf-inputs: New file.
+	* benchtests/nearbyint-inputs: New file.
+	* benchtests/nearbyintf-inputs: New file.
+	* benchtests/rintf-inputs: New file.
+
+2024-02-23  Simon Chopin  <simon.chopin@canonical.com>
+
+	COMMIT: 59e0441d4a1198aa9d21643a6e4f370faec4ffbf
+	tests: gracefully handle AppArmor userns containment
+
+	* support/test-container.c: Modified.
+	(check_for_unshare_hints): Modified function.
+	(main): Modified function.
+	* sysdeps/unix/sysv/linux/tst-pidfd_getpid.c: Modified.
+	(do_test): Modified function.
+
+2024-02-23  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
+
+	COMMIT: fe00366b63c5cf1a84864647ec4e15721c04ebcf
+	treewide: python-scripts: use `is None` for none-equality
+
+	* math/gen-tgmath-tests.py: Modified.
+	* nptl/nptl-printers.py: Modified.
+
+2024-02-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 1e9a550ba41a5453c6578bb748fe2223a87e3024
+	powerpc: Remove power7 strstr optimization
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Modified.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Modified.
+	(__libc_ifunc_impl_list): Modified function.
+	* sysdeps/powerpc/powerpc64/multiarch/strstr-power7.S: Delete file.
+	* sysdeps/powerpc/powerpc64/multiarch/strstr-ppc64.c: Delete file.
+	* sysdeps/powerpc/powerpc64/multiarch/strstr.c: Delete file.
+	* sysdeps/powerpc/powerpc64/power7/Makefile: Modified.
+	* sysdeps/powerpc/powerpc64/power7/strstr-ppc64.c: Delete file.
+	* sysdeps/powerpc/powerpc64/power7/strstr.S: Delete file.
+
+2024-02-23  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: f4c142bb9fe6b02c0af8cfca8a920091e2dba44b
+	arm: Use _dl_find_object on __gnu_Unwind_Find_exidx (BZ 31405)
+
+	* elf/Makefile: Modified.
+	* elf/dl-find_object.c: Modified.
+	(_dl_find_object): Remove function.
+	(rtld_hidden_def): Remove.
+	(__dl_find_object): New function.
+	(hidden_def): New.
+	(weak_alias): New.
+	* include/dlfcn.h: Modified.
+	[! _ISOMAC](rtld_hidden_proto): Remove.
+	[! _ISOMAC](__dl_find_object): New.
+	[! _ISOMAC](hidden_proto): New.
+	* sysdeps/arm/find_exidx.c: Modified.
+	(unwind.h): Remove include.
+	(unw_eh_callback_data): Remove.
+	(find_exidx_callback): Remove function.
+	(__gnu_Unwind_Find_exidx): Modified function.
+
+2024-02-22  Xi Ruoyao  <xry111@xry111.site>
+
+	COMMIT: e2a65ecc4b30a797df7dc6529f09b712aa256029
+	math: Update mips64 ulps
+
+	* sysdeps/mips/mips64/libm-test-ulps: Modified.
+
+2024-02-22  Xi Ruoyao  <xry111@xry111.site>
+
+	COMMIT: b881f1efcd1b30c2afab3599b41ce9cd4864c823
+	elf: Add new LoongArch reloc types (110 to 126) into elf.h
+
+	* elf/elf.h: Modified.
+	(R_LARCH_CALL36): New.
+	(R_LARCH_TLS_DESC_PC_HI20): New.
+	(R_LARCH_TLS_DESC_PC_LO12): New.
+	(R_LARCH_TLS_DESC64_PC_LO20): New.
+	(R_LARCH_TLS_DESC64_PC_HI12): New.
+	(R_LARCH_TLS_DESC_HI20): New.
+	(R_LARCH_TLS_DESC_LO12): New.
+	(R_LARCH_TLS_DESC64_LO20): New.
+	(R_LARCH_TLS_DESC64_HI12): New.
+	(R_LARCH_TLS_DESC_LD): New.
+	(R_LARCH_TLS_DESC_CALL): New.
+	(R_LARCH_TLS_LE_HI20_R): New.
+	(R_LARCH_TLS_LE_ADD_R): New.
+	(R_LARCH_TLS_LE_LO12_R): New.
+	(R_LARCH_TLS_LD_PCREL20_S2): New.
+	(R_LARCH_TLS_GD_PCREL20_S2): New.
+	(R_LARCH_TLS_DESC_PCREL20_S2): New.
+
+2024-02-21  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: 2938846accff13087d520cc29c17b857337ae927
+	build-many-glibcs.py: Add s390 --disable-multi-arch / multi-arch configurations.
+
+	* scripts/build-many-glibcs.py: Modified.
+
+2024-02-19  Daniel Cederman  <cederman@gaisler.com>
+
+	COMMIT: aa4106db1d6f80e64dcc8818cc07aacd7fabb03e
+	sparc: Treat the version field in the FPU control word as reserved
+
+	* sysdeps/sparc/fpu/fpu_control.h: Modified.
+	(_FPU_RESERVED): Modified.
+
+2024-02-17  Flavio Cruz  <flaviocruz@gmail.com>
+
+	COMMIT: 88b771ab5e1169e746dbf4a990d90cffc5fa54ea
+	Implement setcontext/getcontext/makecontext/swapcontext for Hurd x86_64
+
+	* sysdeps/mach/hurd/x86_64/Makefile: Modified.
+	* sysdeps/mach/hurd/x86_64/__start_context.S: New file.
+	* sysdeps/mach/hurd/x86_64/getcontext.S: New file.
+	* sysdeps/mach/hurd/x86_64/makecontext.c: New file.
+	* sysdeps/mach/hurd/x86_64/setcontext.S: New file.
+	* sysdeps/mach/hurd/x86_64/swapcontext.S: New file.
+
+2024-02-17  Flavio Cruz  <flaviocruz@gmail.com>
+
+	COMMIT: e3da8f9badf95dff63547c9a7886cdfed284aa3f
+	Use proc_getchildren_rusage when available in getrusage and times.
+
+	* config.h.in: Modified.
+	* sysdeps/mach/hurd/configure: Modified.
+	* sysdeps/mach/hurd/configure.ac: Modified.
+	* sysdeps/mach/hurd/getrusage.c: Modified.
+	(__getrusage): Modified function.
+	* sysdeps/mach/hurd/times.c: Modified.
+	(__times): Modified function.
+	[HAVE_HURD_PROC_GETCHILDREN_RUSAGE](clock_from_timeval): New.
+
+2024-02-17  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 6a04404521ac4119ae36827eeb288ea84eee7cf6
+	Linux: Switch back to assembly syscall wrapper for prctl (bug 29770)
+
+	* sysdeps/unix/sysv/linux/syscalls.list: Modified.
+	* sysdeps/unix/sysv/linux/prctl.c: Move to...
+	* sysdeps/unix/sysv/linux/x86_64/x32/prctl.c: ... here.
+	[__TIMESIZE != 64](weak_alias): Remove.
+
+2024-02-16  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 0d9166c2245cad4ac520b337dee40c9a583872b6
+	i386: Use generic memrchr in libc (bug 31316)
+
+	* sysdeps/i386/i686/multiarch/memrchr-c.c: Modified.
+	(strong_alias): New.
+	* sysdeps/i386/i686/multiarch/memrchr-sse2.S: Modified.
+
+2024-02-15  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: ef7f4b1fef67430a8f3cfc77fa6aada2add851d7
+	Apply the Makefile sorting fix
+
+	* sysdeps/loongarch/lp64/multiarch/Makefile: Modified.
+	* sysdeps/x86/Makefile: Modified.
+	* sysdeps/x86_64/Makefile: Modified.
+	* sysdeps/x86_64/fpu/multiarch/Makefile: Modified.
+	* sysdeps/x86_64/multiarch/Makefile: Modified.
+
+2024-02-15  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 71d133c500b0d23f6b6a7c6e3595e3fc447bfe91
+	sysdeps/x86_64/Makefile (tests): Add the end marker
+
+	* sysdeps/x86_64/Makefile: Modified.
+
+2024-02-15  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: 6a2512bf1605a4208dd94ef67408488d8acb2409
+	sort-makefile-lines.py: Allow '_' in name and "^# name"
+
+	* scripts/sort-makefile-lines.py: Modified.
+
+2024-02-14  Askar Safin  <safinaskar@zohomail.com>
+
+	COMMIT: dbae3a3940940977b8b8190a145a444732846219
+	trivial doc fix: remove weird phrase "syscall takes zero to five arguments"
+
+	* manual/startup.texi: Modified.
+
+2024-02-14  Junxian Zhu  <zhujunxian@oss.cipunited.com>
+
+	COMMIT: 545480506fc6576ea37a14e56c654935c691709d
+	mips: Use builtins for ffs and ffsll
+
+	* sysdeps/mips/math-use-builtins-ffs.h: New file.
+
+2024-02-13  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 491e55beab7457ed310a4a47496f4a333c5d1032
+	x86: Expand the comment on when REP STOSB is used on memset
+
+	* sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: Modified.
+
+2024-02-13  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 272708884cb750f12f5c74a00e6620c19dc6d567
+	x86: Do not prefer ERMS for memset on Zen3+
+
+	* sysdeps/x86/dl-cacheinfo.h: Modified.
+	(dl_init_cacheinfo): Modified function.
+
+2024-02-13  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 0c0d39fe4aeb0f69b26e76337c5dfd5530d5d44e
+	x86: Fix Zen3/Zen4 ERMS selection (BZ 30994)
+
+	* sysdeps/x86/dl-cacheinfo.h: Modified.
+	(dl_init_cacheinfo): Modified function.
+
+2024-02-12  Michael Jeanson  <mjeanson@efficios.com>
+
+	COMMIT: 155bb9d036646138348fee0ac045de601811e0c5
+	x86/cet: fix shadow stack test scripts
+
+	* sysdeps/x86_64/tst-shstk-legacy-1e-static.sh: Modified.
+	* sysdeps/x86_64/tst-shstk-legacy-1e.sh: Modified.
+	* sysdeps/x86_64/tst-shstk-legacy-1g.sh: Modified.
+
+2024-02-12  H.J. Lu  <hjl.tools@gmail.com>
+
+	COMMIT: c676808a34e27fc3f7b1115c5257b382c6f00cb4
+	test_printers_common.py: Remove invalid escape sequence
+
+	* scripts/test_printers_common.py: Modified.
+
+2024-02-09  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 15de3d17e1d9da5d38efb0a87a82efbc5bda732d
+	elf: Remove attempt at env handling in elf/tst-rtld-list-diagnostics.py
+
+	* elf/tst-rtld-list-diagnostics.py: Modified.
+
+2024-02-08  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 1bc61cf8e074e9faf67e6d32e99cb8ddab7e2eb6
+	Add SOL_VSOCK from Linux 6.7 to bits/socket.h
+
+	* sysdeps/unix/sysv/linux/bits/socket.h: Modified.
+	(SOL_VSOCK): New.
+
+2024-02-08  Mike FABIAN  <mfabian@redhat.com>
+
+	COMMIT: 07fd072caff50bca2a7e9f5737a5b38280d2ffda
+	localedata: ssy_ER: Fix syntax error
+
+	* localedata/locales/ssy_ER: Modified.
+
+2024-02-08  Dragan Stanojević (Nevidljivi)  <neville.ravenwood@gmail.com>
+
+	COMMIT: 559010e471acb3cb292615b71b248aba73e5c2fe
+	localedata: hr_HR: change currency to EUR/€
+
+	* localedata/locales/hr_HR: Modified.
+	* stdlib/tst-strfmon_l.c: Modified.
+
+2024-02-08  Mike FABIAN  <mfabian@redhat.com>
+
+	COMMIT: 30a61b1dd98dacbbdcba960e247400b6b2abd8f9
+	Change lv_LV collation to agree with the recent change in CLDR
+
+	* localedata/locales/lv_LV: Modified.
+	* localedata/lv_LV.UTF-8.in: Modified.
+
+2024-02-08  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 284b92832119225d1694a587019cbf47a7146e67
+	Add new AArch64 HWCAP2 definitions from Linux 6.7 to bits/hwcap.h
+
+	* sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h: Modified.
+	(HWCAP2_SVE_B16B16): New.
+	(HWCAP2_LRCPC3): New.
+	(HWCAP2_LSE128): New.
+
+2024-02-06  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: fa3eb7d5e7d32ca1ad48b48a7eb6d15b8382c3a7
+	string: Add hidden builtin definition for __strcpy_chk.
+
+	* debug/strcpy_chk.c: Modified.
+	(libc_hidden_builtin_def): New.
+	* include/string.h: Modified.
+	[! _ISOMAC](libc_hidden_builtin_proto): New.
+
+2024-02-05  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 1e25112dc0cb2515d27d8d178b1ecce778a9d37a
+	arm: Remove wrong ldr from _dl_start_user (BZ 31339)
+
+	* sysdeps/arm/dl-machine.h: Modified.
+	[! dl_machine_h](RTLD_START): Modified.
+
+2024-02-05  Xi Ruoyao  <xry111@xry111.site>
+
+	COMMIT: 2e80f139376450acdb7d879d799439578a41810e
+	LoongArch: Use builtins for ffs and ffsll
+
+	* sysdeps/loongarch/math-use-builtins-ffs.h: New file.
+
+2024-02-05  Xi Ruoyao  <xry111@xry111.site>
+
+	COMMIT: 814ed22eab4f3f43bb02229edab5d50004310258
+	Remove sysdeps/ia64/math-use-builtins-ffs.h
+
+	* sysdeps/ia64/math-use-builtins-ffs.h: Delete file.
+
+2024-02-05  Stefan Liebler  <stli@linux.ibm.com>
+
+	COMMIT: ab0db3b8849a3d4e56e30d50bc019666532b1299
+	Fix stringop-overflow warning in tst-strlcat2.
+
+	* string/tst-strlcat2.c: Modified.
+	(do_one_test): Modified function.
+
+2024-02-02  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: bbd248ac0d75efdef8fe61ea69b1fb25fb95b6e7
+	mips: FIx clone3 implementation (BZ 31325)
+
+	* sysdeps/unix/sysv/linux/mips/clone3.S: Modified.
+
+2024-02-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	COMMIT: e7b90e6e605cf236d4bd79e4930cd6a46f9932c7
+	stdlib: fix qsort example in manual
+
+	* manual/search.texi: Modified.
+
+2024-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+	COMMIT: 275607a07fb2a60757ba47ec3f1f4e645ad19bb1
+	soft-fp: Add brain format support
+
+	* soft-fp/brain.h: New file.
+	* soft-fp/extendbfsf2.c: New file.
+	* soft-fp/floatdibf.c: New file.
+	* soft-fp/floattibf.c: New file.
+	* soft-fp/floatundibf.c: New file.
+	* soft-fp/floatuntibf.c: New file.
+	* soft-fp/truncbfhf2.c: New file.
+	* soft-fp/truncdfbf2.c: New file.
+	* soft-fp/trunchfbf2.c: New file.
+	* soft-fp/truncsfbf2.c: New file.
+	* soft-fp/trunctfbf2.c: New file.
+	* soft-fp/truncxfbf2.c: New file.
+
+2024-02-01  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 83d8d289b295406e30bc8a079286b093d552c3a5
+	Rename c2x / gnu2x tests to c23 / gnu23
+
+	* stdio-common/Makefile: Modified.
+	* stdio-common/tst-scanf-binary-c2x.c: Move to...
+	* stdio-common/tst-scanf-binary-c23.c: ... here.
+	* stdlib/Makefile: Modified.
+	* stdlib/tst-strtol-binary-c2x.c: Move to...
+	* stdlib/tst-strtol-binary-c23.c: ... here.
+	* stdlib/tst-strtol-binary-gnu2x.c: Move to...
+	* stdlib/tst-strtol-binary-gnu23.c: ... here.
+	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified.
+	* sysdeps/ieee754/ldbl-128ibm-compat/tst-ibm128-scanf-binary-c23.c: New file.
+	* sysdeps/ieee754/ldbl-128ibm-compat/tst-ibm128-scanf-binary-c2x.c: Delete file.
+	* sysdeps/ieee754/ldbl-128ibm-compat/tst-ibm128-wscanf-binary-c23.c: New file.
+	* sysdeps/ieee754/ldbl-128ibm-compat/tst-ibm128-wscanf-binary-c2x.c: Delete file.
+	* sysdeps/ieee754/ldbl-128ibm-compat/tst-ieee128-scanf-binary-c23.c: New file.
+	* sysdeps/ieee754/ldbl-128ibm-compat/tst-ieee128-scanf-binary-c2x.c: Delete file.
+	* sysdeps/ieee754/ldbl-128ibm-compat/tst-ieee128-wscanf-binary-c23.c: New file.
+	* sysdeps/ieee754/ldbl-128ibm-compat/tst-ieee128-wscanf-binary-c2x.c: Delete file.
+	* sysdeps/ieee754/ldbl-opt/Makefile: Modified.
+	* sysdeps/ieee754/ldbl-opt/tst-nldbl-scanf-binary-c23.c: New file.
+	* sysdeps/ieee754/ldbl-opt/tst-nldbl-scanf-binary-c2x.c: Delete file.
+	* sysdeps/ieee754/ldbl-opt/tst-nldbl-wscanf-binary-c23.c: New file.
+	* sysdeps/ieee754/ldbl-opt/tst-nldbl-wscanf-binary-c2x.c: Delete file.
+	* sysdeps/powerpc/powerpc64/le/Makefile: Modified.
+	* wcsmbs/Makefile: Modified.
+	* wcsmbs/tst-wcstol-binary-c2x.c: Move to...
+	* wcsmbs/tst-wcstol-binary-c23.c: ... here.
+	* wcsmbs/tst-wcstol-binary-gnu2x.c: Move to...
+	* wcsmbs/tst-wcstol-binary-gnu23.c: ... here.
+	* wcsmbs/tst-wscanf-binary-c2x.c: Move to...
+	* wcsmbs/tst-wscanf-binary-c23.c: ... here.
+
+2024-02-01  Jakub Jelinek  <jakub@redhat.com>
+
+	COMMIT: c62b6265a641aaec4b0fa1b3fe622c2edf9c3821
+	manual: Fix up stdbit.texi
+
+	* manual/stdbit.texi: Modified.
+
+2024-02-01  Adhemerval Zanella Netto  <adhemerval.zanella@linaro.org>
+
+	COMMIT: ae4b8d6a0e0dc502e3d8307474a2e5691b7434da
+	string: Use builtins for ffs and ffsll
+
+	* string/ffs.c: Modified.
+	(__ffs): Modified function.
+	(math-use-builtins.h): Include file.
+	* string/ffsll.c: Modified.
+	(ffsll): Remove function.
+	(math-use-builtins.h): Include file.
+	(libc-diag.h): Include file.
+	(__ffsll): New function.
+	(weak_alias): New.
+	* sysdeps/aarch64/math-use-builtins-ffs.h: New file.
+	* sysdeps/alpha/alphaev67/ffs.S: Delete file.
+	* sysdeps/alpha/alphaev67/ffsll.S: Delete file.
+	* sysdeps/alpha/ffs.S: Delete file.
+	* sysdeps/alpha/ffsll.S: Delete file.
+	* sysdeps/alpha/math-use-builtins-ffs.h: New file.
+	* sysdeps/arc/math-use-builtins-ffs.h: New file.
+	* sysdeps/arm/armv6t2/ffs.S: Delete file.
+	* sysdeps/arm/armv6t2/ffsll.S: Delete file.
+	* sysdeps/arm/armv6t2/math-use-builtins-ffs.h: New file.
+	* sysdeps/generic/math-use-builtins-ffs.h: New file.
+	* sysdeps/generic/math-use-builtins.h: Modified.
+	(math-use-builtins-ffs.h): Include file.
+	* sysdeps/i386/ffs.c: Delete file.
+	* sysdeps/i386/i686/ffs.c: Delete file.
+	* sysdeps/i386/math-use-builtins-ffs.h: New file.
+	* sysdeps/ia64/math-use-builtins-ffs.h: New file.
+	* sysdeps/m68k/ffs.c: Delete file.
+	* sysdeps/m68k/math-use-builtins-ffs.h: New file.
+	* sysdeps/powerpc/ffs.c: Delete file.
+	* sysdeps/powerpc/math-use-builtins-ffs.h: New file.
+	* sysdeps/powerpc/powerpc64/ffsll.c: Delete file.
+	* sysdeps/s390/ffs.c: Delete file.
+	* sysdeps/x86_64/ffs.c: Delete file.
+	* sysdeps/x86_64/ffsll.c: Delete file.
+	* sysdeps/x86_64/math-use-builtins-ffs.h: New file.
+	* sysdeps/x86_64/x32/ffs.c: Delete file.
+
+2024-02-01  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 26d01172f5c3f3b912ecf21ebb911eb5351bba4d
+	misc: tst-poll: Proper synchronize with child before sending the signal
+
+	* sysdeps/unix/sysv/linux/tst-epoll.c: Modified.
+	(support/xtime.h): Remove include.
+	(test_epoll_basic): Modified function.
+	(support/process_state.h): Include file.
+
+2024-02-01  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	COMMIT: 9c61303ebbdc6e727c89591bff3229c9fbfa438b
+	math: Remove bogus math implementations
+
+	* math/e_exp10.c: Delete file.
+	* math/e_exp10l.c: Delete file.
+	* math/s_fma.c: Delete file.
+	* math/s_fmaf.c: Delete file.
+	* math/s_fmal.c: Delete file.
+
+2024-02-01  Joseph Myers  <josmyers@redhat.com>
+
+	COMMIT: 42cc619dfbc44e263239c2de870bae11ad65810a
+	Refer to C23 in place of C2X in glibc
+
+	* NEWS: Modified.
+	* bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* bits/libc-header-start.h: Modified.
+	[!(__GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X))](__GLIBC_USE_IEC_60559_BFP_EXT_C2X): Remove.
+	[!(__GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X))](__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X)](__GLIBC_USE_IEC_60559_BFP_EXT_C2X): Remove.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X)](__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X): Remove.
+	(__GLIBC_USE_IEC_60559_BFP_EXT_C2X): Remove.
+	(__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X): Remove.
+	[!(__GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC23))](__GLIBC_USE_IEC_60559_BFP_EXT_C23): New.
+	[!(__GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC23))](__GLIBC_USE_IEC_60559_FUNCS_EXT_C23): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC23)](__GLIBC_USE_IEC_60559_BFP_EXT_C23): New.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC23)](__GLIBC_USE_IEC_60559_FUNCS_EXT_C23): New.
+	(__GLIBC_USE_IEC_60559_BFP_EXT_C23): New.
+	(__GLIBC_USE_IEC_60559_FUNCS_EXT_C23): New.
+	* include/features.h: Modified.
+	[!(( _ISOC2X_SOURCE  || ( __STDC_VERSION__ && __STDC_VERSION__ > 201710L)))](__GLIBC_USE_ISOC2X): Remove.
+	[!(__GLIBC_USE (ISOC2X))](__GLIBC_USE_C2X_STRTOL): Remove.
+	[( _DEFAULT_SOURCE					 || (! __STRICT_ANSI__				 && ! _ISOC99_SOURCE && ! _ISOC11_SOURCE	 && ! _ISOC2X_SOURCE				 && ! _POSIX_SOURCE && ! _POSIX_C_SOURCE	 && ! _XOPEN_SOURCE))](_DEFAULT_SOURCE): Remove.
+	[( _ISOC11_SOURCE ||  _ISOC2X_SOURCE  || ( __STDC_VERSION__ && __STDC_VERSION__ >= 201112L))](__USE_ISOC11): Remove.
+	[( _ISOC2X_SOURCE  || ( __STDC_VERSION__ && __STDC_VERSION__ > 201710L))](__GLIBC_USE_ISOC2X): Remove.
+	[( _ISOC99_SOURCE ||  _ISOC11_SOURCE			 ||  _ISOC2X_SOURCE						 || ( __STDC_VERSION__ && __STDC_VERSION__ >= 199409L))](__USE_ISOC95): Remove.
+	[( _ISOC99_SOURCE ||  _ISOC11_SOURCE			 ||  _ISOC2X_SOURCE						 || ( __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))](__USE_ISOC99): Remove.
+	[_GNU_SOURCE](_ISOC2X_SOURCE): Remove.
+	[_GNU_SOURCE](_ISOC23_SOURCE): New.
+	[__GLIBC_USE (ISOC2X)](__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_ISOC2X): Remove.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	[!(( _ISOC23_SOURCE  || ( __STDC_VERSION__ && __STDC_VERSION__ > 201710L)))](__GLIBC_USE_ISOC23): New.
+	[!(__GLIBC_USE (ISOC23))](__GLIBC_USE_C23_STRTOL): New.
+	[( _DEFAULT_SOURCE					 || (! __STRICT_ANSI__				 && ! _ISOC99_SOURCE && ! _ISOC11_SOURCE	 && ! _ISOC23_SOURCE				 && ! _POSIX_SOURCE && ! _POSIX_C_SOURCE	 && ! _XOPEN_SOURCE))](_DEFAULT_SOURCE): New.
+	[( _ISOC11_SOURCE ||  _ISOC23_SOURCE  || ( __STDC_VERSION__ && __STDC_VERSION__ >= 201112L))](__USE_ISOC11): New.
+	[( _ISOC23_SOURCE  || ( __STDC_VERSION__ && __STDC_VERSION__ > 201710L))](__GLIBC_USE_ISOC23): New.
+	[( _ISOC99_SOURCE ||  _ISOC11_SOURCE			 ||  _ISOC23_SOURCE						 || ( __STDC_VERSION__ && __STDC_VERSION__ >= 199409L))](__USE_ISOC95): New.
+	[( _ISOC99_SOURCE ||  _ISOC11_SOURCE			 ||  _ISOC23_SOURCE						 || ( __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))](__USE_ISOC99): New.
+	[_ISOC2X_SOURCE](_ISOC2X_SOURCE): New.
+	[_ISOC2X_SOURCE](_ISOC23_SOURCE): New.
+	[__GLIBC_USE (ISOC23)](__GLIBC_USE_C23_STRTOL): New.
+	(__GLIBC_USE_ISOC23): New.
+	(__GLIBC_USE_C23_STRTOL): New.
+	* include/limits.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! CHAR_WIDTH](CHAR_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! INT_WIDTH](INT_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! LLONG_WIDTH](LLONG_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! LONG_WIDTH](LONG_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! SCHAR_WIDTH](SCHAR_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! SHRT_WIDTH](SHRT_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! UCHAR_WIDTH](UCHAR_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! UINT_WIDTH](UINT_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! ULLONG_WIDTH](ULLONG_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! ULONG_WIDTH](ULONG_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! USHRT_WIDTH](USHRT_WIDTH): Remove.
+	[__GLIBC_USE (ISOC2X)][! BOOL_MAX](BOOL_MAX): Remove.
+	[__GLIBC_USE (ISOC2X)][! BOOL_WIDTH](BOOL_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! CHAR_WIDTH](CHAR_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! INT_WIDTH](INT_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! LLONG_WIDTH](LLONG_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! LONG_WIDTH](LONG_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! SCHAR_WIDTH](SCHAR_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! SHRT_WIDTH](SHRT_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! UCHAR_WIDTH](UCHAR_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! UINT_WIDTH](UINT_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! ULLONG_WIDTH](ULLONG_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! ULONG_WIDTH](ULONG_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! USHRT_WIDTH](USHRT_WIDTH): New.
+	[__GLIBC_USE (ISOC23)][! BOOL_MAX](BOOL_MAX): New.
+	[__GLIBC_USE (ISOC23)][! BOOL_WIDTH](BOOL_WIDTH): New.
+	* include/stdio.h: Modified.
+	* include/stdlib.h: Modified.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](strtol): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](atoi): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](strtoul): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](strtoll): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](strtoull): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](strtol_l): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](strtoul_l): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](strtoll_l): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](strtoull_l): Remove.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](strtol): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](atoi): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](strtoul): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](strtoll): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](strtoull): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](strtol_l): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](strtoul_l): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](strtoll_l): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](strtoull_l): New.
+	* include/wchar.h: Modified.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](wcstol): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](wcstoul): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](wcstoll): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](wcstoull): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](wcstol_l): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](wcstoul_l): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](wcstoll_l): Remove.
+	[! _ISOMAC][__GLIBC_USE (C2X_STRTOL)](wcstoull_l): Remove.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](wcstol): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](wcstoul): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](wcstoll): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](wcstoull): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](wcstol_l): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](wcstoul_l): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](wcstoll_l): New.
+	[! _ISOMAC][__GLIBC_USE (C23_STRTOL)](wcstoull_l): New.
+	* libio/bits/stdio-ldbl.h: Modified.
+	[!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))][!(__USE_ISOC99 ||  __USE_UNIX98)][__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C2X_STRTOL)](bits/stdlib-ldbl.h included when no ldbl redirections are required.): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C2X_STRTOL)](bits/stdlib-ldbl.h included when no ldbl redirections are required.): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))][!(__USE_ISOC99 ||  __USE_UNIX98)][__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C23_STRTOL)](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C23_STRTOL)](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New.
+	* libio/stdio.h: Modified.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_fscanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__wur): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_sscanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](fscanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](scanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](sscanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT](__REDIRECT): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT](__wur): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT](__REDIRECT_NTH): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_fscanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__wur): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_sscanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](fscanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](scanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](sscanf): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__wur): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_fscanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__wur): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_sscanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](fscanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](scanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](sscanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT](__REDIRECT): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT](__wur): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT](__REDIRECT_NTH): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_fscanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__wur): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_sscanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](fscanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](scanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](sscanf): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__wur): New.
+	[!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (ISOC2X)](_PRINTF_NAN_LEN_MAX): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_vfscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__wur): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_vsscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](vfscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](vscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](vsscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__REDIRECT): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__wur): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__REDIRECT_NTH): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_vfscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__wur): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_vsscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](vfscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](vscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](vsscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C2X_STRTOL)][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__REDIRECT): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C2X_STRTOL)][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__wur): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C2X_STRTOL)][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__REDIRECT_NTH): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_vfscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__wur): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_vsscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](vfscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](vscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](vsscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__REDIRECT): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__wur): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__REDIRECT_NTH): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_vfscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__wur): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_vsscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](vfscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](vscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](vsscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C23_STRTOL)][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__REDIRECT): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C23_STRTOL)][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__wur): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)][__GLIBC_USE (C23_STRTOL)][__REDIRECT && ! __LDBL_COMPAT	 && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0](__REDIRECT_NTH): New.
+	[__GLIBC_USE (ISOC23)](_PRINTF_NAN_LEN_MAX): New.
+	* manual/arith.texi: Modified.
+	* manual/creature.texi: Modified.
+	* manual/stdbit.texi: Modified.
+	* manual/stdio.texi: Modified.
+	* manual/time.texi: Modified.
+	* math/bits/mathcalls.h: Modified.
+	[(__GLIBC_USE (IEC_60559_BFP_EXT)				 || (__MATH_DECLARING_FLOATN				 && ( __USE_GNU || !__GLIBC_USE (ISOC2X))))](__MATHCALLX): Remove.
+	[(__GLIBC_USE (IEC_60559_BFP_EXT)				 || (__MATH_DECLARING_FLOATN				 && ( __USE_GNU || !__GLIBC_USE (ISOC2X))))](__MATHCALLX): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN](__MATHDECL): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN](__MATHCALLX): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN](__MATHDECL): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN](__MATHDECL): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN](__MATHDECL): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN](__MATHDECL): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN](__MATHDECL_1): Remove.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C2X)](__MATHCALL_VEC): Remove.
+	[__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__USE_ISOC99][!__MATH_DECLARING_FLOATN ||  __USE_GNU || !__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__USE_ISOC99][!__MATH_DECLARING_FLOATN ||  __USE_GNU || !__GLIBC_USE (ISOC2X)](__MATHCALLX): Remove.
+	[__USE_ISOC99][!__MATH_DECLARING_FLOATN ||  __USE_GNU || !__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	[__USE_ISOC99][!__MATH_DECLARING_FLOATN ||  __USE_GNU || !__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	[__USE_XOPEN_EXTENDED ||  __USE_ISOC99][__GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN](__MATHCALL): Remove.
+	[__USE_XOPEN_EXTENDED ||  __USE_ISOC99][__GLIBC_USE (IEC_60559_BFP_EXT_C2X) || __MATH_DECLARING_FLOATN](__MATHCALL): Remove.
+	[__USE_XOPEN_EXTENDED ||  __USE_ISOC99][__GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN](__MATHCALL): New.
+	[__USE_XOPEN_EXTENDED ||  __USE_ISOC99][__GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN](__MATHCALL): New.
+	[(__GLIBC_USE (IEC_60559_BFP_EXT)				 || (__MATH_DECLARING_FLOATN				 && ( __USE_GNU || !__GLIBC_USE (ISOC23))))](__MATHCALLX): New.
+	[(__GLIBC_USE (IEC_60559_BFP_EXT)				 || (__MATH_DECLARING_FLOATN				 && ( __USE_GNU || !__GLIBC_USE (ISOC23))))](__MATHCALLX): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN](__MATHDECL): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN](__MATHCALLX): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN](__MATHDECL): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN](__MATHDECL): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN](__MATHDECL): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN](__MATHDECL): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN](__MATHDECL_1): New.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](__MATHCALL_VEC): New.
+	[__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	[__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	[__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	[__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	[__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	[__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	[__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	[__GLIBC_USE (ISOC23)](__MATHCALLX): New.
+	* math/fenv.h: Modified.
+	[(__GLIBC_USE (IEC_60559_BFP_EXT_C2X)		 &&  FE_INVALID			 &&  __SUPPORT_SNAN__)](FE_SNANS_ALWAYS_SIGNAL): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fesetexcept): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fetestexceptflag): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fegetmode): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fesetmode): Remove.
+	[(__GLIBC_USE (IEC_60559_BFP_EXT_C23)		 &&  FE_INVALID			 &&  __SUPPORT_SNAN__)](FE_SNANS_ALWAYS_SIGNAL): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fesetexcept): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fetestexceptflag): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fegetmode): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fesetmode): New.
+	* math/gen-tgmath-tests.py: Modified.
+	* math/libm-test-pow.inc: Modified.
+	* math/math.h: Modified.
+	[(__HAVE_FLOAT128					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC2X)))](SNANF128): Remove.
+	[(__HAVE_FLOAT128X					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC2X)))](SNANF128X): Remove.
+	[(__HAVE_FLOAT16					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC2X)))](SNANF16): Remove.
+	[(__HAVE_FLOAT32					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC2X)))](SNANF32): Remove.
+	[(__HAVE_FLOAT32X					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC2X)))](SNANF32X): Remove.
+	[(__HAVE_FLOAT64					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC2X)))](SNANF64): Remove.
+	[(__HAVE_FLOAT64X					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC2X)))](SNANF64X): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! __FP_LOGB0_IS_MIN](FP_LLOGB0): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! __FP_LOGBNAN_IS_MIN](FP_LLOGBNAN): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! __cplusplus](issignaling): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__FP_LOGB0_IS_MIN](FP_LLOGB0): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__FP_LOGBNAN_IS_MIN](FP_LLOGBNAN): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME2): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_NARROW): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME2): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT](__MATHCALL_NARROW): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME2): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME2): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME2): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME2): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__WORDSIZE != 32](__FP_LONG_MAX): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][__WORDSIZE == 32](__FP_LONG_MAX): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](<anonymous>): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](_Mret_): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](_Marg_): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](__MATHCALL_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](bits/mathcalls-narrow.h): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](_Mret_): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](_Marg_): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](__MATHCALL_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](bits/mathcalls-narrow.h): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](_Mret_): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](_Marg_): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](__MATHCALL_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](bits/mathcalls-narrow.h): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](_Mret_): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](_Marg_): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](__MATHCALL_NAME): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](bits/iscanonical.h): Remove.
+	[(__HAVE_FLOAT128					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC23)))](SNANF128): New.
+	[(__HAVE_FLOAT128X					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC23)))](SNANF128X): New.
+	[(__HAVE_FLOAT16					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC23)))](SNANF16): New.
+	[(__HAVE_FLOAT32					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC23)))](SNANF32): New.
+	[(__HAVE_FLOAT32X					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC23)))](SNANF32X): New.
+	[(__HAVE_FLOAT64					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC23)))](SNANF64): New.
+	[(__HAVE_FLOAT64X					 && __GLIBC_USE (IEC_60559_TYPES_EXT)		 && ( __USE_GNU || !__GLIBC_USE (ISOC23)))](SNANF64X): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! __FP_LOGB0_IS_MIN](FP_LLOGB0): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! __FP_LOGBNAN_IS_MIN](FP_LLOGBNAN): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! __cplusplus](issignaling): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__FP_LOGB0_IS_MIN](FP_LLOGB0): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__FP_LOGBNAN_IS_MIN](FP_LLOGBNAN): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME2): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT](__MATHCALL_NARROW): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT](__MATHCALL_REDIR_NAME2): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT](__MATHCALL_NARROW): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME2): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME2): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDBL_COMPAT  || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME2): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_REDIR_NAME2): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1](__MATHCALL_NARROW): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__WORDSIZE != 32](__FP_LONG_MAX): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)][__WORDSIZE == 32](__FP_LONG_MAX): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](<anonymous>): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](_Mret_): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](_Marg_): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](__MATHCALL_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](bits/mathcalls-narrow.h): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](_Mret_): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](_Marg_): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](__MATHCALL_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](bits/mathcalls-narrow.h): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](_Mret_): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](_Marg_): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](__MATHCALL_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](bits/mathcalls-narrow.h): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](_Mret_): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](_Marg_): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](__MATHCALL_NAME): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](bits/iscanonical.h): New.
+	* math/tgmath.h: Modified.
+	[!(__GLIBC_USE (ISOC2X) && ! __USE_GNU)](fmax): Remove.
+	[!(__GLIBC_USE (ISOC2X) && ! __USE_GNU)](fmin): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](nextdown): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](nextup): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](roundeven): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fromfp): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](ufromfp): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fromfpx): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](ufromfpx): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](llogb): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fadd): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](dadd): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fdiv): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](ddiv): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fmul): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](dmul): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fsub): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](dsub): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](fsqrt): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](dsqrt): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](ffma): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](dfma): Remove.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C2X)](exp10): Remove.
+	[__GLIBC_USE (ISOC2X)](fmaximum): Remove.
+	[__GLIBC_USE (ISOC2X)](fminimum): Remove.
+	[__GLIBC_USE (ISOC2X)](fmaximum_num): Remove.
+	[__GLIBC_USE (ISOC2X)](fminimum_num): Remove.
+	[__GLIBC_USE (ISOC2X)](fmaximum_mag): Remove.
+	[__GLIBC_USE (ISOC2X)](fminimum_mag): Remove.
+	[__GLIBC_USE (ISOC2X)](fmaximum_mag_num): Remove.
+	[__GLIBC_USE (ISOC2X)](fminimum_mag_num): Remove.
+	[__GLIBC_USE (ISOC2X) && ! __USE_GNU](fmax): Remove.
+	[__GLIBC_USE (ISOC2X) && ! __USE_GNU](fmin): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][! __HAVE_FLOATN_NOT_TYPEDEF](__tgmath_real_type2): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][! __HAVE_FLOATN_NOT_TYPEDEF](__tgmath_complex_type2): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][! __HAVE_FLOATN_NOT_TYPEDEF](__tgmath_real_type3): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][! __HAVE_FLOATN_NOT_TYPEDEF](__TGMATH_NARROW_F32X_USE_F64X): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][! __NO_LONG_DOUBLE_MATH](__tgml): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][!(__GNUC_PREREQ (3, 1))](__floating_type): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][!(__GNUC_PREREQ (3, 1))](__real_integer_type): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][!(__GNUC_PREREQ (3, 1))](__complex_integer_type): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][!(__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT))](__TGMATH_F128): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][!(__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT))](__TGMATH_CF128): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][(__HAVE_DISTINCT_FLOAT16			 || __HAVE_DISTINCT_FLOAT32		 || __HAVE_DISTINCT_FLOAT64		 || __HAVE_DISTINCT_FLOAT32X		 || __HAVE_DISTINCT_FLOAT64X		 || __HAVE_DISTINCT_FLOAT128X)](Unsupported _FloatN or _FloatNx types for <tgmath.h>."): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__GNUC_PREREQ (3, 1)](__floating_type): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__GNUC_PREREQ (3, 1)](__real_integer_type): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__GNUC_PREREQ (3, 1)](__complex_integer_type): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][!((!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF))](__TGMATH_F128): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][!((!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF))](__TGMATH_CF128): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][(!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF)](__TGMATH_F128): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][(!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF)](__TGMATH_F128LD): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][(!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF)](__TGMATH_CF128): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__HAVE_FLOATN_NOT_TYPEDEF](__tgmath_real_type2): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__HAVE_FLOATN_NOT_TYPEDEF](__tgmath_complex_type2): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__HAVE_FLOATN_NOT_TYPEDEF](__tgmath_real_type3): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__HAVE_FLOATN_NOT_TYPEDEF](__TGMATH_NARROW_F32X_USE_F64X): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X][__NO_LONG_DOUBLE_MATH](__tgml): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__expr_is_real): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__tgmath_type_if): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__tgmath_real_type_sub): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__tgmath_real_type): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__tgmath_complex_type_sub): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__tgmath_complex_type): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__tgmath_real_type2_base): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__tgmath_complex_type2_base): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__tgmath_real_type3_base): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_BINARY_REAL_ONLY): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_TERNARY_REAL_ONLY): Remove.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_BINARY_REAL_IMAG): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_BINARY_REAL_ONLY): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_TERNARY_REAL_ONLY): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_BINARY_REAL_IMAG): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_FLOAT128 && __HAVE_BUILTIN_TGMATH_C2X](__TGMATH_1_NARROW_F32X): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_FLOAT128 && __HAVE_BUILTIN_TGMATH_C2X](__TGMATH_2_NARROW_F32X): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_FLOAT128 && __HAVE_BUILTIN_TGMATH_C2X](__TGMATH_3_NARROW_F32X): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_BUILTIN_TGMATH_C23](__TGMATH_BINARY_REAL_ONLY): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_BUILTIN_TGMATH_C23](__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_BUILTIN_TGMATH_C23](__TGMATH_TERNARY_REAL_ONLY): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_BUILTIN_TGMATH_C23](__TGMATH_BINARY_REAL_IMAG): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_FLOAT128 && __HAVE_BUILTIN_TGMATH_C23](__TGMATH_1_NARROW_F32X): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_FLOAT128 && __HAVE_BUILTIN_TGMATH_C23](__TGMATH_2_NARROW_F32X): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_BUILTIN_TGMATH][__HAVE_FLOAT128 && __HAVE_BUILTIN_TGMATH_C23](__TGMATH_3_NARROW_F32X): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT128][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_1_NARROW_F32X): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT128][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_2_NARROW_F32X): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT128][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_3_NARROW_F32X): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT128][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_1_NARROW_F32X): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT128][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_2_NARROW_F32X): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT128][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_3_NARROW_F32X): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_1_NARROW_F32X): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_2_NARROW_F32X): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128][!__HAVE_BUILTIN_TGMATH_C2X](__TGMATH_3_NARROW_F32X): Remove.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_1_NARROW_F32X): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_2_NARROW_F32X): New.
+	[__GNUC_PREREQ (2, 7)][__HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_3_NARROW_F32X): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][! __HAVE_FLOATN_NOT_TYPEDEF](__tgmath_real_type2): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][! __HAVE_FLOATN_NOT_TYPEDEF](__tgmath_complex_type2): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][! __HAVE_FLOATN_NOT_TYPEDEF](__tgmath_real_type3): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][! __HAVE_FLOATN_NOT_TYPEDEF](__TGMATH_NARROW_F32X_USE_F64X): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][! __NO_LONG_DOUBLE_MATH](__tgml): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][!(__GNUC_PREREQ (3, 1))](__floating_type): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][!(__GNUC_PREREQ (3, 1))](__real_integer_type): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][!(__GNUC_PREREQ (3, 1))](__complex_integer_type): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][!(__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT))](__TGMATH_F128): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][!(__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT))](__TGMATH_CF128): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][(__HAVE_DISTINCT_FLOAT16			 || __HAVE_DISTINCT_FLOAT32		 || __HAVE_DISTINCT_FLOAT64		 || __HAVE_DISTINCT_FLOAT32X		 || __HAVE_DISTINCT_FLOAT64X		 || __HAVE_DISTINCT_FLOAT128X)](Unsupported _FloatN or _FloatNx types for <tgmath.h>."): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__GNUC_PREREQ (3, 1)](__floating_type): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__GNUC_PREREQ (3, 1)](__real_integer_type): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__GNUC_PREREQ (3, 1)](__complex_integer_type): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][!((!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF))](__TGMATH_F128): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][!((!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF))](__TGMATH_CF128): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][(!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF)](__TGMATH_F128): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][(!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF)](__TGMATH_F128LD): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)][(!__HAVE_FLOAT64X			 || __HAVE_FLOAT64X_LONG_DOUBLE		 || !__HAVE_FLOATN_NOT_TYPEDEF)](__TGMATH_CF128): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__HAVE_FLOATN_NOT_TYPEDEF](__tgmath_real_type2): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__HAVE_FLOATN_NOT_TYPEDEF](__tgmath_complex_type2): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__HAVE_FLOATN_NOT_TYPEDEF](__tgmath_real_type3): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__HAVE_FLOATN_NOT_TYPEDEF](__TGMATH_NARROW_F32X_USE_F64X): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23][__NO_LONG_DOUBLE_MATH](__tgml): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__expr_is_real): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__tgmath_type_if): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__tgmath_real_type_sub): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__tgmath_real_type): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__tgmath_complex_type_sub): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__tgmath_complex_type): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__tgmath_real_type2_base): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__tgmath_complex_type2_base): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__tgmath_real_type3_base): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_BINARY_REAL_ONLY): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_TERNARY_REAL_ONLY): New.
+	[__GNUC_PREREQ (2, 7)][!__HAVE_BUILTIN_TGMATH_C23](__TGMATH_BINARY_REAL_IMAG): New.
+	(__HAVE_BUILTIN_TGMATH_C2X): Remove.
+	[!(__GLIBC_USE (ISOC23) && ! __USE_GNU)](fmax): New.
+	[!(__GLIBC_USE (ISOC23) && ! __USE_GNU)](fmin): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](nextdown): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](nextup): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](roundeven): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fromfp): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](ufromfp): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fromfpx): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](ufromfpx): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](llogb): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fadd): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](dadd): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fdiv): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](ddiv): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fmul): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](dmul): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fsub): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](dsub): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](fsqrt): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](dsqrt): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](ffma): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](dfma): New.
+	[__GLIBC_USE (IEC_60559_FUNCS_EXT_C23)](exp10): New.
+	[__GLIBC_USE (ISOC23)](fmaximum): New.
+	[__GLIBC_USE (ISOC23)](fminimum): New.
+	[__GLIBC_USE (ISOC23)](fmaximum_num): New.
+	[__GLIBC_USE (ISOC23)](fminimum_num): New.
+	[__GLIBC_USE (ISOC23)](fmaximum_mag): New.
+	[__GLIBC_USE (ISOC23)](fminimum_mag): New.
+	[__GLIBC_USE (ISOC23)](fmaximum_mag_num): New.
+	[__GLIBC_USE (ISOC23)](fminimum_mag_num): New.
+	[__GLIBC_USE (ISOC23) && ! __USE_GNU](fmax): New.
+	[__GLIBC_USE (ISOC23) && ! __USE_GNU](fmin): New.
+	(__HAVE_BUILTIN_TGMATH_C23): New.
+	* resolv/tst-inet_addr-binary.c: Modified.
+	* stdio-common/Makefile: Modified.
+	* stdio-common/tst-scanf-binary-c11.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* stdio-common/tst-scanf-binary-c2x.c: Modified.
+	(_ISOC2X_SOURCE): Remove.
+	(TEST_C2X): Remove.
+	(STD): Modified.
+	(_ISOC23_SOURCE): New.
+	(TEST_C23): New.
+	* stdio-common/tst-scanf-binary-gnu11.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* stdio-common/tst-scanf-binary-gnu89.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* stdio-common/tst-scanf-binary-main.c: Modified.
+	(one_check): Modified function.
+	(one_check_scnb): Modified function.
+	* stdlib/Makefile: Modified.
+	* stdlib/bits/stdlib-ldbl.h: Modified.
+	[__USE_ISOC99][! __LDBL_COMPAT][__USE_GNU][! __LDBL_COMPAT][__GLIBC_USE (IEC_60559_BFP_EXT_C2X)][! __LDBL_COMPAT][__USE_MISC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): Remove.
+	[__USE_ISOC99][! __LDBL_COMPAT][__USE_GNU][! __LDBL_COMPAT][__GLIBC_USE (IEC_60559_BFP_EXT_C23)][! __LDBL_COMPAT][__USE_MISC][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI != 1](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New.
+	* stdlib/inttypes.h: Modified.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtoimax): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtoumax): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstoimax): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstoumax): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtoimax): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtoumax): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstoimax): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstoumax): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIb8): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIb16): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIb32): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIb64): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbLEAST8): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbLEAST16): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbLEAST32): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbLEAST64): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbFAST8): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbFAST16): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbFAST32): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbFAST64): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbMAX): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIbPTR): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIB8): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIB16): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIB32): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIB64): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBLEAST8): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBLEAST16): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBLEAST32): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBLEAST64): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBFAST8): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBFAST16): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBFAST32): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBFAST64): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBMAX): Remove.
+	[__GLIBC_USE (ISOC2X)](PRIBPTR): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNb8): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNb16): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNb32): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNb64): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbLEAST8): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbLEAST16): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbLEAST32): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbLEAST64): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbFAST8): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbFAST16): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbFAST32): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbFAST64): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbMAX): Remove.
+	[__GLIBC_USE (ISOC2X)](SCNbPTR): Remove.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtoimax): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtoumax): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstoimax): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstoumax): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtoimax): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtoumax): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstoimax): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstoumax): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (ISOC23)](PRIb8): New.
+	[__GLIBC_USE (ISOC23)](PRIb16): New.
+	[__GLIBC_USE (ISOC23)](PRIb32): New.
+	[__GLIBC_USE (ISOC23)](PRIb64): New.
+	[__GLIBC_USE (ISOC23)](PRIbLEAST8): New.
+	[__GLIBC_USE (ISOC23)](PRIbLEAST16): New.
+	[__GLIBC_USE (ISOC23)](PRIbLEAST32): New.
+	[__GLIBC_USE (ISOC23)](PRIbLEAST64): New.
+	[__GLIBC_USE (ISOC23)](PRIbFAST8): New.
+	[__GLIBC_USE (ISOC23)](PRIbFAST16): New.
+	[__GLIBC_USE (ISOC23)](PRIbFAST32): New.
+	[__GLIBC_USE (ISOC23)](PRIbFAST64): New.
+	[__GLIBC_USE (ISOC23)](PRIbMAX): New.
+	[__GLIBC_USE (ISOC23)](PRIbPTR): New.
+	[__GLIBC_USE (ISOC23)](PRIB8): New.
+	[__GLIBC_USE (ISOC23)](PRIB16): New.
+	[__GLIBC_USE (ISOC23)](PRIB32): New.
+	[__GLIBC_USE (ISOC23)](PRIB64): New.
+	[__GLIBC_USE (ISOC23)](PRIBLEAST8): New.
+	[__GLIBC_USE (ISOC23)](PRIBLEAST16): New.
+	[__GLIBC_USE (ISOC23)](PRIBLEAST32): New.
+	[__GLIBC_USE (ISOC23)](PRIBLEAST64): New.
+	[__GLIBC_USE (ISOC23)](PRIBFAST8): New.
+	[__GLIBC_USE (ISOC23)](PRIBFAST16): New.
+	[__GLIBC_USE (ISOC23)](PRIBFAST32): New.
+	[__GLIBC_USE (ISOC23)](PRIBFAST64): New.
+	[__GLIBC_USE (ISOC23)](PRIBMAX): New.
+	[__GLIBC_USE (ISOC23)](PRIBPTR): New.
+	[__GLIBC_USE (ISOC23)](SCNb8): New.
+	[__GLIBC_USE (ISOC23)](SCNb16): New.
+	[__GLIBC_USE (ISOC23)](SCNb32): New.
+	[__GLIBC_USE (ISOC23)](SCNb64): New.
+	[__GLIBC_USE (ISOC23)](SCNbLEAST8): New.
+	[__GLIBC_USE (ISOC23)](SCNbLEAST16): New.
+	[__GLIBC_USE (ISOC23)](SCNbLEAST32): New.
+	[__GLIBC_USE (ISOC23)](SCNbLEAST64): New.
+	[__GLIBC_USE (ISOC23)](SCNbFAST8): New.
+	[__GLIBC_USE (ISOC23)](SCNbFAST16): New.
+	[__GLIBC_USE (ISOC23)](SCNbFAST32): New.
+	[__GLIBC_USE (ISOC23)](SCNbFAST64): New.
+	[__GLIBC_USE (ISOC23)](SCNbMAX): New.
+	[__GLIBC_USE (ISOC23)](SCNbPTR): New.
+	* stdlib/stdint.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT8_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT8_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT16_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT16_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT32_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT32_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT64_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT64_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT_LEAST8_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT_LEAST8_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT_LEAST16_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT_LEAST16_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT_LEAST32_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT_LEAST32_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT_LEAST64_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT_LEAST64_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT_FAST8_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT_FAST8_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT_FAST16_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT_FAST16_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT_FAST32_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT_FAST32_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INT_FAST64_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINT_FAST64_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INTPTR_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINTPTR_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](INTMAX_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](UINTMAX_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](PTRDIFF_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](SIG_ATOMIC_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](SIZE_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](WCHAR_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](WINT_WIDTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT8_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT8_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT16_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT16_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT32_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT32_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT64_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT64_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT_LEAST8_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT_LEAST8_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT_LEAST16_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT_LEAST16_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT_LEAST32_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT_LEAST32_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT_LEAST64_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT_LEAST64_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT_FAST8_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT_FAST8_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT_FAST16_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT_FAST16_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT_FAST32_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT_FAST32_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INT_FAST64_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINT_FAST64_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INTPTR_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINTPTR_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](INTMAX_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](UINTMAX_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](PTRDIFF_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](SIG_ATOMIC_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](SIZE_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](WCHAR_WIDTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](WINT_WIDTH): New.
+	* stdlib/stdlib.h: Modified.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT][__USE_MISC](strtoq): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT][__USE_MISC](strtouq): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtol): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtoul): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtoll): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtoull): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtol): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtoul): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtoll): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtoull): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT][__USE_MISC](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT][__USE_MISC](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](strfromd): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](strfromf): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](strfroml): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtol_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtoul_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtoll_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_strtoull_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtol_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtoul_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtoll_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](strtoull_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtol_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtoul_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtoll_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtoull_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtol_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtoul_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtoll_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtoull_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT][__USE_MISC](strtoq): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT][__USE_MISC](strtouq): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtol): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtoul): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtoll): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_strtoull): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtol): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtoul): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtoll): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](strtoull): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT][__USE_MISC](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT][__USE_MISC](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](strfromd): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](strfromf): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](strfroml): New.
+	* stdlib/strtol.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	* stdlib/strtol_l.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	* stdlib/strtoll_l.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	* stdlib/strtoul_l.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	* stdlib/strtoull_l.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	* stdlib/tst-strtol-binary-c11.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* stdlib/tst-strtol-binary-c2x.c: Modified.
+	(_ISOC2X_SOURCE): Remove.
+	(TEST_C2X): Remove.
+	(_ISOC23_SOURCE): New.
+	(TEST_C23): New.
+	* stdlib/tst-strtol-binary-gnu11.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(TEST_C2X): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	(TEST_C23): New.
+	* stdlib/tst-strtol-binary-gnu2x.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* stdlib/tst-strtol-binary-main.c: Modified.
+	(CHECK_RES): Modified.
+	* string/string.h: Modified.
+	[__CORRECT_ISO_CPP_STRING_H_PROTO][( __USE_XOPEN_EXTENDED ||  __USE_XOPEN2K8	 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X))](strdup): Remove.
+	[__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC2X)](strndup): Remove.
+	[__CORRECT_ISO_CPP_STRING_H_PROTO][( __USE_XOPEN_EXTENDED ||  __USE_XOPEN2K8	 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC23))](strdup): New.
+	[__CORRECT_ISO_CPP_STRING_H_PROTO][__USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC23)](strndup): New.
+	[__USE_MISC ||  __USE_XOPEN || __GLIBC_USE (ISOC2X)](memccpy): Remove.
+	[__USE_MISC ||  __USE_XOPEN || __GLIBC_USE (ISOC23)](memccpy): New.
+	* sysdeps/aarch64/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/alpha/fpu/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/arm/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/csky/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/hppa/fpu/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile: Modified.
+	* sysdeps/ieee754/ldbl-opt/Makefile: Modified.
+	* sysdeps/loongarch/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/m68k/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/microblaze/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/mips/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/nios2/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/powerpc/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](__fe_dfl_mode): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](__fe_dfl_mode): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/riscv/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/s390/fpu/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/sh/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/sparc/fpu/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* sysdeps/x86/fpu/bits/fenv.h: Modified.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](typedef struct { unsigned short int __control_word; unsigned short int __glibc_reserved; unsigned int __mxcsr; }): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](femode_t): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C2X)](FE_DFL_MODE): Remove.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](typedef struct { unsigned short int __control_word; unsigned short int __glibc_reserved; unsigned int __mxcsr; }): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](femode_t): New.
+	[__GLIBC_USE (IEC_60559_BFP_EXT_C23)](FE_DFL_MODE): New.
+	* time/time.h: Modified.
+	[__GLIBC_USE (ISOC2X)][! __USE_TIME_BITS64](timespec_getres): Remove.
+	[__GLIBC_USE (ISOC2X)][__USE_TIME_BITS64][! __REDIRECT_NTH](timespec_getres): Remove.
+	[__GLIBC_USE (ISOC2X)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_MISC || __GLIBC_USE (ISOC2X)][! __USE_TIME_BITS64](timegm): Remove.
+	[__USE_MISC || __GLIBC_USE (ISOC2X)][__USE_TIME_BITS64][! __REDIRECT_NTH](timegm): Remove.
+	[__USE_MISC || __GLIBC_USE (ISOC2X)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC2X)][! __USE_TIME_BITS64](gmtime_r): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC2X)][! __USE_TIME_BITS64](localtime_r): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC2X)][__USE_TIME_BITS64][! __REDIRECT_NTH](gmtime_r): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC2X)][__USE_TIME_BITS64][! __REDIRECT_NTH](localtime_r): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC2X)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__USE_POSIX || __GLIBC_USE (ISOC2X)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (ISOC23)][! __USE_TIME_BITS64](timespec_getres): New.
+	[__GLIBC_USE (ISOC23)][__USE_TIME_BITS64][! __REDIRECT_NTH](timespec_getres): New.
+	[__GLIBC_USE (ISOC23)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_MISC || __GLIBC_USE (ISOC23)][! __USE_TIME_BITS64](timegm): New.
+	[__USE_MISC || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][! __REDIRECT_NTH](timegm): New.
+	[__USE_MISC || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][! __USE_TIME_BITS64](gmtime_r): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][! __USE_TIME_BITS64](localtime_r): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][! __REDIRECT_NTH](gmtime_r): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][! __REDIRECT_NTH](localtime_r): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	[__USE_POSIX || __GLIBC_USE (ISOC23)][__USE_TIME_BITS64][__REDIRECT_NTH](__REDIRECT_NTH): New.
+	* wcsmbs/Makefile: Modified.
+	* wcsmbs/bits/wchar-ldbl.h: Modified.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))](__LDBL_REDIR1_DECL): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))](__LDBL_REDIR_DECL): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))](__LDBL_REDIR_DECL): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C2X_STRTOL)][__USE_GNU][__LDBL_COMPAT](__LDBL_REDIR1_DECL): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C2X_STRTOL)](bits/stdlib-ldbl.h included when no ldbl redirections are required.): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C2X_STRTOL))][__USE_ISOC99][__LDBL_COMPAT](__LDBL_REDIR1_DECL): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C2X_STRTOL)](bits/stdlib-ldbl.h included when no ldbl redirections are required.): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C2X_STRTOL)](__LDBL_REDIR_DECL): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C2X_STRTOL)](__LDBL_REDIR_DECL): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C2X_STRTOL)](__LDBL_REDIR_DECL): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))](__LDBL_REDIR1_DECL): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))](__LDBL_REDIR_DECL): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))](__LDBL_REDIR_DECL): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C23_STRTOL)][__USE_GNU][__LDBL_COMPAT](__LDBL_REDIR1_DECL): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))][__USE_ISOC99][! __LDBL_COMPAT][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C23_STRTOL)](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][!(__GLIBC_USE (C23_STRTOL))][__USE_ISOC99][__LDBL_COMPAT](__LDBL_REDIR1_DECL): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C23_STRTOL)](bits/stdlib-ldbl.h included when no ldbl redirections are required.): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C23_STRTOL)](__LDBL_REDIR_DECL): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C23_STRTOL)](__LDBL_REDIR_DECL): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF)][__LDBL_COMPAT][__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1][__GLIBC_USE (C23_STRTOL)](__LDBL_REDIR_DECL): New.
+	* wcsmbs/tst-wcstol-binary-c11.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* wcsmbs/tst-wcstol-binary-c2x.c: Modified.
+	(_ISOC2X_SOURCE): Remove.
+	(TEST_C2X): Remove.
+	(_ISOC23_SOURCE): New.
+	(TEST_C23): New.
+	* wcsmbs/tst-wcstol-binary-gnu11.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(TEST_C2X): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	(TEST_C23): New.
+	* wcsmbs/tst-wcstol-binary-gnu2x.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* wcsmbs/tst-wscanf-binary-c11.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* wcsmbs/tst-wscanf-binary-c2x.c: Modified.
+	(_ISOC2X_SOURCE): Remove.
+	(TEST_C2X): Remove.
+	(STD): Modified.
+	(_ISOC23_SOURCE): New.
+	(TEST_C23): New.
+	* wcsmbs/tst-wscanf-binary-gnu11.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* wcsmbs/tst-wscanf-binary-gnu89.c: Modified.
+	(TEST_C2X): Remove.
+	(TEST_C23): New.
+	* wcsmbs/uchar.h: Modified.
+	[__GLIBC_USE (ISOC2X) && ! __cpp_char8_t](char8_t): Remove.
+	[__GLIBC_USE (ISOC2X) ||  __cpp_char8_t](mbrtoc8): Remove.
+	[__GLIBC_USE (ISOC2X) ||  __cpp_char8_t](c8rtomb): Remove.
+	[__GLIBC_USE (ISOC23) && ! __cpp_char8_t](char8_t): New.
+	[__GLIBC_USE (ISOC23) ||  __cpp_char8_t](mbrtoc8): New.
+	[__GLIBC_USE (ISOC23) ||  __cpp_char8_t](c8rtomb): New.
+	* wcsmbs/wchar.h: Modified.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT][__USE_GNU](wcstoq): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT][__USE_GNU](wcstouq): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstol): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstoul): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstoll): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstoull): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstol): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstoul): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstoll): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstoull): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT][__USE_GNU](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT][__USE_GNU](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X)][__HAVE_FLOAT128](wcstof128): Remove.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X)][__HAVE_FLOAT128X](wcstof128x): Remove.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X)][__HAVE_FLOAT16](wcstof16): Remove.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X)][__HAVE_FLOAT32](wcstof32): Remove.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X)][__HAVE_FLOAT32X](wcstof32x): Remove.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X)][__HAVE_FLOAT64](wcstof64): Remove.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X)][__HAVE_FLOAT64X](wcstof64x): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstol_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstoul_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstoll_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wcstoull_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstol_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstoul_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstoll_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wcstoull_l): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_GNU][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstol_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstoul_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstoll_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstoull_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstol_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstoul_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstoll_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstoull_l): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_GNU][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_fwscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_wscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_swscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](fwscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](wscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](swscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT](__REDIRECT): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT](__REDIRECT): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_fwscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_wscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_swscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](fwscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](wscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](swscanf): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_fwscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_wscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_swscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](fwscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](wscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](swscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT](__REDIRECT): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT](__REDIRECT): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_fwscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_swscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](fwscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](swscanf): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT): New.
+	[__USE_ISOC95 ||  __USE_UNIX98][!__GLIBC_USE (DEPRECATED_SCANF) && ! __LDBL_COMPAT  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_vfwscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_vwscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](__isoc99_vswscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](vfwscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](vwscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][! __REDIRECT](vswscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT](__REDIRECT): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT](__REDIRECT): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C2X_STRTOL))][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_vfwscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_vwscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](__isoc23_vswscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](vfwscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](vwscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][! __REDIRECT](vswscanf): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C2X_STRTOL)][__REDIRECT](__REDIRECT_NTH): Remove.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_vfwscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_vwscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](__isoc99_vswscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](vfwscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](vwscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][! __REDIRECT](vswscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT](__REDIRECT): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT](__REDIRECT): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][!(__GLIBC_USE (C23_STRTOL))][__REDIRECT](__REDIRECT_NTH): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_vfwscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_vwscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_vswscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](vfwscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](vwscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][! __REDIRECT](vswscanf): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT): New.
+	[__USE_ISOC99][!__GLIBC_USE (DEPRECATED_SCANF)  && (! __LDBL_COMPAT || ! __REDIRECT)  && ( __STRICT_ANSI__ ||  __USE_XOPEN2K)  && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0][__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT][__USE_GNU](wcstoq): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT][__USE_GNU](wcstouq): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstol): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstoul): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstoll): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](__isoc23_wcstoull): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstol): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstoul): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstoll): New.
+	[__GLIBC_USE (C23_STRTOL)][! __REDIRECT](wcstoull): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT][__USE_GNU](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT][__USE_GNU](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (C23_STRTOL)][__REDIRECT](__REDIRECT_NTH): New.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC23)][__HAVE_FLOAT128](wcstof128): New.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC23)][__HAVE_FLOAT128X](wcstof128x): New.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC23)][__HAVE_FLOAT16](wcstof16): New.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC23)][__HAVE_FLOAT32](wcstof32): New.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC23)][__HAVE_FLOAT32X](wcstof32x): New.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC23)][__HAVE_FLOAT64](wcstof64): New.
+	[__GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC23)][__HAVE_FLOAT64X](wcstof64x): New.
+	* wcsmbs/wcstol_l.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	* wcsmbs/wcstoll_l.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	* wcsmbs/wcstoul_l.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+	* wcsmbs/wcstoull_l.c: Modified.
+	(__GLIBC_USE_C2X_STRTOL): Remove.
+	(__GLIBC_USE_C23_STRTOL): New.
+
+2024-02-01  Florian Weimer  <fweimer@redhat.com>
+
+	COMMIT: 7c8df0b9441e34928f2d7d70531e3d55e016c32e
+	elf: Remove _dl_sysdep_open_object hook function
+
+	* elf/dl-load.c: Modified.
+	(dl-sysdep-open.h): Remove include.
+	(_dl_map_object): Modified function.
+	* elf/dl-sysdep-open.h: Delete file.
+
+2024-01-31  Fangrui Song  <maskray@google.com>
+
+	COMMIT: 0d70accc06a9cbb9b13004116f5fa8b1f41a7150
+	build-many-glibcs: relax version check to allow non-digit characters
+
+	* scripts/build-many-glibcs.py: Modified.
+
+2024-01-31  Jakub Jelinek  <jakub@redhat.com>
+
+	COMMIT: da89496337b97e6a2aaf1e81d55cf998f6db1070
+	Use gcc __builtin_stdc_* builtins in stdbit.h if possible
+
+	* NEWS: Modified.
+	* manual/stdbit.texi: Modified.
+	* stdlib/Makefile: Modified.
+	* stdlib/stdbit.h: Modified.
+	(stdc_leading_zeros): Remove.
+	(stdc_leading_ones): Remove.
+	(stdc_trailing_zeros): Remove.
+	(stdc_trailing_ones): Remove.
+	(stdc_first_leading_zero): Remove.
+	(stdc_first_leading_one): Remove.
+	(stdc_first_trailing_zero): Remove.
+	(stdc_first_trailing_one): Remove.
+	(stdc_count_zeros): Remove.
+	(stdc_count_ones): Remove.
+	(stdc_has_single_bit): Remove.
+	(stdc_bit_width): Remove.
+	(stdc_bit_floor): Remove.
+	(stdc_bit_ceil): Remove.
+	[!(__glibc_has_builtin (__builtin_stdc_bit_ceil))](stdc_bit_ceil): New.
+	[!(__glibc_has_builtin (__builtin_stdc_bit_floor))](stdc_bit_floor): New.
+	[!(__glibc_has_builtin (__builtin_stdc_bit_width))](stdc_bit_width): New.
+	[!(__glibc_has_builtin (__builtin_stdc_count_ones))](stdc_count_ones): New.
+	[!(__glibc_has_builtin (__builtin_stdc_count_zeros))](stdc_count_zeros): New.
+	[!(__glibc_has_builtin (__builtin_stdc_first_leading_one))](stdc_first_leading_one): New.
+	[!(__glibc_has_builtin (__builtin_stdc_first_leading_zero))](stdc_first_leading_zero): New.
+	[!(__glibc_has_builtin (__builtin_stdc_first_trailing_one))](stdc_first_trailing_one): New.
+	[!(__glibc_has_builtin (__builtin_stdc_first_trailing_zero))](stdc_first_trailing_zero): New.
+	[!(__glibc_has_builtin (__builtin_stdc_has_single_bit))](stdc_has_single_bit): New.
+	[!(__glibc_has_builtin (__builtin_stdc_leading_ones))](stdc_leading_ones): New.
+	[!(__glibc_has_builtin (__builtin_stdc_leading_zeros))](stdc_leading_zeros): New.
+	[!(__glibc_has_builtin (__builtin_stdc_trailing_ones))](stdc_trailing_ones): New.
+	[!(__glibc_has_builtin (__builtin_stdc_trailing_zeros))](stdc_trailing_zeros): New.
+	[__glibc_has_builtin (__builtin_stdc_bit_ceil)](stdc_bit_ceil): New.
+	[__glibc_has_builtin (__builtin_stdc_bit_floor)](stdc_bit_floor): New.
+	[__glibc_has_builtin (__builtin_stdc_bit_width)](stdc_bit_width): New.
+	[__glibc_has_builtin (__builtin_stdc_count_ones)](stdc_count_ones): New.
+	[__glibc_has_builtin (__builtin_stdc_count_zeros)](stdc_count_zeros): New.
+	[__glibc_has_builtin (__builtin_stdc_first_leading_one)](stdc_first_leading_one): New.
+	[__glibc_has_builtin (__builtin_stdc_first_leading_zero)](stdc_first_leading_zero): New.
+	[__glibc_has_builtin (__builtin_stdc_first_trailing_one)](stdc_first_trailing_one): New.
+	[__glibc_has_builtin (__builtin_stdc_first_trailing_zero)](stdc_first_trailing_zero): New.
+	[__glibc_has_builtin (__builtin_stdc_has_single_bit)](stdc_has_single_bit): New.
+	[__glibc_has_builtin (__builtin_stdc_leading_ones)](stdc_leading_ones): New.
+	[__glibc_has_builtin (__builtin_stdc_leading_zeros)](stdc_leading_zeros): New.
+	[__glibc_has_builtin (__builtin_stdc_trailing_ones)](stdc_trailing_ones): New.
+	[__glibc_has_builtin (__builtin_stdc_trailing_zeros)](stdc_trailing_zeros): New.
+	* stdlib/tst-stdbit-builtins.c: New file.
+
+2024-01-31  Andreas K. Hüttel  <dilfridge@gentoo.org>
+
+	COMMIT: 903cd866060555c77abbf70d0d85994ec5a18193
+	Open master branch for glibc 2.40 development
+
+	* NEWS: Modified.
+	* version.h: Modified.
+	(RELEASE): Modified.
+	(VERSION): Modified.
+
diff --git a/INSTALL b/INSTALL
index 4bd3d53676..24e3c8d25b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -487,7 +487,7 @@ build the GNU C Library:
      GCC 6.2 or higher is required.  In general it is recommended to use
      the newest version of the compiler that is known to work for
      building the GNU C Library, as newer compilers usually produce
-     better code.  As of release time, GCC 13.2 is the newest compiler
+     better code.  As of release time, GCC 14.1 is the newest compiler
      verified to work to build the GNU C Library.
 
      For PowerPC 64-bits little-endian (powerpc64le), a GCC version with
@@ -542,7 +542,7 @@ build the GNU C Library:
      need this version of the 'texinfo' package.  Earlier versions do
      not understand all the tags used in the document, and the
      installation mechanism for the info files is not present or works
-     differently.  As of release time, 'texinfo' 7.0.3 is the newest
+     differently.  As of release time, 'texinfo' 7.1 is the newest
      verified to work to build the GNU C Library.
 
    * GNU 'awk' 3.1.2, or higher
@@ -550,7 +550,7 @@ build the GNU C Library:
      'awk' is used in several places to generate files.  Some 'gawk'
      extensions are used, including the 'asorti' function, which was
      introduced in version 3.1.2 of 'gawk'.  As of release time, 'gawk'
-     version 5.2.2 is the newest verified to work to build the GNU C
+     version 5.3.0 is the newest verified to work to build the GNU C
      Library.
 
    * GNU 'bison' 2.7 or later
@@ -563,7 +563,7 @@ build the GNU C Library:
 
      Perl is not required, but if present it is used in some tests and
      the 'mtrace' program, to build the GNU C Library manual.  As of
-     release time 'perl' version 5.38.2 is the newest verified to work
+     release time 'perl' version 5.40.0 is the newest verified to work
      to build the GNU C Library.
 
    * GNU 'sed' 3.02 or newer
@@ -575,7 +575,7 @@ build the GNU C Library:
    * Python 3.4 or later
 
      Python is required to build the GNU C Library.  As of release time,
-     Python 3.11 is the newest verified to work for building and testing
+     Python 3.12 is the newest verified to work for building and testing
      the GNU C Library.
 
    * PExpect 4.0
@@ -583,7 +583,7 @@ build the GNU C Library:
      The pretty printer tests drive GDB through test programs and
      compare its output to the printers'.  PExpect is used to capture
      the output of GDB, and should be compatible with the Python version
-     in your system.  As of release time PExpect 4.8.0 is the newest
+     in your system.  As of release time PExpect 4.9.0 is the newest
      verified to work to test the pretty printers.
 
    * The Python 'abnf' module.
@@ -599,7 +599,7 @@ build the GNU C Library:
      use the pretty printers.  Notice that your system having Python
      available doesn't imply that GDB supports it, nor that your
      system's Python and GDB's have the same version.  As of release
-     time GNU 'debugger' 13.2 is the newest verified to work to test the
+     time GNU 'debugger' 14.2 is the newest verified to work to test the
      pretty printers.
 
      Unless Python, PExpect and GDB with Python support are present, the
@@ -615,7 +615,7 @@ and if you change any of the message translation files you will need
 
    * GNU 'gettext' 0.10.36 or later
 
-     As of release time, GNU 'gettext' version 0.21.1 is the newest
+     As of release time, GNU 'gettext' version 0.22.4 is the newest
      version verified to work to build the GNU C Library.
 
 You may also need these packages if you upgrade your source tree using
@@ -661,7 +661,7 @@ components of the GNU C Library installation to be in '/lib' and some in
 Library with '--prefix=/usr'.  If you set some other prefix or allow it
 to default to '/usr/local', then all the components are installed there.
 
-   As of release time, Linux version 6.1.5 is the newest stable version
+   As of release time, Linux version 6.6 is the newest stable version
 verified to work to build the GNU C Library.
 
 Reporting Bugs
diff --git a/Makeconfig b/Makeconfig
index 2d4343b604..a87ff7b1d3 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -888,7 +888,7 @@ host-test-program-cmd = $(host-built-program-cmd)
 endif
 
 # Extra flags to pass to GCC.
-+gccwarn := -Wall -Wwrite-strings -Wundef
++gccwarn := -Wall -Wwrite-strings -Wundef $(cc-option-wimplicit-fallthrough)
 ifeq ($(enable-werror),yes)
 +gccwarn += -Werror
 endif
diff --git a/NEWS b/NEWS
index f626896aa0..d488874aba 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,47 @@ See the end for copying conditions.
 Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
 using `glibc' in the "product" field.
 
+Version 2.41
+
+Major new features:
+
+* In /etc/resolv.conf and the RES_OPTIONS, option flags can now be
+  prefixed with “-†to clear previously set flags.  For example, if
+  /etc/resolv.conf contains “options no-aaaaâ€, a process running with
+  the RES_OPTIONS=-no-aaaa environment variable performs AAAA DNS
+  queries when the glibc DNS stub resolver is used.
+
+* The DNS stub resolver now supports the strict-error option.  If
+  activated, getaddrinfo for the AF_UNSPEC address family (with dual
+  A/AAAA DNS lookups) attemps to obtain an A/AAAA response pair from
+  another DNS server if one of the responses indicates failure.  Without
+  the strict-error option, getaddrinfo returns the A record data it has
+  obtained even if the AAAA query failed.  The new strict error mode is
+  incompatible with some DNS environments which do not follow the RFCs,
+  which is why this mode is not enabled by default.  A future version
+  of the library may turn it on by default, however.
+
+Deprecated and removed features, and other changes affecting compatibility:
+
+  [Add deprecations, removals and changes affecting compatibility here]
+
+Changes to build and runtime requirements:
+
+  [Add changes to build and runtime requirements here]
+
+Security related changes:
+
+The following CVEs were fixed in this release, details of which can be
+found in the advisories directory of the release tarball:
+
+  [The release manager will add the list generated by
+  scripts/process-advisories.sh just before the release.]
+
+The following bugs were resolved with this release:
+
+  [The release manager will add the list generated by
+  scripts/list-fixed-bugs.py just before the release.]
+
 Version 2.40
 
 Major new features:
@@ -30,13 +71,23 @@ Major new features:
 
   - Logarithmic functions: log2p1, log10p1, logp1.
 
-* A new tunable, glibc.rtld.enable_secure, used to run a program
+* A new tunable, glibc.rtld.enable_secure, can be used to run a program
   as if it were a setuid process. This is currently a testing tool to allow
   more extensive verification tests for AT_SECURE programs and not meant to
   be a security feature.
 
-* On Linux, update epoll header to include epoll ioctl definitions and
-  related structure added in Linux kernel 6.9.
+* On Linux, the epoll header was updated to include epoll ioctl definitions
+  and the related structure added in Linux kernel 6.9.
+
+* The fortify functionality has been significantly enhanced for building
+  programs with clang against the GNU C Library.
+
+* Many functions have been added to the vector library for aarch64:
+    acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh, tanh
+
+* On x86, memset can now use non-temporal stores to improve the performance
+  of large writes. This behaviour is controlled by a new tunable
+  x86_memset_non_temporal_threshold.
 
 Deprecated and removed features, and other changes affecting compatibility:
 
@@ -49,22 +100,169 @@ Deprecated and removed features, and other changes affecting compatibility:
   <utmpx.h> (except for login_tty) due to locking and session management
   problems.
 
-Changes to build and runtime requirements:
-
-  [Add changes to build and runtime requirements here]
+* __rseq_size now denotes the size of the active rseq area (20 bytes
+  initially), not the size of struct rseq (32 bytes initially).
 
 Security related changes:
 
 The following CVEs were fixed in this release, details of which can be
 found in the advisories directory of the release tarball:
 
-  [The release manager will add the list generated by
-  scripts/process-advisories.sh just before the release.]
+  GLIBC-SA-2024-0004:
+    ISO-2022-CN-EXT: fix out-of-bound writes when writing escape
+    sequence (CVE-2024-2961)
+
+  GLIBC-SA-2024-0005:
+    nscd: Stack-based buffer overflow in netgroup cache (CVE-2024-33599)
+
+  GLIBC-SA-2024-0006:
+    nscd: Null pointer crash after notfound response (CVE-2024-33600)
+
+  GLIBC-SA-2024-0007:
+    nscd: netgroup cache may terminate daemon on memory allocation
+    failure (CVE-2024-33601)
+
+  GLIBC-SA-2024-0008:
+    nscd: netgroup cache assumes NSS callback uses in-buffer strings
+    (CVE-2024-33602)
 
 The following bugs are resolved with this release:
 
-  [The release manager will add the list generated by
-  scripts/list-fixed-bugs.py just before the release.]
+  [19622] network: Support aliasing with struct sockaddr
+  [21271] localedata: cv_RU: update translations
+  [23774] localedata: lv_LV collates Y/y incorrectly
+  [23865] string: wcsstr is quadratic-time
+  [25119] localedata: Change Czech weekday names to lowercase
+  [27777] stdio: fclose does a linear search, takes ages when many FILE*
+    are opened
+  [29770] libc: prctl does not match manual page ABI on powerpc64le-
+    linux-gnu
+  [29845] localedata: Update hr_HR locale currency to €
+  [30701] time: getutxent misbehaves on 32-bit x86 when _TIME_BITS=64
+  [31316] build: Fails test misc/tst-dirname "Didn't expect signal from
+    child: got `Illegal instruction'" on non SSE CPUs
+  [31317] dynamic-link: [RISCV] static PIE crashes during self
+    relocation
+  [31325] libc: mips: clone3 is wrong for o32
+  [31335] math: Compile glibc with -march=x86-64-v3 should disable FMA4
+    multi-arch version
+  [31339] libc: arm32 loader crash after cleanup in 2.36
+  [31340] manual: A bad sentence in section 22.3.5 (resource.texi)
+  [31357] dynamic-link: $(objpfx)tst-rtld-list-diagnostics.out rule
+    doesn't work with test wrapper
+  [31370] localedata: wcwidth() does not treat
+    DEFAULT_IGNORABLE_CODE_POINTs as zero-width
+  [31371] dynamic-link: x86-64: APX and Tile registers aren't preserved
+    in ld.so trampoline
+  [31372] dynamic-link: _dl_tlsdesc_dynamic doesn't preserve all caller-
+    saved registers
+  [31383] libc: _FORTIFY_SOURCE=3 and __fortified_attr_access vs size of
+    0 and zero size types
+  [31385] build: sort-makefile-lines.py doesn't check variable with _
+    nor with "^# variable"
+  [31402] libc: clone (NULL, NULL, ...) clobbers %r7 register on
+    s390{,x}
+  [31405] libc: Improve dl_iterate_phdr using _dl_find_object
+  [31411] localedata: Add Latgalian locale
+  [31412] build: GCC 6 failed to build i386 glibc on Fedora 39
+  [31429] build: Glibc failed to build with -march=x86-64-v3
+  [31468] libc: sigisemptyset returns true when the set contains signals
+    larger than 34
+  [31476] network: Automatic activation of single-request options break
+    resolv.conf reloading
+  [31479] libc: Missing #include <sys/rseq.h> in sched_getcpu.c may
+    result in a loss of rseq acceleration
+  [31501] dynamic-link: _dl_tlsdesc_dynamic_xsavec may clobber %rbx
+  [31518] manual: documentation: FLT_MAX_10_EXP questionable text, evtl.
+    wrong,
+  [31530] localedata: Locale file for Moksha - mdf_RU
+  [31553] malloc: elf/tst-decorate-maps fails on ppc64el
+  [31596] libc: On the llvm-arm32 platform, dlopen("not_exist.so", -1)
+    triggers segmentation fault
+  [31600] math: math: x86 ceill traps when FE_INEXACT is enabled
+  [31601] math: math: x86 floor traps when FE_INEXACT is enabled
+  [31603] math: math: x86 trunc traps when FE_INEXACT is enabled
+  [31612] libc: arc4random fails to fallback to /dev/urandom if
+    getrandom is not present
+  [31629] build: powerpc64: Configuring with "--with-cpu=power10" and
+    'CFLAGS=-O2 -mcpu=power9' fails to build glibc
+  [31640] dynamic-link: POWER10 ld.so crashes in
+    elf_machine_load_address with GCC 14
+  [31661] libc: NPROCESSORS_CONF and NPROCESSORS_ONLN not available in
+    getconf
+  [31676] dynamic-link: Configuring with CC="gcc -march=x86-64-v3"
+    --with-rtld-early-cflags=-march=x86-64 results in linker failure
+  [31677] nscd: nscd: netgroup cache: invalid memcpy under low
+    memory/storage conditions
+  [31678] nscd: nscd: Null pointer dereferences after failed netgroup
+    cache insertion
+  [31679] nscd: nscd: netgroup cache may terminate daemon on memory
+    allocation failure
+  [31680] nscd: nscd: netgroup cache assumes NSS callback uses in-buffer
+    strings
+  [31682] math: [PowerPC] Floating point exception error for math test
+    test-ceil-except-2 test-floor-except-2 test-trunc-except-2
+  [31686] dynamic-link: Stack-based buffer overflow in
+    parse_tunables_string
+  [31695] libc: pidfd_spawn/pidfd_spawnp leak an fd if clone3 succeeds
+    but execve fails
+  [31719] dynamic-link: --enable-hardcoded-path-in-tests doesn't work
+    with -Wl,--enable-new-dtags
+  [31730] libc: backtrace_symbols_fd prints different strings than
+    backtrace_symbols returns
+  [31753] build: FAIL: link-static-libc with GCC 6/7/8
+  [31755] libc: procutils_read_file doesn't start with a leading
+    underscore
+  [31756] libc: write_profiling is only in libc.a
+  [31757] build: Should XXXf128_do_not_use functions be excluded?
+  [31759] math: Extra nearbyint symbols in libm.a
+  [31760] math: Missing math functions
+  [31764] build: _res_opcodes should be a compat symbol only
+  [31765] dynamic-link: _dl_mcount_wrapper is exported without prototype
+  [31766] stdio: _IO_stderr_ _IO_stdin_ _IO_stdout should be compat
+    symbols
+  [31768] string: Extra stpncpy symbol in libc.a
+  [31770] libc: clone3 is in libc.a
+  [31774] libc: Missing __isnanf128 in libc.a
+  [31775] math: Missing exp10 exp10f32x exp10f64 fmod fmodf fmodf32
+    fmodf32x fmodf64 in libm.a
+  [31777] string: Extra memchr strlen symbols in libc.a
+  [31781] math: Missing math functions in libm.a
+  [31782] build: Test build failure with recent GCC trunk (x86/tst-cpu-
+    features-supports.c:69:3: error: parameter to builtin not valid:
+    avx5124fmaps)
+  [31785] string: loongarch: Extra strnlen symbols in libc.a
+  [31786] string: powerpc: Extra strchrnul and strncasecmp_l symbols in
+    libc.a
+  [31787] math: powerpc: Extra llrintf, llrintf, llrintf32, and
+    llrintf32 symbols in libc.a
+  [31788] libc: microblaze: Extra cacheflush symbol in libc.a
+  [31789] libc: powerpc: Extra versionsort symbol in libc.a
+  [31790] libc: s390: Extra getutent32, getutent32_r, getutid32,
+    getutid32_r, getutline32, getutline32_r, getutmp32, getutmpx32,
+    getutxent32, getutxid32, getutxline32, pututline32, pututxline32,
+    updwtmp32, updwtmpx32 in libc.a
+  [31797] build: g++ -static requirement should be able to opt-out
+  [31798] libc: pidfd_getpid.c is miscompiled by GCC 6.4
+  [31802] time: difftime is pure not const
+  [31808] time: The supported time_t range is not documented.
+  [31840] stdio: Memory leak in _IO_new_fdopen (fdopen) on seek failure
+  [31867] build: "CPU ISA level is lower than required" on SSE2-free
+    CPUs
+  [31876] time: "Date and time" documentation fixes for POSIX.1-2024 etc
+  [31883] build: ISA level support configure check relies on bashism /
+    is otherwise broken for arithmetic
+  [31892] build: Always install mtrace.
+  [31917] libc: clang mq_open fortify wrapper does not handle 4 argument
+    correctly
+  [31927] libc: clang open fortify wrapper does not handle argument
+    correctly
+  [31931] time: tzset may fault on very short TZ string
+  [31934] string: wcsncmp crash on s390x on vlbb instruction
+  [31963] stdio: Crash in _IO_link_in within __gcov_exit
+  [31965] dynamic-link: rseq extension mechanism does not work as
+    intended
+  [31980] build: elf/tst-tunables-enable_secure-env fails on ppc
 
 Version 2.39
 
diff --git a/Rules b/Rules
index 9010c5d5b2..27846abf82 100644
--- a/Rules
+++ b/Rules
@@ -145,7 +145,11 @@ others: $(py-const)
 ifeq ($(run-built-tests),no)
 tests: $(addprefix $(objpfx),$(filter-out $(tests-unsupported), \
                                           $(tests) $(tests-internal) \
-					  $(tests-container)) \
+					  $(tests-container) \
+					  $(tests-mcheck:%=%-mcheck) \
+					  $(tests-malloc-check:%=%-malloc-check) \
+					  $(tests-malloc-hugetlb1:%=%-malloc-hugetlb1) \
+					  $(tests-malloc-hugetlb2:%=%-malloc-hugetlb2)) \
 			     $(test-srcs)) $(tests-special) \
 			     $(tests-printers-programs)
 xtests: tests $(xtests-special)
diff --git a/assert/assert.h b/assert/assert.h
index 266a41df06..14d3be9cac 100644
--- a/assert/assert.h
+++ b/assert/assert.h
@@ -66,18 +66,18 @@ __BEGIN_DECLS
 /* This prints an "Assertion failed" message and aborts.  */
 extern void __assert_fail (const char *__assertion, const char *__file,
 			   unsigned int __line, const char *__function)
-     __THROW __attribute__ ((__noreturn__));
+     __THROW __attribute__ ((__noreturn__)) __COLD;
 
 /* Likewise, but prints the error text for ERRNUM.  */
 extern void __assert_perror_fail (int __errnum, const char *__file,
 				  unsigned int __line, const char *__function)
-     __THROW __attribute__ ((__noreturn__));
+     __THROW __attribute__ ((__noreturn__)) __COLD;
 
 
 /* The following is not at all used here but needed for standard
    compliance.  */
 extern void __assert (const char *__assertion, const char *__file, int __line)
-     __THROW __attribute__ ((__noreturn__));
+     __THROW __attribute__ ((__noreturn__)) __COLD;
 
 
 __END_DECLS
diff --git a/benchtests/Makefile b/benchtests/Makefile
index 382fb7bae1..d228e9e68a 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -153,6 +153,7 @@ string-benchset := \
   memrchr \
   memset \
   memset-large \
+  memset-random \
   memset-zero \
   memset-zero-large \
   rawmemchr \
diff --git a/benchtests/bench-memset-random.c b/benchtests/bench-memset-random.c
new file mode 100644
index 0000000000..9c1eacbf81
--- /dev/null
+++ b/benchtests/bench-memset-random.c
@@ -0,0 +1,185 @@
+/* Measure memset performance.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#define MIN_SIZE 32768
+#define MAX_SIZE (1024*1024)
+#define NUM_TESTS 16384
+
+#define MIN_PAGE_SIZE (MAX_SIZE + getpagesize())
+#define TEST_MAIN
+#define TEST_NAME "memset"
+#include "bench-string.h"
+#include <assert.h>
+#include "json-lib.h"
+
+typedef void *(*proto_t) (void *, int, size_t);
+
+IMPL (MEMSET, 1)
+
+typedef struct { uint32_t offset : 20, len : 12; } memset_test_t;
+static memset_test_t test_arr[NUM_TESTS];
+
+typedef struct { uint16_t size; uint16_t freq; } freq_data_t;
+typedef struct { uint8_t align; uint16_t freq; } align_data_t;
+
+#define SIZE_NUM 65536
+#define SIZE_MASK (SIZE_NUM-1)
+static uint8_t len_arr[SIZE_NUM];
+
+/* Frequency data for memset sizes up to 4096 bytes based on SPEC2017.  */
+static freq_data_t memset_len_freq[] =
+{
+{40,28817}, {32,15336}, { 16,3823}, {296,3545}, { 24,3454}, {  8,1412},
+{292,1202}, { 48, 927}, { 12, 613}, { 11, 539}, {284, 493}, {108, 414},
+{ 88, 380}, { 20, 295}, {312, 271}, { 72, 233}, {  2, 200}, {  4, 192},
+{ 15, 180}, { 14, 174}, { 13, 160}, { 56, 151}, { 36, 144}, { 64, 140},
+{4095,133}, { 10, 130}, {  9, 124}, {  3, 124}, { 28, 120}, {  0, 118},
+{288, 110}, {1152, 96}, {104,  90}, {  1,  86}, {832,  76}, {248,  74},
+{1024, 69}, {120,  64}, {512,  63}, {384,  60}, {  6,  59}, { 80,  54},
+{ 17,  50}, {  7,  49}, {520,  47}, {2048, 39}, {256,  37}, {864,  33},
+{1440, 28}, { 22,  27}, {2056, 24}, {260,  23}, { 68,  23}, {  5,  22},
+{ 18,  21}, {200,  18}, {2120, 18}, { 60,  17}, { 52,  16}, {336,  15},
+{ 44,  13}, {192,  13}, {160,  12}, {2064, 12}, {128,  12}, { 76,  11},
+{164,  11}, {152,  10}, {136,   9}, {488,   7}, { 96,   6}, {560,   6},
+{1016,  6}, {112,   5}, {232,   5}, {168,   5}, {952,   5}, {184,   5},
+{144,   4}, {252,   4}, { 84,   3}, {960,   3}, {3808,  3}, {244,   3},
+{280,   3}, {224,   3}, {156,   3}, {1088,  3}, {440,   3}, {216,   2},
+{304,   2}, { 23,   2}, { 25,   2}, { 26,   2}, {264,   2}, {328,   2},
+{1096,  2}, {240,   2}, {1104,  2}, {704,   2}, {1664,  2}, {360,   2},
+{808,   1}, {544,   1}, {236,   1}, {720,   1}, {368,   1}, {424,   1},
+{640,   1}, {1112,  1}, {552,   1}, {272,   1}, {776,   1}, {376,   1},
+{ 92,   1}, {536,   1}, {824,   1}, {496,   1}, {760,   1}, {792,   1},
+{504,   1}, {344,   1}, {1816,  1}, {880,   1}, {176,   1}, {320,   1},
+{352,   1}, {2008,  1}, {208,   1}, {408,   1}, {228,   1}, {2072,  1},
+{568,   1}, {220,   1}, {616,   1}, {600,   1}, {392,   1}, {696,   1},
+{2144,  1}, {1280,  1}, {2136,  1}, {632,   1}, {584,   1}, {456,   1},
+{472,   1}, {3440,  1}, {2088,  1}, {680,   1}, {2928,  1}, {212,   1},
+{648,   1}, {1752,  1}, {664,   1}, {3512,  1}, {1032,  1}, {528,   1},
+{4072,  1}, {204,   1}, {2880,  1}, {3392,  1}, {712,   1}, { 59,   1},
+{736,   1}, {592,   1}, {2520,  1}, {744,   1}, {196,   1}, {172,   1},
+{728,   1}, {2040,  1}, {1192,  1}, {3600,  1}, {0, 0}
+};
+
+#define ALIGN_NUM 1024
+#define ALIGN_MASK (ALIGN_NUM-1)
+static uint8_t align_arr[ALIGN_NUM];
+
+/* Alignment data for memset based on SPEC2017.  */
+static align_data_t memset_align_freq[] =
+{
+  {16, 338}, {8, 307}, {32, 148}, {64, 131}, {4, 72}, {1, 23}, {2, 5}, {0, 0}
+};
+
+static void
+init_memset_distribution (void)
+{
+  int i, j, freq, size, n;
+
+  for (n = i = 0; (freq = memset_len_freq[i].freq) != 0; i++)
+    for (j = 0, size = memset_len_freq[i].size; j < freq; j++)
+      len_arr[n++] = size;
+  assert (n == SIZE_NUM);
+
+  for (n = i = 0; (freq = memset_align_freq[i].freq) != 0; i++)
+    for (j = 0, size = memset_align_freq[i].align; j < freq; j++)
+      align_arr[n++] = size - 1;
+  assert (n == ALIGN_NUM);
+}
+
+static void
+do_one_test (json_ctx_t *json_ctx, impl_t *impl, size_t iters,
+	     memset_test_t *input, size_t n)
+{
+  timing_t start, stop, cur;
+
+  /* Avoid 'cold start' performance penalty.  */
+  for (int j = 0; j < n; j++)
+    CALL (impl, buf1 + input[j].offset, 0, input[j].len);
+
+  TIMING_NOW (start);
+  for (int i = 0; i < iters; ++i)
+    for (int j = 0; j < n; j++)
+      CALL (impl, buf1 + input[j].offset, 0, input[j].len);
+  TIMING_NOW (stop);
+  TIMING_DIFF (cur, start, stop);
+  json_element_double (json_ctx, (double) cur / (double) iters);
+}
+
+static void
+do_test (json_ctx_t *json_ctx, size_t max_size)
+{
+  int n;
+
+  /* Create a random set of memset inputs strings with the given length
+     and alignment distributions.  */
+  for (n = 0; n < NUM_TESTS; n++)
+    {
+      int align = align_arr[rand () & ALIGN_MASK];
+      int len = len_arr[rand () & SIZE_MASK];
+
+      test_arr[n].offset = (rand () & (max_size - 1)) & ~align;
+      test_arr[n].len = len;
+    }
+
+  json_element_object_begin (json_ctx);
+  json_attr_uint (json_ctx, "length", (double) max_size);
+  json_array_begin (json_ctx, "timings");
+
+  FOR_EACH_IMPL (impl, 0)
+    do_one_test (json_ctx, impl, INNER_LOOP_ITERS_MEDIUM * 2, test_arr, n);
+
+  json_array_end (json_ctx);
+  json_element_object_end (json_ctx);
+}
+
+int
+test_main (void)
+{
+  json_ctx_t json_ctx;
+
+  test_init ();
+  init_memset_distribution ();
+  memset (buf1, 1, MIN_PAGE_SIZE);
+
+  json_init (&json_ctx, 0, stdout);
+
+  json_document_begin (&json_ctx);
+  json_attr_string (&json_ctx, "timing_type", TIMING_TYPE);
+
+  json_attr_object_begin (&json_ctx, "functions");
+  json_attr_object_begin (&json_ctx, TEST_NAME);
+  json_attr_string (&json_ctx, "bench-variant", "random");
+
+  json_array_begin (&json_ctx, "ifuncs");
+  FOR_EACH_IMPL (impl, 0)
+    json_element_string (&json_ctx, impl->name);
+  json_array_end (&json_ctx);
+
+  json_array_begin (&json_ctx, "results");
+  for (int i = MIN_SIZE; i <= MAX_SIZE; i = i * 2)
+    do_test (&json_ctx, i);
+
+  json_array_end (&json_ctx);
+  json_attr_object_end (&json_ctx);
+  json_attr_object_end (&json_ctx);
+  json_document_end (&json_ctx);
+
+  return ret;
+}
+
+#include <support/test-driver.c>
diff --git a/config.h.in b/config.h.in
index 9a83b774fa..f495f11244 100644
--- a/config.h.in
+++ b/config.h.in
@@ -159,6 +159,12 @@
 /* Mach specific: define if the `host_page_size' RPC is available.  */
 #undef	HAVE_HOST_PAGE_SIZE
 
+/* Mach specific: define if the `thread_set_name' RPC is available.  */
+#undef  HAVE_MACH_THREAD_SET_NAME
+
+/* Mach specific: define if the `thread_get_name' RPC is available.  */
+#undef  HAVE_MACH_THREAD_GET_NAME
+
 /* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available.  */
 #undef	HAVE_I386_IO_PERM_MODIFY
 
diff --git a/config.make.in b/config.make.in
index 55e8b7563b..36096881b7 100644
--- a/config.make.in
+++ b/config.make.in
@@ -91,6 +91,7 @@ use-nscd = @use_nscd@
 build-hardcoded-path-in-tests= @hardcoded_path_in_tests@
 build-pt-chown = @build_pt_chown@
 pthread-in-libc = @pthread_in_libc@
+man-pages-version = @man_pages_version@
 
 # Build tools.
 CC = @CC@
diff --git a/configure b/configure
index 1bae55b45b..ec0b62db36 100755
--- a/configure
+++ b/configure
@@ -699,6 +699,7 @@ force_install
 bindnow
 hardcoded_path_in_tests
 enable_timezone_tools
+man_pages_version
 rtld_early_cflags
 extra_nonshared_cflags
 sysheaders
@@ -782,6 +783,7 @@ with_headers
 with_nonshared_cflags
 with_rtld_early_cflags
 with_timeoutfactor
+with_man_pages
 enable_sanity_checks
 enable_shared
 enable_profile
@@ -1508,6 +1510,8 @@ Optional Packages:
                           build early initialization with additional CFLAGS
   --with-timeoutfactor=NUM
                           specify an integer to scale the timeout
+  --with-man-pages=VERSION
+                          tie manual to a specific man-pages version
   --with-cpu=CPU          select code for CPU variant
 
 Some influential environment variables:
@@ -3868,8 +3872,9 @@ config_vars=
 if test ${enable_static_c___tests+y}
 then :
   enableval=$enable_static_c___tests; static_cxx_tests=$enableval
-else $as_nop
-  static_cxx_tests=yes
+else case e in #(
+  e) static_cxx_tests=yes ;;
+esac
 fi
 
 config_vars="$config_vars
@@ -3879,8 +3884,9 @@ static-cxx-tests = $static_cxx_tests"
 if test ${enable_static_c___link_check+y}
 then :
   enableval=$enable_static_c___link_check; static_cxx_link_check=$enableval
-else $as_nop
-  static_cxx_link_check=yes
+else case e in #(
+  e) static_cxx_link_check=yes ;;
+esac
 fi
 
 
@@ -4469,6 +4475,17 @@ fi
 printf "%s\n" "#define TIMEOUTFACTOR $timeoutfactor" >>confdefs.h
 
 
+man_pages_version=6.9.1
+
+
+# Check whether --with-man-pages was given.
+if test ${with_man_pages+y}
+then :
+  withval=$with_man_pages; man_pages_version=$withval
+fi
+
+
+
 # Check whether --enable-sanity-checks was given.
 if test ${enable_sanity_checks+y}
 then :
@@ -7448,6 +7465,32 @@ if test $libc_cv_cc_loop_to_function = yes; then
 fi
 
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wimplicit-fallthrough" >&5
+printf %s "checking for -Wimplicit-fallthrough... " >&6; }
+if test ${libc_cv_cc_wimplicit_fallthrough+y}
+then :
+  printf %s "(cached) " >&6
+else case e in #(
+  e) if { ac_try='${CC-cc} -Werror -Wimplicit-fallthrough -xc /dev/null -S -o /dev/null'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }
+then :
+  libc_cv_cc_wimplicit_fallthrough=-Wimplicit-fallthrough
+else case e in #(
+  e) libc_cv_cc_wimplicit_fallthrough= ;;
+esac
+fi
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_wimplicit_fallthrough" >&5
+printf "%s\n" "$libc_cv_cc_wimplicit_fallthrough" >&6; }
+config_vars="$config_vars
+cc-option-wimplicit-fallthrough = $libc_cv_cc_wimplicit_fallthrough"
+
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libgd" >&5
 printf %s "checking for libgd... " >&6; }
 if test "$with_gd" != "no"; then
diff --git a/configure.ac b/configure.ac
index e48957f318..7c9b57789e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -183,6 +183,15 @@ AC_ARG_WITH([timeoutfactor],
 	    [timeoutfactor=1])
 AC_DEFINE_UNQUOTED(TIMEOUTFACTOR, $timeoutfactor)
 
+man_pages_version=6.9.1
+
+AC_ARG_WITH([man-pages],
+	    AS_HELP_STRING([--with-man-pages=VERSION],
+			   [tie manual to a specific man-pages version]),
+	    [man_pages_version=$withval],
+	    [])
+AC_SUBST(man_pages_version)
+
 AC_ARG_ENABLE([sanity-checks],
 	      AS_HELP_STRING([--disable-sanity-checks],
 			     [really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
@@ -1459,6 +1468,15 @@ if test $libc_cv_cc_loop_to_function = yes; then
 fi
 AC_SUBST(libc_cv_cc_loop_to_function)
 
+AC_CACHE_CHECK([for -Wimplicit-fallthrough],
+	       libc_cv_cc_wimplicit_fallthrough, [dnl
+LIBC_TRY_CC_OPTION([-Werror -Wimplicit-fallthrough],
+		   [libc_cv_cc_wimplicit_fallthrough=-Wimplicit-fallthrough],
+		   [libc_cv_cc_wimplicit_fallthrough=])
+])
+LIBC_CONFIG_VAR([cc-option-wimplicit-fallthrough],
+		[$libc_cv_cc_wimplicit_fallthrough])
+
 dnl Check whether we have the gd library available.
 AC_MSG_CHECKING(for libgd)
 if test "$with_gd" != "no"; then
diff --git a/debug/tst-fortify-syslog.c b/debug/tst-fortify-syslog.c
index a7ddbf7c6b..2712acf689 100644
--- a/debug/tst-fortify-syslog.c
+++ b/debug/tst-fortify-syslog.c
@@ -22,7 +22,6 @@
 #include <syslog.h>
 #include <string.h>
 #include <unistd.h>
-#include <stdio.h>
 
 #include <support/check.h>
 #include <support/support.h>
@@ -46,18 +45,13 @@ handler (int sig)
     _exit (127);
 }
 
-#define FAIL()						\
-  do {							\
-      printf ("Failure on line %d\n", __LINE__);	\
-      support_record_failure ();			\
-  } while (0)
 #define CHK_FAIL_START					\
   chk_fail_ok = 1;					\
   if (! setjmp (chk_fail_buf))				\
     {
 #define CHK_FAIL_END					\
       chk_fail_ok = 0;					\
-      FAIL ();						\
+      FAIL ("not supposed to reach here");		\
     }
 
 static void
diff --git a/elf/Makefile b/elf/Makefile
index a3475f3fb5..00622ace9d 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -416,6 +416,10 @@ tests += \
   tst-dlmopen4 \
   tst-dlopen-self \
   tst-dlopen-tlsmodid \
+  tst-dlopen-tlsreinit1 \
+  tst-dlopen-tlsreinit2 \
+  tst-dlopen-tlsreinit3 \
+  tst-dlopen-tlsreinit4 \
   tst-dlopenfail \
   tst-dlopenfail-2 \
   tst-dlopenrpath \
@@ -630,6 +634,13 @@ $(objpfx)tst-rtld-does-not-exist.out: tst-rtld-does-not-exist.sh $(objpfx)ld.so
 	$(SHELL) $< $(objpfx)ld.so > $@; \
 	$(evaluate-test)
 
+ifeq ($(run-built-tests),yes)
+tests-special += $(objpfx)tst-rtld-dash-dash.out
+endif
+$(objpfx)tst-rtld-dash-dash.out: tst-rtld-dash-dash.sh $(objpfx)ld.so
+	$(SHELL) $< $(objpfx)ld.so > $@; \
+	$(evaluate-test)
+
 tests += $(tests-execstack-$(have-z-execstack))
 ifeq ($(run-built-tests),yes)
 tests-special += \
@@ -853,6 +864,9 @@ modules-names += \
   tst-dlmopen-twice-mod1 \
   tst-dlmopen-twice-mod2 \
   tst-dlmopen1mod \
+  tst-dlopen-tlsreinitmod1 \
+  tst-dlopen-tlsreinitmod2 \
+  tst-dlopen-tlsreinitmod3 \
   tst-dlopenfaillinkmod \
   tst-dlopenfailmod1 \
   tst-dlopenfailmod2 \
@@ -1314,11 +1328,8 @@ $(objpfx)dl-allobjs.os: $(all-rtld-routines:%=$(objpfx)%.os)
 # discovery mechanism is not compatible with the libc implementation
 # when compiled for libc.
 rtld-stubbed-symbols = \
-  __GI___pthread_disable_asynccancel \
-  __GI___pthread_enable_asynccancel \
   __libc_assert_fail \
-  __pthread_disable_asynccancel \
-  __pthread_enable_asynccancel \
+  __syscall_cancel \
   calloc \
   free \
   malloc \
@@ -3118,3 +3129,26 @@ $(objpfx)tst-recursive-tls.out: \
     0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
 $(objpfx)tst-recursive-tlsmod%.os: tst-recursive-tlsmodN.c
 	$(compile-command.c) -DVAR=thread_$* -DFUNC=get_threadvar_$*
+
+# Order matters here.  The test needs the constructor for
+# tst-dlopen-tlsreinitmod2.so to be called first.
+LDFLAGS-tst-dlopen-tlsreinitmod1.so = -Wl,--no-as-needed
+$(objpfx)tst-dlopen-tlsreinitmod1.so: \
+  $(objpfx)tst-dlopen-tlsreinitmod3.so $(objpfx)tst-dlopen-tlsreinitmod2.so
+LDFLAGS-tst-dlopen-tlsreinit2 = -Wl,--no-as-needed
+$(objpfx)tst-dlopen-tlsreinit2: \
+  $(objpfx)tst-dlopen-tlsreinitmod3.so $(objpfx)tst-dlopen-tlsreinitmod2.so
+LDFLAGS-tst-dlopen-tlsreinit4 = -Wl,--no-as-needed
+$(objpfx)tst-dlopen-tlsreinit4: \
+  $(objpfx)tst-dlopen-tlsreinitmod3.so $(objpfx)tst-dlopen-tlsreinitmod2.so
+# tst-dlopen-tlsreinitmod2.so is underlinked and refers to
+# tst-dlopen-tlsreinitmod3.so.  The dependency is provided via
+# $(objpfx)tst-dlopen-tlsreinitmod1.so.
+tst-dlopen-tlsreinitmod2.so-no-z-defs = yes
+$(objpfx)tst-dlopen-tlsreinit.out: $(objpfx)tst-dlopen-tlsreinitmod1.so \
+  $(objpfx)tst-dlopen-tlsreinitmod2.so $(objpfx)tst-dlopen-tlsreinitmod3.so
+# Reuse an audit module which provides ample debug logging.
+$(objpfx)tst-dlopen-tlsreinit3.out: $(objpfx)tst-auditmod1.so
+tst-dlopen-tlsreinit3-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so
+$(objpfx)tst-dlopen-tlsreinit4.out: $(objpfx)tst-auditmod1.so
+tst-dlopen-tlsreinit4-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so
diff --git a/elf/dl-fptr.c b/elf/dl-fptr.c
deleted file mode 100644
index 575406ae44..0000000000
--- a/elf/dl-fptr.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/* Manage function descriptors.  Generic version.
-   Copyright (C) 1999-2024 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <libintl.h>
-#include <unistd.h>
-#include <string.h>
-#include <sys/param.h>
-#include <sys/mman.h>
-#include <link.h>
-#include <ldsodefs.h>
-#include <elf/dynamic-link.h>
-#include <dl-fptr.h>
-#include <dl-unmap-segments.h>
-#include <atomic.h>
-
-#ifndef ELF_MACHINE_BOOT_FPTR_TABLE_LEN
-/* ELF_MACHINE_BOOT_FPTR_TABLE_LEN should be greater than the number of
-   dynamic symbols in ld.so.  */
-# define ELF_MACHINE_BOOT_FPTR_TABLE_LEN 256
-#endif
-
-#ifndef ELF_MACHINE_LOAD_ADDRESS
-# error "ELF_MACHINE_LOAD_ADDRESS is not defined."
-#endif
-
-#ifndef COMPARE_AND_SWAP
-# define COMPARE_AND_SWAP(ptr, old, new) \
-  (catomic_compare_and_exchange_bool_acq (ptr, new, old) == 0)
-#endif
-
-ElfW(Addr) _dl_boot_fptr_table [ELF_MACHINE_BOOT_FPTR_TABLE_LEN];
-
-static struct local
-  {
-    struct fdesc_table *root;
-    struct fdesc *free_list;
-    unsigned int npages;		/* # of pages to allocate */
-    /* the next to members MUST be consecutive! */
-    struct fdesc_table boot_table;
-    struct fdesc boot_fdescs[1024];
-  }
-local =
-  {
-    .root = &local.boot_table,
-    .npages = 2,
-    .boot_table =
-      {
-	.len = sizeof (local.boot_fdescs) / sizeof (local.boot_fdescs[0]),
-	.first_unused = 0
-      }
-  };
-
-/* Create a new fdesc table and return a pointer to the first fdesc
-   entry.  The fdesc lock must have been acquired already.  */
-
-static struct fdesc_table *
-new_fdesc_table (struct local *l, size_t *size)
-{
-  size_t old_npages = l->npages;
-  size_t new_npages = old_npages + old_npages;
-  struct fdesc_table *new_table;
-
-  /* If someone has just created a new table, we return NULL to tell
-     the caller to use the new table.  */
-  if (! COMPARE_AND_SWAP (&l->npages, old_npages, new_npages))
-    return (struct fdesc_table *) NULL;
-
-  *size = old_npages * GLRO(dl_pagesize);
-  new_table = __mmap (NULL, *size,
-		      PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
-  if (new_table == MAP_FAILED)
-    _dl_signal_error (errno, NULL, NULL,
-		      N_("cannot map pages for fdesc table"));
-
-  new_table->len
-    = (*size - sizeof (*new_table)) / sizeof (struct fdesc);
-  new_table->first_unused = 1;
-  return new_table;
-}
-
-
-static ElfW(Addr)
-make_fdesc (ElfW(Addr) ip, ElfW(Addr) gp)
-{
-  struct fdesc *fdesc = NULL;
-  struct fdesc_table *root;
-  unsigned int old;
-  struct local *l;
-
-  ELF_MACHINE_LOAD_ADDRESS (l, local);
-
- retry:
-  root = l->root;
-  while (1)
-    {
-      old = root->first_unused;
-      if (old >= root->len)
-	break;
-      else if (COMPARE_AND_SWAP (&root->first_unused, old, old + 1))
-	{
-	  fdesc = &root->fdesc[old];
-	  goto install;
-	}
-    }
-
-  if (l->free_list)
-    {
-      /* Get it from free-list.  */
-      do
-	{
-	  fdesc = l->free_list;
-	  if (fdesc == NULL)
-	    goto retry;
-	}
-      while (! COMPARE_AND_SWAP ((ElfW(Addr) *) &l->free_list,
-				 (ElfW(Addr)) fdesc, fdesc->ip));
-    }
-  else
-    {
-      /* Create a new fdesc table.  */
-      size_t size;
-      struct fdesc_table *new_table = new_fdesc_table (l, &size);
-
-      if (new_table == NULL)
-	goto retry;
-
-      new_table->next = root;
-      if (! COMPARE_AND_SWAP ((ElfW(Addr) *) &l->root,
-			      (ElfW(Addr)) root,
-			      (ElfW(Addr)) new_table))
-	{
-	  /* Someone has just installed a new table. Return NULL to
-	     tell the caller to use the new table.  */
-	  __munmap (new_table, size);
-	  goto retry;
-	}
-
-      /* Note that the first entry was reserved while allocating the
-	 memory for the new page.  */
-      fdesc = &new_table->fdesc[0];
-    }
-
- install:
-  fdesc->ip = ip;
-  fdesc->gp = gp;
-
-  return (ElfW(Addr)) fdesc;
-}
-
-
-static inline ElfW(Addr) * __attribute__ ((always_inline))
-make_fptr_table (struct link_map *map)
-{
-  const ElfW(Sym) *symtab
-    = (const void *) D_PTR (map, l_info[DT_SYMTAB]);
-  const char *strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]);
-  ElfW(Addr) *fptr_table;
-  size_t size;
-  size_t len;
-
-  /* XXX Apparently the only way to find out the size of the dynamic
-     symbol section is to assume that the string table follows right
-     afterwards...  */
-  len = ((strtab - (char *) symtab)
-	 / map->l_info[DT_SYMENT]->d_un.d_val);
-  size = ((len * sizeof (fptr_table[0]) + GLRO(dl_pagesize) - 1)
-	  & -GLRO(dl_pagesize));
-  /* XXX We don't support here in the moment systems without MAP_ANON.
-     There probably are none for IA-64.  In case this is proven wrong
-     we will have to open /dev/null here and use the file descriptor
-     instead of the hard-coded -1.  */
-  fptr_table = __mmap (NULL, size,
-		       PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE,
-		       -1, 0);
-  if (fptr_table == MAP_FAILED)
-    _dl_signal_error (errno, NULL, NULL,
-		      N_("cannot map pages for fptr table"));
-
-  if (COMPARE_AND_SWAP ((ElfW(Addr) *) &map->l_mach.fptr_table,
-			(ElfW(Addr)) NULL, (ElfW(Addr)) fptr_table))
-    map->l_mach.fptr_table_len = len;
-  else
-    __munmap (fptr_table, len * sizeof (fptr_table[0]));
-
-  return map->l_mach.fptr_table;
-}
-
-
-ElfW(Addr)
-_dl_make_fptr (struct link_map *map, const ElfW(Sym) *sym,
-	       ElfW(Addr) ip)
-{
-  ElfW(Addr) *ftab = map->l_mach.fptr_table;
-  const ElfW(Sym) *symtab;
-  Elf_Symndx symidx;
-  struct local *l;
-
-  if (__glibc_unlikely (ftab == NULL))
-    ftab = make_fptr_table (map);
-
-  symtab = (const void *) D_PTR (map, l_info[DT_SYMTAB]);
-  symidx = sym - symtab;
-
-  if (symidx >= map->l_mach.fptr_table_len)
-    _dl_signal_error (0, NULL, NULL,
-		      N_("internal error: symidx out of range of fptr table"));
-
-  while (ftab[symidx] == 0)
-    {
-      /* GOT has already been relocated in elf_get_dynamic_info -
-	 don't try to relocate it again.  */
-      ElfW(Addr) fdesc
-	= make_fdesc (ip, map->l_info[DT_PLTGOT]->d_un.d_ptr);
-
-      if (__builtin_expect (COMPARE_AND_SWAP (&ftab[symidx], (ElfW(Addr)) NULL,
-					      fdesc), 1))
-	{
-	  /* No one has updated the entry and the new function
-	     descriptor has been installed.  */
-#if 0
-	  const char *strtab
-	    = (const void *) D_PTR (map, l_info[DT_STRTAB]);
-
-	  ELF_MACHINE_LOAD_ADDRESS (l, local);
-	  if (l->root != &l->boot_table
-	      || l->boot_table.first_unused > 20)
-	    _dl_debug_printf ("created fdesc symbol `%s' at %lx\n",
-			      strtab + sym->st_name, ftab[symidx]);
-#endif
-	  break;
-	}
-      else
-	{
-	  /* We created a duplicated function descriptor. We put it on
-	     free-list.  */
-	  struct fdesc *f = (struct fdesc *) fdesc;
-
-	  ELF_MACHINE_LOAD_ADDRESS (l, local);
-
-	  do
-	    f->ip = (ElfW(Addr)) l->free_list;
-	  while (! COMPARE_AND_SWAP ((ElfW(Addr) *) &l->free_list,
-				     f->ip, fdesc));
-	}
-    }
-
-  return ftab[symidx];
-}
-
-
-void
-_dl_unmap (struct link_map *map)
-{
-  ElfW(Addr) *ftab = map->l_mach.fptr_table;
-  struct fdesc *head = NULL, *tail = NULL;
-  size_t i;
-
-  _dl_unmap_segments (map);
-
-  if (ftab == NULL)
-    return;
-
-  /* String together the fdesc structures that are being freed.  */
-  for (i = 0; i < map->l_mach.fptr_table_len; ++i)
-    {
-      if (ftab[i])
-	{
-	  *(struct fdesc **) ftab[i] = head;
-	  head = (struct fdesc *) ftab[i];
-	  if (tail == NULL)
-	    tail = head;
-	}
-    }
-
-  /* Prepend the new list to the free_list: */
-  if (tail)
-    do
-      tail->ip = (ElfW(Addr)) local.free_list;
-    while (! COMPARE_AND_SWAP ((ElfW(Addr) *) &local.free_list,
-			       tail->ip, (ElfW(Addr)) head));
-
-  __munmap (ftab, (map->l_mach.fptr_table_len
-		   * sizeof (map->l_mach.fptr_table[0])));
-
-  map->l_mach.fptr_table = NULL;
-}
-
-
-ElfW(Addr)
-_dl_lookup_address (const void *address)
-{
-  ElfW(Addr) addr = (ElfW(Addr)) address;
-  struct fdesc_table *t;
-  unsigned long int i;
-
-  for (t = local.root; t != NULL; t = t->next)
-    {
-      i = (struct fdesc *) addr - &t->fdesc[0];
-      if (i < t->first_unused && addr == (ElfW(Addr)) &t->fdesc[i])
-	{
-	  addr = t->fdesc[i].ip;
-	  break;
-	}
-    }
-
-  return addr;
-}
diff --git a/elf/dl-open.c b/elf/dl-open.c
index c378da16c0..8b4704c09d 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -363,17 +363,8 @@ resize_tls_slotinfo (struct link_map *new)
 {
   bool any_tls = false;
   for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i)
-    {
-      struct link_map *imap = new->l_searchlist.r_list[i];
-
-      /* Only add TLS memory if this object is loaded now and
-	 therefore is not yet initialized.  */
-      if (! imap->l_init_called && imap->l_tls_blocksize > 0)
-	{
-	  _dl_add_to_slotinfo (imap, false);
-	  any_tls = true;
-	}
-    }
+    if (_dl_add_to_slotinfo (new->l_searchlist.r_list[i], false))
+      any_tls = true;
   return any_tls;
 }
 
@@ -383,22 +374,8 @@ resize_tls_slotinfo (struct link_map *new)
 static void
 update_tls_slotinfo (struct link_map *new)
 {
-  unsigned int first_static_tls = new->l_searchlist.r_nlist;
   for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i)
-    {
-      struct link_map *imap = new->l_searchlist.r_list[i];
-
-      /* Only add TLS memory if this object is loaded now and
-	 therefore is not yet initialized.  */
-      if (! imap->l_init_called && imap->l_tls_blocksize > 0)
-	{
-	  _dl_add_to_slotinfo (imap, true);
-
-	  if (imap->l_need_tls_init
-	      && first_static_tls == new->l_searchlist.r_nlist)
-	    first_static_tls = i;
-	}
-    }
+    _dl_add_to_slotinfo (new->l_searchlist.r_list[i], true);
 
   size_t newgen = GL(dl_tls_generation) + 1;
   if (__glibc_unlikely (newgen == 0))
@@ -410,13 +387,11 @@ TLS generation counter wrapped!  Please report this."));
   /* We need a second pass for static tls data, because
      _dl_update_slotinfo must not be run while calls to
      _dl_add_to_slotinfo are still pending.  */
-  for (unsigned int i = first_static_tls; i < new->l_searchlist.r_nlist; ++i)
+  for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i)
     {
       struct link_map *imap = new->l_searchlist.r_list[i];
 
-      if (imap->l_need_tls_init
-	  && ! imap->l_init_called
-	  && imap->l_tls_blocksize > 0)
+      if (imap->l_need_tls_init && imap->l_tls_blocksize > 0)
 	{
 	  /* For static TLS we have to allocate the memory here and
 	     now, but we can delay updating the DTV.  */
@@ -511,22 +486,11 @@ _dl_open_relocate_one_object (struct dl_open_args *args, struct r_debug *r,
     _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
 }
 
-
-/* struct dl_init_args and call_dl_init are used to call _dl_init with
-   exception handling disabled.  */
-struct dl_init_args
-{
-  struct link_map *new;
-  int argc;
-  char **argv;
-  char **env;
-};
-
 static void
 call_dl_init (void *closure)
 {
-  struct dl_init_args *args = closure;
-  _dl_init (args->new, args->argc, args->argv, args->env);
+  struct dl_open_args *args = closure;
+  _dl_init (args->map, args->argc, args->argv, args->env);
 }
 
 static void
@@ -818,16 +782,7 @@ dl_open_worker (void *a)
   /* Run the initializer functions of new objects.  Temporarily
      disable the exception handler, so that lazy binding failures are
      fatal.  */
-  {
-    struct dl_init_args init_args =
-      {
-        .new = new,
-        .argc = args->argc,
-        .argv = args->argv,
-        .env = args->env
-      };
-    _dl_catch_exception (NULL, call_dl_init, &init_args);
-  }
+  _dl_catch_exception (NULL, call_dl_init, args);
 
   /* Now we can make the new map available in the global scope.  */
   if (mode & RTLD_GLOBAL)
diff --git a/elf/dl-tls.c b/elf/dl-tls.c
index 3d221273f1..3d529b722c 100644
--- a/elf/dl-tls.c
+++ b/elf/dl-tls.c
@@ -552,9 +552,14 @@ _dl_resize_dtv (dtv_t *dtv, size_t max_modid)
 /* Allocate initial TLS.  RESULT should be a non-NULL pointer to storage
    for the TLS space.  The DTV may be resized, and so this function may
    call malloc to allocate that space.  The loader's GL(dl_load_tls_lock)
-   is taken when manipulating global TLS-related data in the loader.  */
+   is taken when manipulating global TLS-related data in the loader.
+
+   If MAIN_THREAD, this is the first call during process
+   initialization.  In this case, TLS initialization for secondary
+   (audit) namespaces is skipped because that has already been handled
+   by dlopen.  */
 void *
-_dl_allocate_tls_init (void *result, bool init_tls)
+_dl_allocate_tls_init (void *result, bool main_thread)
 {
   if (result == NULL)
     /* The memory allocation failed.  */
@@ -627,17 +632,21 @@ _dl_allocate_tls_init (void *result, bool init_tls)
 	     some platforms use in static programs requires it.  */
 	  dtv[map->l_tls_modid].pointer.val = dest;
 
-	  /* Copy the initialization image and clear the BSS part.  For
-	     audit modules or dependencies with initial-exec TLS, we can not
-	     set the initial TLS image on default loader initialization
-	     because it would already be set by the audit setup.  However,
-	     subsequent thread creation would need to follow the default
-	     behaviour.   */
-	  if (map->l_ns != LM_ID_BASE && !init_tls)
+	  /* Copy the initialization image and clear the BSS part.
+	     For audit modules or dependencies with initial-exec TLS,
+	     we can not set the initial TLS image on default loader
+	     initialization because it would already be set by the
+	     audit setup, which uses the dlopen code and already
+	     clears l_need_tls_init.  Calls with !main_thread from
+	     pthread_create need to initialze TLS for the current
+	     thread regardless of namespace.  */
+	  if (map->l_ns != LM_ID_BASE && main_thread)
 	    continue;
 	  memset (__mempcpy (dest, map->l_tls_initimage,
 			     map->l_tls_initimage_size), '\0',
 		  map->l_tls_blocksize - map->l_tls_initimage_size);
+	  if (main_thread)
+	    map->l_need_tls_init = 0;
 	}
 
       total += cnt;
@@ -661,7 +670,7 @@ _dl_allocate_tls (void *mem)
 {
   return _dl_allocate_tls_init (mem == NULL
 				? _dl_allocate_tls_storage ()
-				: allocate_dtv (mem), true);
+				: allocate_dtv (mem), false);
 }
 rtld_hidden_def (_dl_allocate_tls)
 
@@ -1094,9 +1103,32 @@ _dl_tls_initial_modid_limit_setup (void)
 }
 
 
-void
+/* Add module to slot information data.  If DO_ADD is false, only the
+   required memory is allocated.  Must be called with
+   GL (dl_load_tls_lock) acquired.  If the function has already been
+   called for the link map L with !DO_ADD, then this function will not
+   raise an exception, otherwise it is possible that it encounters a
+   memory allocation failure.
+
+   Return false if L has already been added to the slotinfo data, or
+   if L has no TLS data.  If the returned value is true, L has been
+   added with this call (DO_ADD), or has been added in a previous call
+   (!DO_ADD).
+
+   The expected usage is as follows: Call _dl_add_to_slotinfo for
+   several link maps with DO_ADD set to false, and record if any calls
+   result in a true result.  If there was a true result, call
+   _dl_add_to_slotinfo again, this time with DO_ADD set to true.  (For
+   simplicity, it's possible to call the function for link maps where
+   the previous result was false.)  The return value from the second
+   round of calls can be ignored.  If there was true result initially,
+   call _dl_update_slotinfo to update the TLS generation counter.  */
+bool
 _dl_add_to_slotinfo (struct link_map *l, bool do_add)
 {
+  if (l->l_tls_blocksize == 0 || l->l_tls_in_slotinfo)
+    return false;
+
   /* Now that we know the object is loaded successfully add
      modules containing TLS data to the dtv info table.  We
      might have to increase its size.  */
@@ -1152,7 +1184,10 @@ cannot create TLS data structures"));
       atomic_store_relaxed (&listp->slotinfo[idx].map, l);
       atomic_store_relaxed (&listp->slotinfo[idx].gen,
 			    GL(dl_tls_generation) + 1);
+      l->l_tls_in_slotinfo = true;
     }
+
+  return true;
 }
 
 #if PTHREAD_IN_LIBC
diff --git a/elf/endswith.h b/elf/endswith.h
new file mode 100644
index 0000000000..c6430c48be
--- /dev/null
+++ b/elf/endswith.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 2023-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published
+   by the Free Software Foundation; version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _ENDSWITH_H
+#define _ENDSWITH_H
+
+#include <string.h>
+
+/* Return true if the N bytes at NAME end with with the characters in
+   the string SUFFIX.  (NAME[N + 1] does not have to be a null byte.)
+   Expected to be called with a string literal for SUFFIX.  */
+static inline bool
+endswithn (const char *name, size_t n, const char *suffix)
+{
+  return (n >= strlen (suffix)
+	  && memcmp (name + n - strlen (suffix), suffix,
+		     strlen (suffix)) == 0);
+}
+
+#endif /* _ENDSWITH_H */
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index b64c54b53e..0f3ef707dd 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -40,6 +40,7 @@
 #include <libgen.h>
 
 #include <ldconfig.h>
+#include <endswith.h>
 #include <dl-cache.h>
 #include <dl-hwcaps.h>
 #include <dl-is_dso.h>
@@ -661,17 +662,6 @@ struct dlib_entry
   struct dlib_entry *next;
 };
 
-/* Return true if the N bytes at NAME end with with the characters in
-   the string SUFFIX.  (NAME[N + 1] does not have to be a null byte.)
-   Expected to be called with a string literal for SUFFIX.  */
-static inline bool
-endswithn (const char *name, size_t n, const char *suffix)
-{
-  return (n >= strlen (suffix)
-	  && memcmp (name + n - strlen (suffix), suffix,
-		     strlen (suffix)) == 0);
-}
-
 /* Skip some temporary DSO files.  These files may be partially written
    and lead to ldconfig crashes when examined.  */
 static bool
diff --git a/elf/readlib.c b/elf/readlib.c
index 4d67c74136..f3129c4557 100644
--- a/elf/readlib.c
+++ b/elf/readlib.c
@@ -33,6 +33,7 @@
 #include <gnu/lib-names.h>
 
 #include <ldconfig.h>
+#include <endswith.h>
 
 #define Elf32_CLASS ELFCLASS32
 #define Elf64_CLASS ELFCLASS64
@@ -43,12 +44,14 @@ struct known_names
   int flag;
 };
 
-/* Check if string corresponds to a GDB Python file.  */
+/* Check if string corresponds to a GDB extension file.  */
 static bool
-is_gdb_python_file (const char *name)
+is_gdb_extension_file (const char *name)
 {
   size_t len = strlen (name);
-  return len > 7 && strcmp (name + len - 7, "-gdb.py") == 0;
+  return (endswithn (name, len, "-gdb.gdb")
+	  || endswithn (name, len, "-gdb.py")
+	  || endswithn (name, len, "-gdb.scm"));
 }
 
 /* Returns 0 if everything is ok, != 0 in case of error.  */
@@ -145,7 +148,7 @@ process_file (const char *real_file_name, const char *file_name,
       size_t len = MIN (statbuf.st_size, 512);
       if (memmem (file_contents, len, "GROUP", 5) == NULL
 	  && memmem (file_contents, len, "GNU ld script", 13) == NULL
-	  && !is_gdb_python_file (file_name))
+	  && !is_gdb_extension_file (file_name))
 	error (0, 0, _("%s is not an ELF file - it has the wrong magic bytes at the start.\n"),
 	       file_name);
       ret = 1;
diff --git a/elf/rtld.c b/elf/rtld.c
index bfdf632e77..1e2e9ad5a8 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -1501,12 +1501,16 @@ dl_main (const ElfW(Phdr) *phdr,
 	  _dl_version ();
 	else if (_dl_argv[1][0] == '-' && _dl_argv[1][1] == '-')
 	  {
-	   if (_dl_argv[1][1] == '\0')
-	     /* End of option list.  */
-	     break;
-	   else
-	     /* Unrecognized option.  */
-	     _dl_usage (ld_so_name, _dl_argv[1]);
+	    if (_dl_argv[1][2] == '\0')
+	      {
+		/* End of option list.  */
+		--_dl_argc;
+		++_dl_argv;
+		break;
+	      }
+	    else
+	      /* Unrecognized option.  */
+	      _dl_usage (ld_so_name, _dl_argv[1]);
 	  }
 	else
 	  break;
@@ -2338,7 +2342,7 @@ dl_main (const ElfW(Phdr) *phdr,
      into the main thread's TLS area, which we allocated above.
      Note: thread-local variables must only be accessed after completing
      the next step.  */
-  _dl_allocate_tls_init (tcbp, false);
+  _dl_allocate_tls_init (tcbp, true);
 
   /* And finally install it for the main thread.  */
   if (! __rtld_tls_init_tp_called)
diff --git a/elf/tst-dlopen-tlsreinit1.c b/elf/tst-dlopen-tlsreinit1.c
new file mode 100644
index 0000000000..2016b9b0c6
--- /dev/null
+++ b/elf/tst-dlopen-tlsreinit1.c
@@ -0,0 +1,40 @@
+/* Test that dlopen preserves already accessed TLS (bug 31717).
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <stdbool.h>
+#include <support/check.h>
+#include <support/xdlfcn.h>
+#include <ctype.h>
+
+static int
+do_test (void)
+{
+  void *handle = xdlopen ("tst-dlopen-tlsreinitmod1.so", RTLD_NOW);
+
+  bool *tlsreinitmod3_tested = xdlsym (handle, "tlsreinitmod3_tested");
+  TEST_VERIFY (*tlsreinitmod3_tested);
+
+  xdlclose (handle);
+
+  /* This crashes if the libc.so.6 TLS image has been reverted.  */
+  TEST_VERIFY (!isupper ('@'));
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/elf/tst-dlopen-tlsreinit2.c b/elf/tst-dlopen-tlsreinit2.c
new file mode 100644
index 0000000000..90ad2c7713
--- /dev/null
+++ b/elf/tst-dlopen-tlsreinit2.c
@@ -0,0 +1,39 @@
+/* Test that dlopen preserves already accessed TLS (bug 31717).
+   Variant with initially-linked modules.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <ctype.h>
+#include <stdbool.h>
+#include <support/check.h>
+#include <support/xdlfcn.h>
+
+
+static int
+do_test (void)
+{
+  /* Defined in tst-dlopen-tlsreinitmod3.so.  */
+  extern bool tlsreinitmod3_tested;
+  TEST_VERIFY (tlsreinitmod3_tested);
+
+  /* This crashes if the libc.so.6 TLS image has been reverted.  */
+  TEST_VERIFY (!isupper ('@'));
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/elf/tst-dlopen-tlsreinit3.c b/elf/tst-dlopen-tlsreinit3.c
new file mode 100644
index 0000000000..79bd585aff
--- /dev/null
+++ b/elf/tst-dlopen-tlsreinit3.c
@@ -0,0 +1,2 @@
+/* Same code, but run with LD_AUDIT=tst-auditmod1.so.  */
+#include "tst-dlopen-tlsreinit1.c"
diff --git a/elf/tst-dlopen-tlsreinit4.c b/elf/tst-dlopen-tlsreinit4.c
new file mode 100644
index 0000000000..344c9211ab
--- /dev/null
+++ b/elf/tst-dlopen-tlsreinit4.c
@@ -0,0 +1,2 @@
+/* Same code, but run with LD_AUDIT=tst-auditmod1.so.  */
+#include "tst-dlopen-tlsreinit2.c"
diff --git a/elf/tst-dlopen-tlsreinitmod1.c b/elf/tst-dlopen-tlsreinitmod1.c
new file mode 100644
index 0000000000..354cc3de51
--- /dev/null
+++ b/elf/tst-dlopen-tlsreinitmod1.c
@@ -0,0 +1,20 @@
+/* Test that dlopen preserves already accessed TLS (bug 31717), module 1.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* This module triggers loading of tst-dlopen-tlsreinitmod2.so and
+   tst-dlopen-tlsreinitmod3.so.  */
diff --git a/elf/tst-dlopen-tlsreinitmod2.c b/elf/tst-dlopen-tlsreinitmod2.c
new file mode 100644
index 0000000000..677e69bd35
--- /dev/null
+++ b/elf/tst-dlopen-tlsreinitmod2.c
@@ -0,0 +1,30 @@
+/* Test that dlopen preserves already accessed TLS (bug 31717), module 2.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+
+/* Defined in tst-dlopen-tlsreinitmod3.so.  This an underlinked symbol
+   dependency.  */
+extern void call_tlsreinitmod3 (void);
+
+static void __attribute__ ((constructor))
+tlsreinitmod2_init (void)
+{
+  puts ("info: constructor of tst-dlopen-tlsreinitmod2.so invoked");
+  call_tlsreinitmod3 ();
+}
diff --git a/elf/tst-dlopen-tlsreinitmod3.c b/elf/tst-dlopen-tlsreinitmod3.c
new file mode 100644
index 0000000000..ef769c5131
--- /dev/null
+++ b/elf/tst-dlopen-tlsreinitmod3.c
@@ -0,0 +1,102 @@
+/* Test that dlopen preserves already accessed TLS (bug 31717), module 3.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <dlfcn.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <unistd.h>
+
+/* Used to verify from the main program that the test ran.  */
+bool tlsreinitmod3_tested;
+
+/* This TLS variable must not revert back to the initial state after
+   dlopen.  */
+static __thread int tlsreinitmod3_state = 1;
+
+/* Set from the ELF constructor during dlopen.  */
+static bool tlsreinitmod3_constructed;
+
+/* Second half of test, behind a compiler barrier.  The compiler
+   barrier is necessary to prevent carrying over TLS address
+   information from call_tlsreinitmod3 to call_tlsreinitmod3_tail.  */
+void call_tlsreinitmod3_tail (void *self) __attribute__ ((weak));
+
+/* Called from tst-dlopen-tlsreinitmod2.so.  */
+void
+call_tlsreinitmod3 (void)
+{
+  printf ("info: call_tlsreinitmod3 invoked (state=%d)\n",
+          tlsreinitmod3_state);
+
+  if (tlsreinitmod3_constructed)
+    {
+      puts ("error: call_tlsreinitmod3 called after ELF constructor");
+      fflush (stdout);
+      /* Cannot rely on test harness due to dynamic linking.  */
+      _exit (1);
+    }
+
+  tlsreinitmod3_state = 2;
+
+  /* Self-dlopen.  This will run the ELF constructor.   */
+  void *self = dlopen ("tst-dlopen-tlsreinitmod3.so", RTLD_NOW);
+  if (self == NULL)
+    {
+      printf ("error: dlopen: %s\n", dlerror ());
+      fflush (stdout);
+      /* Cannot rely on test harness due to dynamic linking.  */
+      _exit (1);
+    }
+
+  call_tlsreinitmod3_tail (self);
+}
+
+void
+call_tlsreinitmod3_tail (void *self)
+{
+  printf ("info: dlopen returned in tlsreinitmod3 (state=%d)\n",
+          tlsreinitmod3_state);
+
+  if (!tlsreinitmod3_constructed)
+    {
+      puts ("error: dlopen did not call tlsreinitmod3 ELF constructor");
+      fflush (stdout);
+      /* Cannot rely on test harness due to dynamic linking.  */
+      _exit (1);
+    }
+
+  if (tlsreinitmod3_state != 2)
+    {
+      puts ("error: TLS state reverted in tlsreinitmod3");
+      fflush (stdout);
+      /* Cannot rely on test harness due to dynamic linking.  */
+      _exit (1);
+    }
+
+  dlclose (self);
+
+  /* Signal test completion to the main program.  */
+  tlsreinitmod3_tested = true;
+}
+
+static void __attribute__ ((constructor))
+tlsreinitmod3_init (void)
+{
+  puts ("info: constructor of tst-dlopen-tlsreinitmod3.so invoked");
+  tlsreinitmod3_constructed = true;
+}
diff --git a/elf/tst-ldconfig-bad-aux-cache.c b/elf/tst-ldconfig-bad-aux-cache.c
index 7f1fbb5252..8c2e62ecc2 100644
--- a/elf/tst-ldconfig-bad-aux-cache.c
+++ b/elf/tst-ldconfig-bad-aux-cache.c
@@ -85,7 +85,7 @@ do_test (void)
   support_capture_subprocess_check (&result, "execv", 0, sc_allow_none);
   support_capture_subprocess_free (&result);
 
-  xstat (path, &fs);
+  xstat64 (path, &fs);
 
   size = fs.st_size;
   /* Run 3 tests, each truncating aux-cache shorter and shorter.  */
diff --git a/elf/tst-rtld-dash-dash.sh b/elf/tst-rtld-dash-dash.sh
new file mode 100644
index 0000000000..2bc1f85598
--- /dev/null
+++ b/elf/tst-rtld-dash-dash.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+# Test for the '--' option in ld.so.
+# Copyright (C) 2024 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <https://www.gnu.org/licenses/>.
+
+export LC_ALL=C
+
+# --inhibit-cache to suppress "No such file or directory" message when
+# /etc/ld.so.cache does not exist.
+rtld="$1 --inhibit-cache"
+tmp_out="$(mktemp)"
+
+$rtld -- --program-does-not-exist 2>"$tmp_out"
+status=$?
+echo "$rtld exit status: $status"
+echo "output (with expected error):"
+cat "$tmp_out"
+
+if test $status -eq 127 \
+	&& grep -q "^--program-does-not-exist: error while loading shared libraries: --program-does-not-exist: cannot open shared object file$" "$tmp_out" \
+	&& test "$(wc -l < "$tmp_out")" -eq 1 ; then
+    status=0
+else
+    status=1
+fi
+rm "$tmp_out"
+exit $status
diff --git a/elf/tst-rtld-does-not-exist.sh b/elf/tst-rtld-does-not-exist.sh
index a4a781ccfd..f4a9e38e5d 100644
--- a/elf/tst-rtld-does-not-exist.sh
+++ b/elf/tst-rtld-does-not-exist.sh
@@ -19,7 +19,9 @@
 
 export LC_ALL=C
 
-rtld="$1"
+# --inhibit-cache to suppress "No such file or directory" message when
+# /etc/ld.so.cache does not exist.
+rtld="$1 --inhibit-cache"
 tmp_out="$(mktemp)"
 
 $rtld program-does-not-exist 2>"$tmp_out"
diff --git a/elf/tst-tunables-enable_secure-env.c b/elf/tst-tunables-enable_secure-env.c
index 01f121efc3..937259f218 100644
--- a/elf/tst-tunables-enable_secure-env.c
+++ b/elf/tst-tunables-enable_secure-env.c
@@ -46,7 +46,7 @@ check_auxv (unsigned long type, char *argv)
 {
   char *endptr;
   errno = 0;
-  unsigned long int varg = strtol (argv, &endptr, 10);
+  unsigned long int varg = strtoul (argv, &endptr, 10);
   TEST_VERIFY_EXIT (errno == 0);
   TEST_VERIFY_EXIT (*endptr == '\0');
   errno = 0;
diff --git a/htl/Makefile b/htl/Makefile
index 4028e5a240..c5d1c473a0 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -145,6 +145,8 @@ libpthread-routines := \
   pt-getcpuclockid \
   pt-setschedprio \
   pt-yield \
+  pt-getname-np \
+  pt-setname-np \
   sem_close \
   sem-destroy \
   sem-getvalue \
diff --git a/htl/Versions b/htl/Versions
index 710051756a..949c1867fe 100644
--- a/htl/Versions
+++ b/htl/Versions
@@ -3,6 +3,16 @@ libc {
   GLIBC_2.12 {
     pthread_self;
     __pthread_self;
+    pthread_attr_getdetachstate;
+    pthread_attr_getinheritsched;
+    pthread_attr_getschedparam;
+    pthread_attr_getschedpolicy;
+    pthread_attr_setdetachstate;
+    pthread_attr_setinheritsched;
+    pthread_attr_setschedpolicy;
+    pthread_equal;
+    pthread_getschedparam;
+    pthread_setschedparam;
   }
 
   GLIBC_2.21 {
@@ -38,6 +48,7 @@ libc {
     __pthread_cleanup_stack;
     __pthread_total;
     ___pthread_self;
+    __pthread_init_thread;
   }
 }
 
@@ -169,6 +180,11 @@ libpthread {
     sem_clockwait;
   }
 
+  GLIBC_2.40 {
+    pthread_getname_np;
+    pthread_setname_np;
+  }
+
   GLIBC_PRIVATE {
     __pthread_initialize_minimal;
 
diff --git a/hurd/hurdfault.c b/hurd/hurdfault.c
index 5110c6030f..1fe973f54d 100644
--- a/hurd/hurdfault.c
+++ b/hurd/hurdfault.c
@@ -121,7 +121,14 @@ faulted (void)
   struct
     {
       mach_msg_header_t head;
-      char buf[64];
+        /* This is the size of the exception_raise request
+         * including mach_msg_header_t.
+         * See generated code in faultexc_server.c.  */
+#ifdef __LP64__
+        char buf[112];
+#else
+        char buf[64];
+#endif
     } request;
   mig_reply_header_t reply;
   extern int _hurdsig_fault_exc_server (mach_msg_header_t *,
diff --git a/hurd/intr-msg.c b/hurd/intr-msg.c
index 2c2e7dc463..424c1fc700 100644
--- a/hurd/intr-msg.c
+++ b/hurd/intr-msg.c
@@ -42,7 +42,10 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg,
   struct clobber
   {
     mach_msg_type_t type;
-    error_t err;
+    union {
+      error_t err;
+      uintptr_t align;
+    };
   };
   union msg
   {
diff --git a/iconv/Makefile b/iconv/Makefile
index 63afc853ff..65b4a44ab8 100644
--- a/iconv/Makefile
+++ b/iconv/Makefile
@@ -57,6 +57,10 @@ tests = \
 	tst-iconv-opt \
 	# tests
 
+test-srcs := \
+	tst-translit-mchar \
+	# test-srcs
+
 others		= iconv_prog iconvconfig
 install-others-programs	= $(inst_bindir)/iconv
 install-sbin	= iconvconfig
@@ -73,6 +77,7 @@ include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left))
 ifeq ($(run-built-tests),yes)
 xtests-special += $(objpfx)test-iconvconfig.out
 tests-special += $(objpfx)tst-iconv_prog.out
+tests-special += $(objpfx)tst-translit-mchar.out
 endif
 
 # Make a copy of the file because gconv module names are constructed
@@ -92,6 +97,8 @@ $(objpfx)tst-gconv-init-failure.out: \
  $(objpfx)gconv-modules $(objpfx)tst-gconv-init-failure-mod.so
 endif
 
+generated-dirs += tst-translit
+
 include ../Rules
 
 ifeq ($(run-built-tests),yes)
@@ -126,3 +133,11 @@ $(objpfx)tst-iconv_prog.out: tst-iconv_prog.sh $(objpfx)iconv_prog
 	$(BASH) $< $(common-objdir) '$(test-wrapper-env)' \
 		 '$(run-program-env)' > $@; \
 	$(evaluate-test)
+
+$(objpfx)tst-translit-mchar.out: tst-translit-mchar.sh \
+			$(objpfx)tst-translit-mchar \
+			tst-translit-locale
+	$(SHELL) $< $(common-objpfx) '$(run-program-prefix-before-env)' \
+		 '$(run-program-env)' '$(run-program-prefix-after-env)' \
+		 $< > $@; \
+	$(evaluate-test)
diff --git a/iconv/gconv_trans.c b/iconv/gconv_trans.c
index 08b7a3f71d..44f0fd849a 100644
--- a/iconv/gconv_trans.c
+++ b/iconv/gconv_trans.c
@@ -150,7 +150,7 @@ __gconv_transliterate (struct __gconv_step *step,
 
 	  /* Nothing found, continue searching.  */
 	}
-      else if (cnt > 0)
+      else if (cnt > 0 && winbuf + cnt == winbufend)
 	/* This means that the input buffer contents matches a prefix of
 	   an entry.  Since we cannot match it unless we get more input,
 	   we will tell the caller about it.  */
diff --git a/iconv/tst-translit-locale b/iconv/tst-translit-locale
new file mode 100644
index 0000000000..712b08628a
--- /dev/null
+++ b/iconv/tst-translit-locale
@@ -0,0 +1,10 @@
+# Test multi-character transliteration rule
+
+LC_CTYPE
+copy "POSIX"
+
+translit_start
+"ÄÄ" "AA"
+translit_end
+
+END LC_CTYPE
diff --git a/iconv/tst-translit-mchar.c b/iconv/tst-translit-mchar.c
new file mode 100644
index 0000000000..7d432ea667
--- /dev/null
+++ b/iconv/tst-translit-mchar.c
@@ -0,0 +1,48 @@
+/* Test multi-character transliterations.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <locale.h>
+#include <iconv.h>
+#include <support/support.h>
+#include <support/check.h>
+
+static int
+do_test (void)
+{
+  iconv_t cd;
+  /* An input sequence that shares a common prefix with a transliteration
+     rule.  */
+  char input[] = "ÄÅ";
+  char *inptr = input;
+  char outbuf[10];
+  char *outptr = outbuf;
+  size_t inlen = sizeof (input), outlen = sizeof (outbuf);
+  size_t n;
+
+  xsetlocale (LC_CTYPE, "tst-translit");
+
+  cd = iconv_open ("ASCII//TRANSLIT", "UTF-8");
+  TEST_VERIFY (cd != (iconv_t) -1);
+
+  /* This call used to loop infinitely.  */
+  n = iconv (cd, &inptr, &inlen, &outptr, &outlen);
+  TEST_VERIFY (iconv_close (cd) == 0);
+  return n == 0;
+}
+
+#include <support/test-driver.c>
diff --git a/iconv/tst-translit-mchar.sh b/iconv/tst-translit-mchar.sh
new file mode 100644
index 0000000000..ab7a7f8729
--- /dev/null
+++ b/iconv/tst-translit-mchar.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+# Testing of multi-character transliterations
+# Copyright (C) 2024 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <https://www.gnu.org/licenses/>.
+
+set -e
+
+common_objpfx=$1
+run_program_prefix_before_env=$2
+run_program_env=$3
+run_program_prefix_after_env=$4
+
+# Generate data files.
+# The locale only defines the LC_CTYPE category, so we expect a failure
+# due to warnings.
+ret=0
+${run_program_prefix_before_env} \
+${run_program_env} \
+I18NPATH=../localedata \
+${run_program_prefix_after_env} ${common_objpfx}locale/localedef \
+--quiet -i tst-translit-locale -f UTF-8 ${common_objpfx}iconv/tst-translit || ret=$?
+if [ $ret -gt 1 ]; then
+  echo "FAIL: Locale compilation for tst-translit-locale failed (error $ret)."
+  exit 1
+fi
+
+set -x
+
+# Run the test.
+${run_program_prefix_before_env} \
+${run_program_env} \
+LOCPATH=${common_objpfx}iconv \
+${run_program_prefix_after_env} ${common_objpfx}iconv/tst-translit-mchar
+
+# Local Variables:
+#  mode:shell-script
+# End:
diff --git a/include/features.h b/include/features.h
index d92503dfed..093de6f44c 100644
--- a/include/features.h
+++ b/include/features.h
@@ -500,7 +500,7 @@
 /* Major and minor version number of the GNU C library package.  Use
    these macros to test for features in specific releases.  */
 #define	__GLIBC__	2
-#define	__GLIBC_MINOR__	39
+#define	__GLIBC_MINOR__	40
 
 #define __GLIBC_PREREQ(maj, min) \
 	((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
diff --git a/include/libc-internal.h b/include/libc-internal.h
index 87ac591835..1ef43ffe67 100644
--- a/include/libc-internal.h
+++ b/include/libc-internal.h
@@ -53,6 +53,9 @@ extern __typeof (__profile_frequency) __profile_frequency attribute_hidden;
    is not for an audit module, not loaded via dlmopen, and not loaded
    via static dlopen either).  */
 extern _Bool __libc_initial attribute_hidden;
+#else
+/* The static libc is always the initial namespace.  */
+# define __libc_initial ((_Bool) 1)
 #endif
 
 #endif /* _LIBC_INTERNAL  */
diff --git a/include/link.h b/include/link.h
index cb0d7d8e2f..5ed445d5a6 100644
--- a/include/link.h
+++ b/include/link.h
@@ -212,6 +212,7 @@ struct link_map
     unsigned int l_find_object_processed:1; /* Zero if _dl_find_object_update
 					       needs to process this
 					       lt_library map.  */
+    unsigned int l_tls_in_slotinfo:1; /* TLS slotinfo updated in dlopen.  */
 
     /* NODELETE status of the map.  Only valid for maps of type
        lt_loaded.  Lazy binding sets l_nodelete_active directly,
diff --git a/inet/Makefile b/inet/Makefile
index 2f03e6f7ee..cb97b45f0f 100644
--- a/inet/Makefile
+++ b/inet/Makefile
@@ -91,6 +91,7 @@ tests := \
   tst-getni1 \
   tst-getni2 \
   tst-if_index-long \
+  tst-if_nameindex \
   tst-inet6_rth \
   tst-network \
   tst-ntoa \
diff --git a/inet/tst-if_nameindex.c b/inet/tst-if_nameindex.c
new file mode 100644
index 0000000000..5b90560124
--- /dev/null
+++ b/inet/tst-if_nameindex.c
@@ -0,0 +1,117 @@
+/* Tests for if_nameindex et al.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <stdlib.h>
+#include <errno.h>
+#include <net/if.h>
+#include <netdb.h>
+#include <string.h>
+#include <support/check.h>
+#include <support/descriptors.h>
+#include <support/support.h>
+
+static char *buffer;
+
+static const char *test_names[] = {
+  "testing",
+  "invalid",
+  "dont-match",
+  "",
+  "\001\001\001\177",
+  NULL
+};
+
+static void
+checki (int i)
+{
+  char *ifname;
+
+  /* Test that a known-invalid index returns NULL.  */
+  /* BUFFER should not be accessed.  */
+
+  printf ("Testing if_indextoname (%d) == NULL\n", i);
+  ifname = if_indextoname (i, NULL);
+  TEST_VERIFY (ifname == NULL);
+  TEST_VERIFY (errno == ENXIO);
+}
+
+static int
+do_test (void)
+{
+  struct if_nameindex *if_ni, *ifp;
+  int min_idx, max_idx, buflen = 0;
+  int i;
+
+  if_ni = if_nameindex ();
+  TEST_VERIFY (if_ni != NULL);
+
+  min_idx = max_idx = if_ni->if_index;
+
+  for (ifp = if_ni; !(ifp->if_index == 0 && ifp->if_name == NULL); ifp++)
+    {
+      printf ("%u: %s\n", ifp->if_index, ifp->if_name);
+      if (ifp->if_index < min_idx)
+	min_idx = ifp->if_index;
+      if (ifp->if_index > max_idx)
+	max_idx = ifp->if_index;
+      if (strlen (ifp->if_name) + 1 > buflen)
+	buflen = strlen (ifp->if_name) + 1;
+    }
+  buffer = (char *) xmalloc (buflen);
+
+  /* Check normal operation.  */
+  for (ifp = if_ni; !(ifp->if_index == 0 && ifp->if_name == NULL); ifp++)
+    {
+      unsigned int idx = if_nametoindex (ifp->if_name);
+      TEST_VERIFY (idx == ifp->if_index);
+
+      char *fn = if_indextoname (ifp->if_index, buffer);
+      TEST_VERIFY (strcmp (fn, ifp->if_name) == 0);
+    }
+
+  for (i=-2; i<min_idx; i++)
+    checki (i);
+  for (i=max_idx+1; i<max_idx+3; i++)
+    checki (i);
+
+  /* Check that a known-invalid name returns 0.  */
+
+  for (i=0; test_names[i] != NULL; i++)
+    {
+      /* Make sure our "invalid" name is really invalid.  */
+      for (ifp = if_ni; !(ifp->if_index == 0 && ifp->if_name == NULL); ifp++)
+	if (strcmp (test_names[i], ifp->if_name) == 0)
+	  goto not_this_one;
+
+      printf ("Testing if_nametoindex (%s) == 0\n", test_names[i]);
+
+      unsigned int idx = if_nametoindex (test_names[i]);
+      TEST_VERIFY (idx == 0);
+      TEST_VERIFY (errno == ENODEV);
+
+    not_this_one:
+      ;
+    }
+
+
+  if_freenameindex (if_ni);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/io/Makefile b/io/Makefile
index 19932d50f7..47666a1deb 100644
--- a/io/Makefile
+++ b/io/Makefile
@@ -188,6 +188,7 @@ tests := \
   tst-closefrom \
   tst-copy_file_range \
   tst-faccessat \
+  tst-fchmod-errors \
   tst-fchmodat \
   tst-fchownat \
   tst-fcntl \
diff --git a/io/bits/statx-generic.h b/io/bits/statx-generic.h
index 30a24765dc..19c3565edc 100644
--- a/io/bits/statx-generic.h
+++ b/io/bits/statx-generic.h
@@ -43,6 +43,7 @@
 # define STATX_MNT_ID 0x1000U
 # define STATX_DIOALIGN 0x2000U
 # define STATX_MNT_ID_UNIQUE 0x4000U
+# define STATX_SUBVOL 0x8000U
 # define STATX__RESERVED 0x80000000U
 
 # define STATX_ATTR_COMPRESSED 0x0004
diff --git a/io/tst-copy_file_range.c b/io/tst-copy_file_range.c
index 9837b7c339..3d7b0aa901 100644
--- a/io/tst-copy_file_range.c
+++ b/io/tst-copy_file_range.c
@@ -117,7 +117,7 @@ simple_file_copy (void)
     TEST_COMPARE (xlseek (outfd, 0, SEEK_CUR), 6 + length);
 
   struct stat64 st;
-  xfstat (outfd, &st);
+  xfstat64 (outfd, &st);
   if (length > 0)
     TEST_COMPARE (st.st_size, out_skipped + length);
   else
diff --git a/io/tst-fchmod-errors.c b/io/tst-fchmod-errors.c
new file mode 100644
index 0000000000..bf2a4c568e
--- /dev/null
+++ b/io/tst-fchmod-errors.c
@@ -0,0 +1,63 @@
+/* Test various fchmod error cases.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <support/check.h>
+#include <support/xunistd.h>
+#include <unistd.h>
+
+static int
+do_test (void)
+{
+  {
+    /* Permissions on /dev/null (the opened descriptor) cannot be changed.  */
+    int fd = xopen ("/dev/null", O_RDWR, 0);
+    if (getuid () == 0)
+      puts ("info: /dev/null fchmod test skipped because of root privileges");
+    else
+      {
+        errno = 0;
+        TEST_COMPARE (fchmod (fd, 0), -1);
+        TEST_COMPARE (errno, EPERM);
+      }
+    xclose (fd);
+
+    /* Now testing an invalid file descriptor.   */
+    errno = 0;
+    TEST_COMPARE (fchmod (fd, 0600), -1);
+    TEST_COMPARE (errno, EBADF);
+  }
+
+  errno = 0;
+  TEST_COMPARE (fchmod (-1, 0600), -1);
+  TEST_COMPARE (errno, EBADF);
+
+  errno = 0;
+  TEST_COMPARE (fchmod (AT_FDCWD, 0600), -1);
+  TEST_COMPARE (errno, EBADF);
+
+  /* Linux supports fchmod on pretty much all file descriptors, so
+     there is no check for failure on specific types of descriptors
+     here.  */
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/io/tst-futimens-time64.c b/io/tst-futimens-time64.c
index 88fcb38489..71204a6166 100644
--- a/io/tst-futimens-time64.c
+++ b/io/tst-futimens-time64.c
@@ -1,2 +1 @@
-#define struct_stat struct stat
 #include "tst-futimens.c"
diff --git a/io/tst-futimens.c b/io/tst-futimens.c
index 6204befedd..075ca42b93 100644
--- a/io/tst-futimens.c
+++ b/io/tst-futimens.c
@@ -18,26 +18,23 @@
 
 #include <support/check.h>
 #include <support/xunistd.h>
+#include <fcntl.h>
 #include <sys/stat.h>
 
-#ifndef struct_stat
-# define struct_stat struct stat64
-#endif
-
 static int
 test_futimens_helper (const char *file, int fd, const struct timespec *ts)
 {
   int result = futimens (fd, ts);
   TEST_VERIFY_EXIT (result == 0);
 
-  struct_stat st;
-  xfstat (fd, &st);
+  struct statx st;
+  xstatx (fd, "", AT_EMPTY_PATH, STATX_BASIC_STATS, &st);
 
   /* Check if seconds for atime match */
-  TEST_COMPARE (st.st_atime, ts[0].tv_sec);
+  TEST_COMPARE (st.stx_atime.tv_sec, ts[0].tv_sec);
 
   /* Check if seconds for mtime match */
-  TEST_COMPARE (st.st_mtime, ts[1].tv_sec);
+  TEST_COMPARE (st.stx_mtime.tv_sec, ts[1].tv_sec);
 
   return 0;
 }
diff --git a/io/tst-futimes-time64.c b/io/tst-futimes-time64.c
index d489c265d1..eeb4bed7c4 100644
--- a/io/tst-futimes-time64.c
+++ b/io/tst-futimes-time64.c
@@ -1,2 +1 @@
-#define struct_stat struct stat
 #include "tst-futimes.c"
diff --git a/io/tst-futimes.c b/io/tst-futimes.c
index d21acf6a24..612fe460cf 100644
--- a/io/tst-futimes.c
+++ b/io/tst-futimes.c
@@ -18,27 +18,24 @@
 
 #include <support/check.h>
 #include <support/xunistd.h>
+#include <fcntl.h>
 #include <sys/stat.h>
 #include <sys/time.h>
 
-#ifndef struct_stat
-# define struct_stat struct stat64
-#endif
-
 static int
 test_futimens_helper (const char *file, int fd, const struct timeval *tv)
 {
   int r = futimes (fd, tv);
   TEST_VERIFY_EXIT (r == 0);
 
-  struct_stat st;
-  xfstat (fd, &st);
+  struct statx st;
+  xstatx (fd, "", AT_EMPTY_PATH, STATX_BASIC_STATS, &st);
 
   /* Check if seconds for atime match */
-  TEST_COMPARE (st.st_atime, tv[0].tv_sec);
+  TEST_COMPARE (st.stx_atime.tv_sec, tv[0].tv_sec);
 
   /* Check if seconds for mtime match */
-  TEST_COMPARE (st.st_mtime, tv[1].tv_sec);
+  TEST_COMPARE (st.stx_mtime.tv_sec, tv[1].tv_sec);
 
   return 0;
 }
diff --git a/io/tst-futimesat-time64.c b/io/tst-futimesat-time64.c
index f6c0500eef..1585317579 100644
--- a/io/tst-futimesat-time64.c
+++ b/io/tst-futimesat-time64.c
@@ -1,4 +1 @@
-#define struct_stat  struct stat
-#define fstat        fstat
-#define fstatat      fstatat
 #include "io/tst-futimesat.c"
diff --git a/io/tst-futimesat.c b/io/tst-futimesat.c
index 67a8551beb..feae4e7aa7 100644
--- a/io/tst-futimesat.c
+++ b/io/tst-futimesat.c
@@ -30,12 +30,6 @@
 #include <support/temp_file.h>
 #include <support/xunistd.h>
 
-#ifndef struct_stat
-# define struct_stat struct stat64
-# define fstat       fstat64
-# define fstatat     fstatat64
-#endif
-
 static int dir_fd;
 
 static void
@@ -118,19 +112,15 @@ do_test (void)
   xwrite (fd, "hello", 5);
   puts ("file created");
 
-  struct_stat st1;
-  if (fstat (fd, &st1) != 0)
-    {
-      puts ("fstat64 failed");
-      return 1;
-    }
+  struct statx st1;
+  xstatx (fd, "", AT_EMPTY_PATH, STATX_BASIC_STATS, &st1);
 
   close (fd);
 
   struct timeval tv[2];
-  tv[0].tv_sec = st1.st_atime + 1;
+  tv[0].tv_sec = st1.stx_atime.tv_sec + 1;
   tv[0].tv_usec = 0;
-  tv[1].tv_sec = st1.st_mtime + 1;
+  tv[1].tv_sec = st1.stx_mtime.tv_sec + 1;
   tv[1].tv_usec = 0;
   if (futimesat (dir_fd, "some-file", tv) != 0)
     {
@@ -138,16 +128,12 @@ do_test (void)
       return 1;
     }
 
-  struct_stat st2;
-  if (fstatat (dir_fd, "some-file", &st2, 0) != 0)
-    {
-      puts ("fstatat64 failed");
-      return 1;
-    }
+  struct statx st2;
+  xstatx (dir_fd, "some-file", 0, STATX_BASIC_STATS, &st2);
 
-  if (st2.st_mtime != tv[1].tv_sec
+  if (st2.stx_mtime.tv_sec != tv[1].tv_sec
 #ifdef _STATBUF_ST_NSEC
-      || st2.st_mtim.tv_nsec != 0
+      || st2.stx_mtime.tv_nsec != 0
 #endif
       )
     {
diff --git a/io/tst-lutimes-time64.c b/io/tst-lutimes-time64.c
index 06caec0a91..c5bea965da 100644
--- a/io/tst-lutimes-time64.c
+++ b/io/tst-lutimes-time64.c
@@ -1,2 +1 @@
-#define struct_stat struct stat
 #include "tst-lutimes.c"
diff --git a/io/tst-lutimes.c b/io/tst-lutimes.c
index edef5ab90e..78bcc58291 100644
--- a/io/tst-lutimes.c
+++ b/io/tst-lutimes.c
@@ -18,34 +18,32 @@
 
 #include <support/check.h>
 #include <support/xunistd.h>
+#include <fcntl.h>
 #include <sys/stat.h>
 #include <sys/time.h>
 
-#ifndef struct_stat
-# define struct_stat struct stat64
-#endif
-
 static int
 test_lutimes_helper (const char *testfile, int fd, const char *testlink,
                      const struct timeval *tv)
 {
-  struct_stat stfile_orig;
-  xlstat (testfile, &stfile_orig);
+  struct statx stfile_orig;
+  xstatx (AT_FDCWD, testfile, AT_SYMLINK_NOFOLLOW, STATX_BASIC_STATS,
+          &stfile_orig);
 
   TEST_VERIFY_EXIT (lutimes (testlink, tv) == 0);
 
-  struct_stat stlink;
-  xlstat (testlink, &stlink);
+  struct statx stlink;
+  xstatx (AT_FDCWD, testlink, AT_SYMLINK_NOFOLLOW, STATX_BASIC_STATS, &stlink);
 
-  TEST_COMPARE (stlink.st_atime, tv[0].tv_sec);
-  TEST_COMPARE (stlink.st_mtime, tv[1].tv_sec);
+  TEST_COMPARE (stlink.stx_atime.tv_sec, tv[0].tv_sec);
+  TEST_COMPARE (stlink.stx_mtime.tv_sec, tv[1].tv_sec);
 
   /* Check if the timestamp from original file is not changed.  */
-  struct_stat stfile;
-  xlstat (testfile, &stfile);
+  struct statx stfile;
+  xstatx (AT_FDCWD, testfile, AT_SYMLINK_NOFOLLOW, STATX_BASIC_STATS, &stfile);
 
-  TEST_COMPARE (stfile_orig.st_atime, stfile.st_atime);
-  TEST_COMPARE (stfile_orig.st_mtime, stfile.st_mtime);
+  TEST_COMPARE (stfile_orig.stx_atime.tv_sec, stfile.stx_atime.tv_sec);
+  TEST_COMPARE (stfile_orig.stx_mtime.tv_sec, stfile.stx_mtime.tv_sec);
 
   return 0;
 }
diff --git a/io/tst-mkdirat.c b/io/tst-mkdirat.c
index 605e51ef1e..b97bc3ca6d 100644
--- a/io/tst-mkdirat.c
+++ b/io/tst-mkdirat.c
@@ -53,6 +53,10 @@ prepare (void)
 static int
 do_test (void)
 {
+  /* Find the current umask.  */
+  mode_t mask = umask (022);
+  umask (mask);
+
   /* fdopendir takes over the descriptor, make a copy.  */
   int dupfd = dup (dir_fd);
   if (dupfd == -1)
@@ -107,6 +111,13 @@ do_test (void)
       puts ("mkdirat did not create a directory");
       return 1;
     }
+  if ((st1.st_mode & 01777) != (~mask & 0777))
+    {
+      printf ("mkdirat created directory with wrong mode %o, expected %o\n",
+	      (unsigned int) (st1.st_mode & 01777),
+	      (unsigned int) (~mask & 0777));
+      return 1;
+    }
 
   dupfd = dup (dir_fd);
   if (dupfd == -1)
@@ -156,6 +167,37 @@ do_test (void)
       return 1;
     }
 
+  /* Test again with a different mode.  */
+  umask (0);
+  e = mkdirat (dir_fd, "some-dir", 01755);
+  umask (mask);
+  if (e == -1)
+    {
+      puts ("directory creation (different mode) failed");
+      return 1;
+    }
+  if (fstatat64 (dir_fd, "some-dir", &st1, 0) != 0)
+    {
+      puts ("fstat64 (different mode) failed");
+      return 1;
+    }
+  if (!S_ISDIR (st1.st_mode))
+    {
+      puts ("mkdirat (different mode) did not create a directory");
+      return 1;
+    }
+  if ((st1.st_mode & 01777) != 01755)
+    {
+      printf ("mkdirat (different mode) created directory with wrong mode %o\n",
+	      (unsigned int) (st1.st_mode & 01777));
+      return 1;
+    }
+  if (unlinkat (dir_fd, "some-dir", AT_REMOVEDIR) != 0)
+    {
+      puts ("unlinkat (different mode) failed");
+      return 1;
+    }
+
   close (dir_fd);
 
   return 0;
diff --git a/io/tst-statx.c b/io/tst-statx.c
index d84568859e..685924ae76 100644
--- a/io/tst-statx.c
+++ b/io/tst-statx.c
@@ -78,7 +78,7 @@ both_implementations_tests (statx_function impl, const char *path, int fd)
     struct statx stx = { 0, };
     TEST_COMPARE (statx (fd, "", AT_EMPTY_PATH, STATX_BASIC_STATS, &stx), 0);
     struct stat64 st;
-    xfstat (fd, &st);
+    xfstat64 (fd, &st);
     TEST_COMPARE (stx.stx_mode, st.st_mode);
     TEST_COMPARE (stx.stx_dev_major, major (st.st_dev));
     TEST_COMPARE (stx.stx_dev_minor, minor (st.st_dev));
@@ -88,7 +88,7 @@ both_implementations_tests (statx_function impl, const char *path, int fd)
     TEST_COMPARE (statx (AT_FDCWD, "/dev/null", 0, STATX_BASIC_STATS, &stx),
                   0);
     struct stat64 st;
-    xstat ("/dev/null", &st);
+    xstat64 ("/dev/null", &st);
     TEST_COMPARE (stx.stx_mode, st.st_mode);
     TEST_COMPARE (stx.stx_dev_major, major (st.st_dev));
     TEST_COMPARE (stx.stx_dev_minor, minor (st.st_dev));
diff --git a/io/tst-utime-time64.c b/io/tst-utime-time64.c
index eb62f59126..8894592a15 100644
--- a/io/tst-utime-time64.c
+++ b/io/tst-utime-time64.c
@@ -1,2 +1 @@
-#define struct_stat struct stat
 #include "tst-utime.c"
diff --git a/io/tst-utime.c b/io/tst-utime.c
index e2e6dcd04c..f329358289 100644
--- a/io/tst-utime.c
+++ b/io/tst-utime.c
@@ -19,26 +19,23 @@
 #include <utime.h>
 #include <support/check.h>
 #include <support/xunistd.h>
+#include <fcntl.h>
 #include <sys/stat.h>
 
-#ifndef struct_stat
-# define struct_stat struct stat64
-#endif
-
 static int
 test_utime_helper (const char *file, int fd, const struct utimbuf *ut)
 {
   int result = utime (file, ut);
   TEST_VERIFY_EXIT (result == 0);
 
-  struct_stat st;
-  xfstat (fd, &st);
+  struct statx st;
+  xstatx (fd, "", AT_EMPTY_PATH, STATX_BASIC_STATS, &st);
 
   /* Check if seconds for actime match */
-  TEST_COMPARE (st.st_atime, ut->actime);
+  TEST_COMPARE (st.stx_atime.tv_sec, ut->actime);
 
   /* Check if seconds for modtime match */
-  TEST_COMPARE (st.st_mtime, ut->modtime);
+  TEST_COMPARE (st.stx_mtime.tv_sec, ut->modtime);
 
   return 0;
 }
diff --git a/io/tst-utimensat-time64.c b/io/tst-utimensat-time64.c
index 7ac7d8df1d..5d60fce881 100644
--- a/io/tst-utimensat-time64.c
+++ b/io/tst-utimensat-time64.c
@@ -1,2 +1 @@
-#define struct_stat struct stat
 #include "tst-utimensat.c"
diff --git a/io/tst-utimensat.c b/io/tst-utimensat.c
index 3d9a72c471..2a756d7b07 100644
--- a/io/tst-utimensat.c
+++ b/io/tst-utimensat.c
@@ -22,10 +22,6 @@
 #include <sys/stat.h>
 #include <sys/time.h>
 
-#ifndef struct_stat
-# define struct_stat struct stat64
-#endif
-
 static int
 test_utimesat_helper (const char *testfile, int fd, const char *testlink,
                       const struct timespec *ts)
@@ -33,35 +29,38 @@ test_utimesat_helper (const char *testfile, int fd, const char *testlink,
   {
     TEST_VERIFY_EXIT (utimensat (fd, testfile, ts, 0) == 0);
 
-    struct_stat st;
-    xfstat (fd, &st);
+    struct statx st;
+    xstatx (fd, "", AT_EMPTY_PATH, STATX_BASIC_STATS, &st);
 
     /* Check if seconds for atime match */
-    TEST_COMPARE (st.st_atime, ts[0].tv_sec);
+    TEST_COMPARE (st.stx_atime.tv_sec, ts[0].tv_sec);
 
     /* Check if seconds for mtime match */
-    TEST_COMPARE (st.st_mtime, ts[1].tv_sec);
+    TEST_COMPARE (st.stx_mtime.tv_sec, ts[1].tv_sec);
   }
 
   {
-    struct_stat stfile_orig;
-    xlstat (testfile, &stfile_orig);
+    struct statx stfile_orig;
+    xstatx (AT_FDCWD, testfile, AT_SYMLINK_NOFOLLOW, STATX_BASIC_STATS,
+	    &stfile_orig);
 
     TEST_VERIFY_EXIT (utimensat (0 /* ignored  */, testlink, ts,
 				 AT_SYMLINK_NOFOLLOW)
 		       == 0);
-    struct_stat stlink;
-    xlstat (testlink, &stlink);
+    struct statx stlink;
+    xstatx (AT_FDCWD, testlink, AT_SYMLINK_NOFOLLOW, STATX_BASIC_STATS,
+	    &stlink);
 
-    TEST_COMPARE (stlink.st_atime, ts[0].tv_sec);
-    TEST_COMPARE (stlink.st_mtime, ts[1].tv_sec);
+    TEST_COMPARE (stlink.stx_atime.tv_sec, ts[0].tv_sec);
+    TEST_COMPARE (stlink.stx_mtime.tv_sec, ts[1].tv_sec);
 
     /* Check if the timestamp from original file is not changed.  */
-    struct_stat stfile;
-    xlstat (testfile, &stfile);
+    struct statx stfile;
+    xstatx (AT_FDCWD, testfile, AT_SYMLINK_NOFOLLOW, STATX_BASIC_STATS,
+	    &stfile);
 
-    TEST_COMPARE (stfile_orig.st_atime, stfile.st_atime);
-    TEST_COMPARE (stfile_orig.st_mtime, stfile.st_mtime);
+    TEST_COMPARE (stfile_orig.stx_atime.tv_sec, stfile.stx_atime.tv_sec);
+    TEST_COMPARE (stfile_orig.stx_mtime.tv_sec, stfile.stx_mtime.tv_sec);
   }
 
   return 0;
diff --git a/io/tst-utimes-time64.c b/io/tst-utimes-time64.c
index 234ec02541..026ef5f78d 100644
--- a/io/tst-utimes-time64.c
+++ b/io/tst-utimes-time64.c
@@ -1,2 +1 @@
-#define struct_stat struct stat
 #include "tst-utimes.c"
diff --git a/io/tst-utimes.c b/io/tst-utimes.c
index 8edcfabebf..6cd436c5a0 100644
--- a/io/tst-utimes.c
+++ b/io/tst-utimes.c
@@ -18,28 +18,25 @@
 
 #include <support/check.h>
 #include <support/xunistd.h>
+#include <fcntl.h>
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <time.h>
 
-#ifndef struct_stat
-# define struct_stat struct stat64
-#endif
-
 static int
 test_utimes_helper (const char *file, int fd, const struct timeval *tv)
 {
   int result = utimes (file, tv);
   TEST_VERIFY_EXIT (result == 0);
 
-  struct_stat st;
-  xfstat (fd, &st);
+  struct statx st;
+  xstatx (fd, "", AT_EMPTY_PATH, STATX_BASIC_STATS, &st);
 
   /* Check if seconds for atime match */
-  TEST_COMPARE (st.st_atime, tv[0].tv_sec);
+  TEST_COMPARE (st.stx_atime.tv_sec, tv[0].tv_sec);
 
   /* Check if seconds for mtime match */
-  TEST_COMPARE (st.st_mtime, tv[1].tv_sec);
+  TEST_COMPARE (st.stx_mtime.tv_sec, tv[1].tv_sec);
 
   return 0;
 }
diff --git a/libio/Makefile b/libio/Makefile
index 8720381fdc..6a507b67ea 100644
--- a/libio/Makefile
+++ b/libio/Makefile
@@ -91,6 +91,7 @@ tests = \
   tst-bz24051 \
   tst-bz24153 \
   tst-bz28828 \
+  tst-closeall \
   tst-eof \
   tst-ext \
   tst-ext2 \
diff --git a/libio/bits/stdio2.h b/libio/bits/stdio2.h
index 91a80dd7c6..4b8bc35bdf 100644
--- a/libio/bits/stdio2.h
+++ b/libio/bits/stdio2.h
@@ -308,14 +308,14 @@ fgets (__fortify_clang_overload_arg (char *, __restrict, __s), int __n,
 			      "fgets called with bigger size than length of "
 			      "destination buffer")
 {
-  size_t sz = __glibc_objsize (__s);
-  if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz))
+  size_t __sz = __glibc_objsize (__s);
+  if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz))
     return __fgets_alias (__s, __n, __stream);
 #if !__fortify_use_clang
-  if (__glibc_unsafe_len (__n, sizeof (char), sz))
-    return __fgets_chk_warn (__s, sz, __n, __stream);
+  if (__glibc_unsafe_len (__n, sizeof (char), __sz))
+    return __fgets_chk_warn (__s, __sz, __n, __stream);
 #endif
-  return __fgets_chk (__s, sz, __n, __stream);
+  return __fgets_chk (__s, __sz, __n, __stream);
 }
 
 __fortify_function __wur __nonnull ((4)) __attribute_overloadable__ size_t
@@ -326,14 +326,14 @@ fread (__fortify_clang_overload_arg (void *, __restrict, __ptr),
 			      "fread called with bigger size * n than length "
 			      "of destination buffer")
 {
-  size_t sz = __glibc_objsize0 (__ptr);
-  if (__glibc_safe_or_unknown_len (__n, __size, sz))
+  size_t __sz = __glibc_objsize0 (__ptr);
+  if (__glibc_safe_or_unknown_len (__n, __size, __sz))
     return __fread_alias (__ptr, __size, __n, __stream);
 #if !__fortify_use_clang
-  if (__glibc_unsafe_len (__n, __size, sz))
-    return __fread_chk_warn (__ptr, sz, __size, __n, __stream);
+  if (__glibc_unsafe_len (__n, __size, __sz))
+    return __fread_chk_warn (__ptr, __sz, __size, __n, __stream);
 #endif
-  return __fread_chk (__ptr, sz, __size, __n, __stream);
+  return __fread_chk (__ptr, __sz, __size, __n, __stream);
 }
 
 #ifdef __USE_GNU
@@ -345,14 +345,14 @@ fgets_unlocked (__fortify_clang_overload_arg (char *, __restrict, __s),
 			      "fgets called with bigger size than length of "
 			      "destination buffer")
 {
-  size_t sz = __glibc_objsize (__s);
-  if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz))
+  size_t __sz = __glibc_objsize (__s);
+  if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz))
     return __fgets_unlocked_alias (__s, __n, __stream);
 #if !__fortify_use_clang
-  if (__glibc_unsafe_len (__n, sizeof (char), sz))
-    return __fgets_unlocked_chk_warn (__s, sz, __n, __stream);
+  if (__glibc_unsafe_len (__n, sizeof (char), __sz))
+    return __fgets_unlocked_chk_warn (__s, __sz, __n, __stream);
 #endif
-  return __fgets_unlocked_chk (__s, sz, __n, __stream);
+  return __fgets_unlocked_chk (__s, __sz, __n, __stream);
 }
 #endif
 
@@ -366,8 +366,8 @@ fread_unlocked (__fortify_clang_overload_arg0 (void *, __restrict, __ptr),
 			      "fread_unlocked called with bigger size * n than "
 			      "length of destination buffer")
 {
-  size_t sz = __glibc_objsize0 (__ptr);
-  if (__glibc_safe_or_unknown_len (__n, __size, sz))
+  size_t __sz = __glibc_objsize0 (__ptr);
+  if (__glibc_safe_or_unknown_len (__n, __size, __sz))
     {
 # ifdef __USE_EXTERN_INLINES
       if (__builtin_constant_p (__size)
@@ -393,10 +393,10 @@ fread_unlocked (__fortify_clang_overload_arg0 (void *, __restrict, __ptr),
       return __fread_unlocked_alias (__ptr, __size, __n, __stream);
     }
 # if !__fortify_use_clang
-  if (__glibc_unsafe_len (__n, __size, sz))
-    return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream);
+  if (__glibc_unsafe_len (__n, __size, __sz))
+    return __fread_unlocked_chk_warn (__ptr, __sz, __size, __n, __stream);
 # endif
-  return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream);
+  return __fread_unlocked_chk (__ptr, __sz, __size, __n, __stream);
 
 }
 #endif
diff --git a/libio/genops.c b/libio/genops.c
index 994ee9c0b1..6f20d49669 100644
--- a/libio/genops.c
+++ b/libio/genops.c
@@ -119,7 +119,8 @@ _IO_link_in (struct _IO_FILE_plus *fp)
       if (_IO_vtable_offset ((FILE *) fp) == 0)
 	{
 	  fp->file._prevchain = (FILE **) &_IO_list_all;
-	  _IO_list_all->file._prevchain = &fp->file._chain;
+	  if (_IO_list_all != NULL)
+	    _IO_list_all->file._prevchain = &fp->file._chain;
 	}
       _IO_list_all = fp;
 #ifdef _IO_MTSAFE_IO
@@ -661,7 +662,7 @@ _IO_sputbackc (FILE *fp, int c)
 {
   int result;
 
-  if (fp->_IO_read_ptr > fp->_IO_read_base
+  if (fp->_IO_read_ptr > fp->_IO_read_base && !_IO_in_backup (fp)
       && (unsigned char)fp->_IO_read_ptr[-1] == (unsigned char)c)
     {
       fp->_IO_read_ptr--;
@@ -815,6 +816,12 @@ _IO_unbuffer_all (void)
 	legacy = 1;
 #endif
 
+      /* Free up the backup area if it was ever allocated.  */
+      if (_IO_have_backup (fp))
+	_IO_free_backup_area (fp);
+      if (!legacy && fp->_mode > 0 && _IO_have_wbackup (fp))
+	_IO_free_wbackup_area (fp);
+
       if (! (fp->_flags & _IO_UNBUFFERED)
 	  /* Iff stream is un-orientated, it wasn't used. */
 	  && (legacy || fp->_mode != 0))
diff --git a/libio/libioP.h b/libio/libioP.h
index 1af287b19f..616253fcd0 100644
--- a/libio/libioP.h
+++ b/libio/libioP.h
@@ -577,8 +577,8 @@ extern void _IO_old_init (FILE *fp, int flags) __THROW;
        ((__fp)->_wide_data->_IO_write_base \
 	= (__fp)->_wide_data->_IO_write_ptr = __p, \
 	(__fp)->_wide_data->_IO_write_end = (__ep))
-#define _IO_have_backup(fp) ((fp)->_IO_save_base != NULL)
-#define _IO_have_wbackup(fp) ((fp)->_wide_data->_IO_save_base != NULL)
+#define _IO_have_backup(fp) ((fp)->_IO_backup_base != NULL)
+#define _IO_have_wbackup(fp) ((fp)->_wide_data->_IO_backup_base != NULL)
 #define _IO_in_backup(fp) ((fp)->_flags & _IO_IN_BACKUP)
 #define _IO_have_markers(fp) ((fp)->_markers != NULL)
 #define _IO_blen(fp) ((fp)->_IO_buf_end - (fp)->_IO_buf_base)
diff --git a/support/support-xfstat-time64.c b/libio/tst-closeall.c
index 589a69bb3e..34f5246490 100644
--- a/support/support-xfstat-time64.c
+++ b/libio/tst-closeall.c
@@ -1,5 +1,5 @@
-/* 64-bit time_t stat with error checking.
-   Copyright (C) 2021-2024 Free Software Foundation, Inc.
+/* Test that opening a file when all files are closed does not crash (bug 31963)
+   Copyright (C) 2024 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,17 +16,19 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-/* NB: Non-standard file name to avoid sysdeps override for xstat.  */
-
 #include <support/check.h>
-#include <support/xunistd.h>
-#include <sys/stat.h>
+#include <support/xstdio.h>
 
-#if __TIMESIZE != 64
-void
-xfstat_time64 (int fd, struct __stat64_t64 *result)
+static int
+do_test (void)
 {
-  if (__fstat64_time64 (fd, result) != 0)
-    FAIL_EXIT1 ("__fstat64_time64 (%d): %m", fd);
+  xfclose (stdin);
+  xfclose (stdout);
+  xfclose (stderr);
+  FILE *f = xfopen ("/dev/null", "w");
+  fprintf (f, "final\n");
+  xfclose (f);
+  return 0;
 }
-#endif
+
+#include <support/test-driver.c>
diff --git a/libio/tst-getdelim.c b/libio/tst-getdelim.c
index e6dd964b49..db15bf9285 100644
--- a/libio/tst-getdelim.c
+++ b/libio/tst-getdelim.c
@@ -1,4 +1,6 @@
-/* Check that getdelim sets error indicator on error (BZ #29917)
+/* Test getdelim conforming to POSIX specifications.
+
+   Note: Most getdelim use cases are covered by stdio-common/tst-getline.
 
    Copyright (C) 2023-2024 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
@@ -18,18 +20,36 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <errno.h>
 
 #include <support/check.h>
+#include <support/support.h>
+#include <support/test-driver.h>
 
 static int
 do_test (void)
 {
+  /* Check that getdelim sets error indicator on error (BZ #29917) */
   clearerr (stdin);
   TEST_VERIFY (getdelim (0, 0, '\n', stdin) == -1);
   TEST_VERIFY (ferror (stdin) != 0);
   TEST_VERIFY (errno == EINVAL);
 
+  /* Test getdelim with NUL as delimiter */
+  verbose_printf ("Testing NUL delimiter\n");
+  char *lineptr = NULL;
+  size_t linelen = 0;
+  char membuf[] = "abc\0d\nef\0";
+  FILE *memstream = fmemopen (membuf, sizeof (membuf), "r");
+  TEST_VERIFY_EXIT (memstream != NULL);
+  TEST_VERIFY (getdelim (&lineptr, &linelen, '\0', memstream) != -1);
+  TEST_COMPARE_BLOB (lineptr, 4, "abc\0", 4);
+  TEST_VERIFY (getdelim (&lineptr, &linelen, '\0', memstream) != -1);
+  TEST_COMPARE_BLOB (lineptr, 5, "d\nef\0", 5);
+  fclose (memstream);
+  free (lineptr);
+
   return 0;
 }
 
diff --git a/locale/tst-localedef-path-norm.c b/locale/tst-localedef-path-norm.c
index ffe8cbd467..f592b9a960 100644
--- a/locale/tst-localedef-path-norm.c
+++ b/locale/tst-localedef-path-norm.c
@@ -84,7 +84,7 @@ run_test (void *closure)
   support_capture_subprocess_free (&result);
 
   /* Verify path is present and is a directory.  */
-  xstat (path, &fs);
+  xstat64 (path, &fs);
   if (!S_ISDIR (fs.st_mode))
     {
       support_record_failure ();
diff --git a/localedata/tst-ctype.c b/localedata/tst-ctype.c
index 9de979a2d7..a23689719c 100644
--- a/localedata/tst-ctype.c
+++ b/localedata/tst-ctype.c
@@ -21,6 +21,8 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <support/check.h>
+
 
 static const char lower[] = "abcdefghijklmnopqrstuvwxyz";
 static const char upper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
@@ -53,19 +55,11 @@ static struct classes
 #define nclasses (sizeof (classes) / sizeof (classes[0]))
 
 
-#define FAIL(str, args...) \
-  {									      \
-    printf ("      " str "\n", ##args);					      \
-    ++errors;								      \
-  }
-
-
 static int
 do_test (void)
 {
   const char *cp;
   const char *cp2;
-  int errors = 0;
   char *inpline = NULL;
   size_t inplinelen = 0;
   char *resline = NULL;
@@ -394,11 +388,8 @@ punct = %04x  alnum = %04x\n",
 	    {
 	      if (((__ctype_b[(unsigned int) *inp] & classes[n].mask) != 0)
 		  != (*resp != '0'))
-		{
-		  printf ("    is%s('%c' = '\\x%02x') %s true\n", inpline,
-			  *inp, *inp, *resp == '1' ? "not" : "is");
-		  ++errors;
-		}
+		FAIL ("    is%s('%c' = '\\x%02x') %s true\n", inpline,
+		      *inp, *inp, *resp == '1' ? "not" : "is");
 	      ++inp;
 	      ++resp;
 	    }
@@ -408,11 +399,8 @@ punct = %04x  alnum = %04x\n",
 	  while (*inp != '\0')
 	    {
 	      if (tolower (*inp) != *resp)
-		{
-		  printf ("    tolower('%c' = '\\x%02x') != '%c'\n",
-			  *inp, *inp, *resp);
-		  ++errors;
-		}
+		FAIL ("    tolower('%c' = '\\x%02x') != '%c'\n",
+		      *inp, *inp, *resp);
 	      ++inp;
 	      ++resp;
 	    }
@@ -422,11 +410,8 @@ punct = %04x  alnum = %04x\n",
 	  while (*inp != '\0')
 	    {
 	      if (toupper (*inp) != *resp)
-		{
-		  printf ("    toupper('%c' = '\\x%02x') != '%c'\n",
-			  *inp, *inp, *resp);
-		  ++errors;
-		}
+		FAIL ("    toupper('%c' = '\\x%02x') != '%c'\n",
+		      *inp, *inp, *resp);
 	      ++inp;
 	      ++resp;
 	    }
@@ -436,14 +421,7 @@ punct = %04x  alnum = %04x\n",
     }
 
 
-  if (errors != 0)
-    {
-      printf ("  %d error%s for `%s' locale\n\n\n", errors,
-	      errors == 1 ? "" : "s", setlocale (LC_ALL, NULL));
-      return 1;
-    }
-
-  printf ("  No errors for `%s' locale\n\n\n", setlocale (LC_ALL, NULL));
+  printf ("Completed testing for `%s' locale\n\n\n", setlocale (LC_ALL, NULL));
   return 0;
 }
 
diff --git a/localedata/tst-localedef-hardlinks.c b/localedata/tst-localedef-hardlinks.c
index e88215a150..23927b462f 100644
--- a/localedata/tst-localedef-hardlinks.c
+++ b/localedata/tst-localedef-hardlinks.c
@@ -62,7 +62,7 @@ check_link (struct test_data step)
   char *output;
 
   output = xasprintf ("%s/%s", support_complocaledir_prefix, step.output);
-  xstat (output, &locale);
+  xstat64 (output, &locale);
   free (output);
   TEST_COMPARE (locale.st_nlink, step.st_nlink);
 }
diff --git a/login/Makefile b/login/Makefile
index 84563230ef..679a69e4d9 100644
--- a/login/Makefile
+++ b/login/Makefile
@@ -23,29 +23,71 @@ subdir	:= login
 
 include ../Makeconfig
 
-headers	:= utmp.h bits/utmp.h lastlog.h pty.h
-
-routines := getlogin getlogin_r setlogin getlogin_r_chk \
-	    getutent getutent_r getutid getutline getutid_r getutline_r \
-	    utmp_file utmpname updwtmp getpt grantpt unlockpt ptsname \
-	    ptsname_r_chk login login_tty logout logwtmp openpty forkpty
+headers := \
+  bits/utmp.h \
+  lastlog.h \
+  pty.h \
+  utmp.h \
+  # headers
+
+routines := \
+  forkpty \
+  getlogin \
+  getlogin_r \
+  getlogin_r_chk \
+  getpt \
+  getutent \
+  getutent_r \
+  getutid \
+  getutid_r \
+  getutline \
+  getutline_r \
+  grantpt \
+  login \
+  login_tty \
+  logout \
+  logwtmp \
+  openpty \
+  ptsname \
+  ptsname_r_chk \
+  setlogin \
+  unlockpt \
+  updwtmp \
+  utmp_file \
+  utmpname \
+  # routines
 
 CFLAGS-grantpt.c += -DLIBEXECDIR='"$(libexecdir)"'
 
 others = utmpdump
 
 ifeq (yes,$(build-pt-chown))
-others += pt_chown
-others-pie = pt_chown
+others += \
+  pt_chown \
+  # others
+others-pie = \
+  pt_chown \
+  # others-pie
 install-others-programs = $(inst_libexecdir)/pt_chown
 endif
 
 subdir-dirs = programs
 vpath %.c programs
 
-tests := tst-utmp tst-utmpx tst-grantpt tst-ptsname tst-getlogin tst-updwtmpx \
-  tst-pututxline-lockfail tst-pututxline-cache tst-utmp-size tst-utmp-size-64 \
-  tst-utmp-unsigned tst-utmp-unsigned-64
+tests := \
+  tst-getlogin \
+  tst-grantpt \
+  tst-ptsname \
+  tst-pututxline-cache \
+  tst-pututxline-lockfail \
+  tst-updwtmpx \
+  tst-utmp \
+  tst-utmp-size \
+  tst-utmp-size-64 \
+  tst-utmp-unsigned \
+  tst-utmp-unsigned-64 \
+  tst-utmpx \
+  # tests
 
 CFLAGS-tst-utmp-size-64.c += -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
 CFLAGS-tst-utmp-unsigned-64.c += -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
diff --git a/malloc/Makefile b/malloc/Makefile
index 02aff1bd1d..1630aaf6ac 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -28,6 +28,8 @@ tests := \
   mallocbug \
   tst-aligned-alloc \
   tst-aligned-alloc-random \
+  tst-aligned-alloc-random-thread \
+  tst-aligned-alloc-random-thread-cross \
   tst-alloc_buffer \
   tst-calloc \
   tst-free-errno \
@@ -151,6 +153,8 @@ ifeq ($(have-GLIBC_2.23)$(build-shared),yesyes)
 # the tests expect specific internal behavior that is changed due to linking to
 # libmcheck.a.
 tests-exclude-mcheck = \
+  tst-aligned-alloc-random-thread \
+  tst-aligned-alloc-random-thread-cross \
   tst-compathooks-off \
   tst-compathooks-on \
   tst-malloc-backtrace \
@@ -415,7 +419,19 @@ $(objpfx)tst-mallocstate: $(objpfx)libc_malloc_debug.so
 $(objpfx)tst-mallocstate-malloc-check: $(objpfx)libc_malloc_debug.so
 
 $(objpfx)tst-aligned-alloc-random.out: $(objpfx)tst-aligned_alloc-lib.so
+$(objpfx)tst-aligned-alloc-random-thread: $(shared-thread-library)
+$(objpfx)tst-aligned-alloc-random-thread-malloc-check: $(shared-thread-library)
+$(objpfx)tst-aligned-alloc-random-thread-malloc-hugetlb1: $(shared-thread-library)
+$(objpfx)tst-aligned-alloc-random-thread-malloc-hugetlb2: $(shared-thread-library)
+$(objpfx)tst-aligned-alloc-random-thread.out: $(objpfx)tst-aligned_alloc-lib.so
+$(objpfx)tst-aligned-alloc-random-thread-cross: $(shared-thread-library)
+$(objpfx)tst-aligned-alloc-random-thread-cross-malloc-check: $(shared-thread-library)
+$(objpfx)tst-aligned-alloc-random-thread-cross-malloc-hugetlb1: $(shared-thread-library)
+$(objpfx)tst-aligned-alloc-random-thread-cross-malloc-hugetlb2: $(shared-thread-library)
+$(objpfx)tst-aligned-alloc-random-thread-cross.out: $(objpfx)tst-aligned_alloc-lib.so
 $(objpfx)tst-malloc-random.out: $(objpfx)tst-aligned_alloc-lib.so
 
 tst-aligned-alloc-random-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so
+tst-aligned-alloc-random-thread-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so
+tst-aligned-alloc-random-thread-cross-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so
 tst-malloc-random-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so
diff --git a/malloc/memusage.c b/malloc/memusage.c
index e8ae80dc74..f80225b95a 100644
--- a/malloc/memusage.c
+++ b/malloc/memusage.c
@@ -172,7 +172,7 @@ update_data (struct header *result, size_t len, size_t old_len)
     start_sp = __thread_stack_pointer ();
 
   uintptr_t sp = __thread_stack_pointer ();
-#ifdef _STACK_GROWS_UP
+#if _STACK_GROWS_UP
   /* This can happen in threads where we didn't catch the thread's
      stack early enough.  */
   if (__glibc_unlikely (sp < start_sp))
diff --git a/malloc/tst-aligned-alloc-random-thread-cross.c b/malloc/tst-aligned-alloc-random-thread-cross.c
new file mode 100644
index 0000000000..360ecc56ee
--- /dev/null
+++ b/malloc/tst-aligned-alloc-random-thread-cross.c
@@ -0,0 +1,19 @@
+/* multi-threaded memory allocation and cross-thread deallocation test.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <https://www.gnu.org/licenses/>.  */
+#define CROSS_THREAD_DEALLOC
+#include "tst-aligned-alloc-random-thread.c"
diff --git a/malloc/tst-aligned-alloc-random-thread.c b/malloc/tst-aligned-alloc-random-thread.c
new file mode 100644
index 0000000000..e95f79250a
--- /dev/null
+++ b/malloc/tst-aligned-alloc-random-thread.c
@@ -0,0 +1,145 @@
+/* multi-threaded memory allocation/deallocation test.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <https://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <support/check.h>
+#include <support/support.h>
+#include <support/xthread.h>
+#include <support/test-driver.h>
+#include <sys/sysinfo.h>
+#include <unistd.h>
+
+#ifndef ITERATIONS
+#  define ITERATIONS 16
+#endif
+
+#ifndef NUM_THREADS
+#  define NUM_THREADS 8
+#endif
+
+#ifndef NUM_ALLOCATIONS
+#  define NUM_ALLOCATIONS 2048
+#endif
+
+static pthread_barrier_t barrier;
+
+__thread unsigned int seed;
+
+typedef struct
+{
+  int id;
+  pthread_t thread;
+} thread;
+
+thread threads[NUM_THREADS];
+
+void *allocations[NUM_THREADS][NUM_ALLOCATIONS];
+
+void
+run_thread_dealloc (int id)
+{
+  for (int i = 0; i < NUM_ALLOCATIONS; i++)
+    {
+      free (allocations[id][i]);
+      allocations[id][i] = NULL;
+    }
+}
+
+void
+run_thread_alloc (int id)
+{
+  size_t msb, size;
+  for (int i = 0; i < NUM_ALLOCATIONS; i++)
+    {
+      msb = 1 << rand_r (&seed) % 16;
+      size = msb + rand_r (&seed) % msb;
+      allocations[id][i] = malloc (size);
+      TEST_VERIFY_EXIT (allocations[id][i] != NULL);
+    }
+}
+
+void *
+run_allocations (void *arg)
+{
+  int id = *((int *) arg);
+  seed = time (NULL) + id;
+
+  /* Stage 1: First half o the threads allocating memory and the second
+   * half waiting for them to finish
+   */
+  if (id < NUM_THREADS / 2)
+    run_thread_alloc (id);
+
+  xpthread_barrier_wait (&barrier);
+
+  /* Stage 2: Half of the threads allocationg memory and the other
+   * half deallocating:
+   * - In the non cross-thread dealloc scenario the first half will be
+   *   deallocating the memory allocated by themselves in stage 1 and the
+   *   second half will be allocating memory.
+   * - In the cross-thread dealloc scenario the first half will continue
+   *   to allocate memory and the second half will deallocate the memory
+   *   allocated by the first half in stage 1.
+   */
+  if (id < NUM_THREADS / 2)
+#ifndef CROSS_THREAD_DEALLOC
+    run_thread_dealloc (id);
+#else
+    run_thread_alloc (id + NUM_THREADS / 2);
+#endif
+  else
+#ifndef CROSS_THREAD_DEALLOC
+    run_thread_alloc (id);
+#else
+    run_thread_dealloc (id - NUM_THREADS / 2);
+#endif
+
+  xpthread_barrier_wait (&barrier);
+
+  // Stage 3: Second half of the threads deallocating and the first half
+  // waiting for them to finish.
+  if (id >= NUM_THREADS / 2)
+    run_thread_dealloc (id);
+
+  return NULL;
+}
+
+static int
+do_test (void)
+{
+  xpthread_barrier_init (&barrier, NULL, NUM_THREADS);
+
+  for (int i = 0; i < ITERATIONS; i++)
+    {
+      for (int t = 0; t < NUM_THREADS; t++)
+	{
+	  threads[t].id = t;
+	  threads[t].thread
+	      = xpthread_create (NULL, run_allocations, &threads[t].id);
+	}
+
+      for (int t = 0; t < NUM_THREADS; t++)
+	xpthread_join (threads[t].thread);
+    }
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/malloc/tst-aligned_alloc-lib.c b/malloc/tst-aligned_alloc-lib.c
index 0205df5acf..9ef1f839c1 100644
--- a/malloc/tst-aligned_alloc-lib.c
+++ b/malloc/tst-aligned_alloc-lib.c
@@ -17,37 +17,38 @@
    License along with the GNU C Library; see the file COPYING.LIB.  If
    not, see <https://www.gnu.org/licenses/>.  */
 
-#include <array_length.h>
 #include <libc-symbols.h>
 #include <stdlib.h>
+#include <time.h>
 
 extern void *__libc_malloc (size_t size);
 extern void *__libc_calloc (size_t n, size_t size);
 
+__thread unsigned int seed = 0;
+
 int aligned_alloc_count = 0;
 int libc_malloc_count = 0;
 int libc_calloc_count = 0;
 
-/* Get a random alignment value.  Biased towards the smaller values.  Must be
-   a power of 2. */
-static size_t get_random_alignment (void)
-{
-  size_t aligns[] = {
-    1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384
-  };
-
-  return aligns[random () % array_length (aligns)];
-}
-
-static void *get_random_alloc (size_t size)
+static void *
+get_random_alloc (size_t size)
 {
   void *retval;
   size_t align;
+  struct timespec tp;
+
+  if (seed == 0)
+    {
+      clock_gettime (CLOCK_REALTIME, &tp);
+      seed = tp.tv_nsec;
+    }
 
-  switch (random() % 3)
-  {
+  switch (rand_r (&seed) % 3)
+    {
     case 1:
-      align = get_random_alignment ();
+      /* Get a random alignment value.  Biased towards the smaller
+       * values up to 16384. Must be a power of 2. */
+      align = 1 << rand_r (&seed) % 15;
       retval = aligned_alloc (align, size);
       aligned_alloc_count++;
       break;
@@ -59,13 +60,13 @@ static void *get_random_alloc (size_t size)
       retval = __libc_malloc (size);
       libc_malloc_count++;
       break;
-  }
+    }
 
   return retval;
 }
 
-
-void * __random_malloc (size_t size)
+void *
+__random_malloc (size_t size)
 {
   return get_random_alloc (size);
 }
diff --git a/manual/Makefile b/manual/Makefile
index b5fda4a7ae..a6c05db540 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -117,6 +117,7 @@ $(objpfx)stamp-pkgvers: $(common-objpfx)config.make
 	  echo "@set PKGVERSION_DEFAULT" >> $(objpfx)pkgvers-tmp; \
 	fi
 	echo "@set REPORT_BUGS_TO $(REPORT_BUGS_TEXI)" >> $(objpfx)pkgvers-tmp
+	echo "@set man_pages_version $(man-pages-version)" >> $(objpfx)pkgvers-tmp; \
 	echo "@end ifclear" >> $(objpfx)pkgvers-tmp
 	$(move-if-change) $(objpfx)pkgvers-tmp $(objpfx)pkgvers.texi
 	touch $@
diff --git a/manual/contrib.texi b/manual/contrib.texi
index 5b2710f0ba..d947166f0f 100644
--- a/manual/contrib.texi
+++ b/manual/contrib.texi
@@ -16,6 +16,9 @@ Nick Alcock for contributing fixes to allow @theglibc{} to be built with the
 stack smashing protector enabled.
 
 @item
+Amrita H. S. for contributions to the PowerPC port.
+
+@item
 John David Anglin for various fixes to the hppa port.
 
 @item
@@ -180,6 +183,9 @@ for ISO 14651, for updating the library Unicode support, and for many
 locale updates and fixes.
 
 @item
+Gabi Falk for various fixes.
+
+@item
 Tulio Magno Quites Machado Filho for adding a new class of installed
 headers for low-level platform-specific functionality, including the
 low-level platform-specific headers for PowerPC, for their maintainership
@@ -224,6 +230,9 @@ Torbj@"orn Granlund for fast implementations of many of the string
 functions (@code{memcpy}, @code{strlen}, etc.).
 
 @item
+Evan Green for work on the RISC-V port.
+
+@item
 Vineet Gupta for their maintainership of the ARC port.
 
 @item
@@ -349,7 +358,7 @@ Hongjiu Lu for providing the support for a Linux 32-bit runtime
 environment under x86-64 (x32), for porting to Linux on IA64, for
 improved string functions, a framework for testing IFUNC
 implementations, for implementing Intel Control-Flow Enforcement
-Technology, and many bug fixes.
+Technology, many x86-64 improvements, and many bug fixes.
 
 @item
 Rafa@l{} Lu@dotaccent{z}y@'nski
@@ -370,6 +379,9 @@ function and writing the @file{tar.h} header.
 Lukasz Majewski for Y2038 related fixes.
 
 @item
+Manjunath Matti for contributions to the PowerPC port.
+
+@item
 Greg McGary for adding runtime support for bounds checking.
 
 @item
@@ -382,6 +394,9 @@ fixes and reviewing of contributions.
 Allan McRae for various fixes.
 
 @item
+Meng Qinggang for contributions to the LoongArch port.
+
+@item
 Jason Merrill for the port to the Sequent Symmetry running Dynix
 version 3 (@code{i386-sequent-bsd}).
 
@@ -439,7 +454,7 @@ and his direction as FSF Project Steward for @theglibc{}.
 Marko Myllynen for various fixes.
 
 @item
-Szabolcs Nagy for various fixes and contributions to AArch64.
+Szabolcs Nagy for many fixes and contributions to AArch64.
 
 @item
 Nab for various fixes.
@@ -461,12 +476,15 @@ safety documentation in the manual, for his direction as FSF Project
 Maintainer and for various fixes.
 
 @item
-Sunil K. Pandey for various fixes.
+Sunil K. Pandey for many fixes.
 
 @item
 Ronan Pigott for various fixes.
 
 @item
+Andrew Pinski for contributions to the AArch64 port.
+
+@item
 Paul Pluzhnikov for various fixes.
 
 @item
@@ -605,7 +623,7 @@ fixes.
 Mark Wielaard for various fixes.
 
 @item
-Xi Ruoyao for various fixes.
+Xi Ruoyao for various fixes and work on the loongarch port.
 
 @item
 Qixing ksyx Xue for various fixes.
@@ -617,12 +635,18 @@ Adam Yi for various fixes.
 Eric Youngdale for implementing versioning of objects on the symbol level.
 
 @item
+YunQiang Su for work on the MIPS port.
+
+@item
 Adhemerval Zanella for optimized functions on PowerPC, ISO C threads support,
-the work on tunables, and numerous contributions and fixes.
+the work on tunables, fortify improvements, and numerous contributions and fixes.
 
 @item
 Xuelei Zhang for optimized functions on AArch64.
 
+@item
+Junxian Zhu for work on the MIPS port.
+
 @end itemize
 
 Some code in @theglibc{} comes from other projects and might be under
diff --git a/manual/dynlink.texi b/manual/dynlink.texi
index 03565d4fb0..1500a53de6 100644
--- a/manual/dynlink.texi
+++ b/manual/dynlink.texi
@@ -993,21 +993,21 @@ The dynamic segment should also mention @code{BIND_NOW} on the
 enough).
 
 @item
-For shared objects (not main programs), if the program header has a
-@code{PT_TLS} segment, the dynamic segment (as shown by @samp{readelf
--dW}) should contain the @code{STATIC_TLS} flag on the @code{FLAGS}
-line.
-
-If @code{STATIC_TLS} is missing in shared objects, ensure that the
-appropriate relocations for GNU2 TLS descriptors are used (for example,
+Ensure that only static TLS relocations (thread-pointer relative offset
+locations) are used, for example @code{R_AARCH64_TLS_TPREL} and
+@code{X86_64_TPOFF64}.  As the second-best option, and only if
+compatibility with non-hardened applications using @code{dlopen} is
+needed, GNU2 TLS descriptor relocations can be used (for example,
 @code{R_AARCH64_TLSDESC} or @code{R_X86_64_TLSDESC}).
 
 @item
-There should not be a reference to the symbols @code{__tls_get_addr},
-@code{__tls_get_offset}, @code{__tls_get_addr_opt} in the dynamic symbol
-table (in the @samp{readelf -sDW} output).  Thread-local storage must be
-accessed using the initial-exec (static) model, or using GNU2 TLS
-descriptors.
+There should not be references to the traditional TLS function symbols
+@code{__tls_get_addr}, @code{__tls_get_offset},
+@code{__tls_get_addr_opt} in the dynamic symbol table (in the
+@samp{readelf -sDW} output).  Supporting global dynamic TLS relocations
+(such as @code{R_AARCH64_TLS_DTPMOD}, @code{R_AARCH64_TLS_DTPREL},
+@code{R_X86_64_DTPMOD64}, @code{R_X86_64_DTPOFF64}) should not be used,
+either.
 
 @item
 Likewise, the functions @code{dlopen}, @code{dlmopen}, @code{dlclose}
diff --git a/manual/filesys.texi b/manual/filesys.texi
index 47d929744e..aabb68385b 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -15,6 +15,7 @@ access permissions and modification times.
 @menu
 * Working Directory::           This is used to resolve relative
 				 file names.
+* Descriptor-Relative Access::  Ways to control file name lookup.
 * Accessing Directories::       Finding out what files a directory
 				 contains.
 * Working with Directory Trees:: Apply actions to all files or a selectable
@@ -206,6 +207,151 @@ An I/O error occurred.
 @end table
 @end deftypefun
 
+@node Descriptor-Relative Access
+@section Descriptor-Relative Access
+@cindex file name resolution based on descriptors
+@cindex descriptor-based file name resolution
+@cindex @code{@dots{}at} functions
+
+Many functions that accept file names have @code{@dots{}at} variants
+which accept a file descriptor and a file name argument instead of just
+a file name argument.  For example, @code{fstatat} is the
+descriptor-based variant of the @code{fstat} function.  Most such
+functions also accept an additional flags argument which changes the
+behavior of the file name lookup based on the passed @code{AT_@dots{}}
+flags.
+
+There are several reasons to use descriptor-relative access:
+
+@itemize @bullet
+@item
+The working directory is a process-wide resource, so individual threads
+cannot change it without affecting other threads in the process.
+Explicitly specifying the directory against which relative paths are
+resolved can be a thread-safe alternative to changing the working
+directory.
+
+@item
+If a program wishes to access a directory tree which is being modified
+concurrently, perhaps even by a different user on the system, the
+program must avoid looking up file names with multiple components, in
+order to detect symbolic links, using the @code{O_NOFOLLOW} flag
+(@pxref{Open-time Flags}) or the @code{AT_SYMLINK_FOLLOW} flag
+(described below).  Without directory-relative access, it is necessary
+to use the @code{fchdir} function to change the working directory
+(@pxref{Working Directory}), which is not thread-safe.
+
+@item
+Listing directory contents using the @code{readdir} or @code{readdir64}
+functions (@pxref{Reading/Closing Directory}) does not provide full file
+name paths.  Using @code{@dots{}at} functions, it is possible to use the
+file names directly, without having to construct such full paths.
+
+@item
+Additional flags available with some of the @code{@dots{}at} functions
+provide access to functionality which is not available otherwise.
+@end itemize
+
+The file descriptor used by these @code{@dots{}at} functions has the
+following uses:
+
+@itemize @bullet
+@item
+It can be a file descriptor referring to a directory.  Such a descriptor
+can be created explicitly using the @code{open} function and the
+@code{O_RDONLY} file access mode, with or without the @code{O_DIRECTORY}
+flag.  @xref{Opening and Closing Files}.  Or it can be created
+implicitly by @code{opendir} and retrieved using the @code{dirfd}
+function.  @xref{Opening a Directory}.
+
+If a directory descriptor is used with one of the @code{@dots{}at}
+functions, a relative file name argument is resolved relative to
+directory referred to by the file descriptor, just as if that directory
+were the current working directory.  Absolute file name arguments
+(starting with @samp{/}) are resolved against the file system root, and
+the descriptor argument is effectively ignored.
+
+This means that file name lookup is not constrained to the directory of
+the descriptor.  For example, it is possible to access a file
+@file{example} in the descriptor's parent directory using a file name
+argument @code{"../example"}, or in the root directory using
+@code{"/example"}.
+
+If the file descriptor refers to a directory, the empty string @code{""}
+is not a valid file name argument.  It is possible to use @code{"."} to
+refer to the directory itself.  Also see @code{AT_EMPTY_PATH} below.
+
+@item
+@vindex @code{AT_FDCWD}
+The special value @code{AT_FDCWD}.  This means that the current working
+directory is used for the lookup if the file name is a relative.  For
+@code{@dots{}at} functions with an @code{AT_@dots{}} flags argument,
+this provides a shortcut to use those flags with regular (not
+descriptor-based) file name lookups.
+
+If @code{AT_FDCWD} is used, the empty string @code{""} is not a valid
+file name argument.
+
+@item
+An arbitrary file descriptor, along with an empty string @code{""} as
+the file name argument, and the @code{AT_EMPTY_PATH} flag.  In this
+case, the operation uses the file descriptor directly, without further
+file name resolution.  On Linux, this allows operations on descriptors
+opened with the @code{O_PATH} flag.  For regular descriptors (opened
+without @code{O_PATH}), the same functionality is also available through
+the plain descriptor-based functions (for example, @code{fstat} instead
+of @code{fstatat}).
+
+This is a GNU extension.
+@end itemize
+
+@cindex file name resolution flags
+@cindex @code{AT_*} file name resolution flags
+The flags argument in @code{@dots{}at} functions can be a combination of
+the following flags, defined in @file{fcntl.h}.  Not all such functions
+support all flags, and some (such as @code{openat}) do not accept a
+flags argument at all.
+
+In the flag descriptions below, the @dfn{effective final path component}
+refers to the final component (basename) of the full path constructed
+from the descriptor and file name arguments, using file name lookup, as
+described above.
+
+@vtable @code
+@item AT_EMPTY_PATH
+This flag is used with an empty file name @code{""} and a descriptor
+which does not necessarily refer to a directory.  It is most useful with
+@code{O_PATH} descriptors, as described above.  This flag is a GNU
+extension.
+
+@item AT_NO_AUTOMOUNT
+If the effective final path component refers to a potential file system
+mount point controlled by an auto-mounting service, the operation does
+not trigger auto-mounting and refers to the unmounted mount point
+instead.  @xref{Mount-Unmount-Remount}.  If a file system has already
+been mounted at the effective final path component, the operation
+applies to the file or directory in the mounted file system, not the
+underlying file system that was mounted over.  This flag is a GNU
+extension.
+
+@item AT_SYMLINK_FOLLOW
+If the effective final path component is a symbolic link, the
+operation follows the symbolic link and operates on its target.  (For
+most functions, this is the default behavior.)
+
+@item AT_SYMLINK_NOFOLLOW
+If the effective final path component is a symbolic link, the
+operation operates on the symbolic link, without following it.  The
+difference in behavior enabled by this flag is similar to the difference
+between the @code{lstat} and @code{stat} functions, or the behavior
+activated by the @code{O_NOFOLLOW} argument to the @code{open} function.
+Even with the @code{AT_SYMLINK_NOFOLLOW} flag present, symbolic links in
+a non-final component of the file name are still followed.
+@end vtable
+
+@strong{Note:} There is no relationship between these flags and the type
+argument to the @code{getauxval} function (with @code{AT_@dots{}}
+constants defined in @file{elf.h}).  @xref{Auxiliary Vector}.
 
 @node Accessing Directories
 @section Accessing Directories
@@ -1250,10 +1396,11 @@ A hardware error occurred while trying to read or write the to filesystem.
 
 The @code{linkat} function is analogous to the @code{link} function,
 except that it identifies its source and target using a combination of a
-file descriptor (referring to a directory) and a pathname.  If a
-pathnames is not absolute, it is resolved relative to the corresponding
-file descriptor.  The special file descriptor @code{AT_FDCWD} denotes
-the current directory.
+file descriptor (referring to a directory) and a file name.
+@xref{Descriptor-Relative Access}.  For @code{linkat}, if a file name is
+not absolute, it is resolved relative to the corresponding file
+descriptor.  As usual, the special value @code{AT_FDCWD} denotes the
+current directory.
 
 The @var{flags} argument is a combination of the following flags:
 
@@ -2091,9 +2238,44 @@ function is available under the name @code{fstat} and so transparently
 replaces the interface for small files on 32-bit machines.
 @end deftypefun
 
-@c fstatat will call alloca and snprintf if the syscall is not
-@c available.
-@c @safety{@mtsafe{}@asunsafe{@ascuheap{}}@acunsafe{@acsmem{}}}
+@deftypefun int fstatat (int @var{filedes}, const char *@var{filename}, struct stat *@var{buf}, int @var{flags})
+@standards{POSIX.1, sys/stat.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+This function is a descriptor-relative version of the @code{fstat}
+function above.  @xref{Descriptor-Relative Access}.  The @var{flags}
+argument can contain a combination of the flags @code{AT_EMPTY_PATH},
+@code{AT_NO_AUTOMOUNT}, @code{AT_SYMLINK_NOFOLLOW}.
+
+Compared to @code{fstat}, the following additional error conditions can
+occur:
+
+@table @code
+@item EBADF
+The @var{filedes} argument is not a valid file descriptor.
+
+@item EINVAL
+The @var{flags} argument is not valid for this function.
+
+@item ENOTDIR
+The descriptor @var{filedes} is not associated with a directory, and
+@var{filename} is a relative file name.
+@end table
+
+When the sources are compiled with @code{_FILE_OFFSET_BITS == 64} this
+function is in fact @code{fstatat64} since the LFS interface transparently
+replaces the normal implementation.
+@end deftypefun
+
+@deftypefun int fstatat64 (int @var{filedes}, const char *@var{filename}, struct stat64 *@var{buf}, int @var{flags})
+@standards{GNU, sys/stat.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+This function is the large-file variant of @code{fstatat}, similar to
+how @code{fstat64} is the variant of @code{fstat}.
+
+When the sources are compiled with @code{_FILE_OFFSET_BITS == 64} this
+function is available under the name @code{fstatat} and so transparently
+replaces the interface for small files on 32-bit machines.
+@end deftypefun
 
 @deftypefun int lstat (const char *@var{filename}, struct stat *@var{buf})
 @standards{BSD, sys/stat.h}
diff --git a/manual/install.texi b/manual/install.texi
index a7847b02c0..3e68a3d823 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -527,7 +527,7 @@ GCC 6.2 or newer
 GCC 6.2 or higher is required.  In general it is recommended to use
 the newest version of the compiler that is known to work for building
 @theglibc{}, as newer compilers usually produce better code.  As of
-release time, GCC 13.2 is the newest compiler verified to work to build
+release time, GCC 14.1 is the newest compiler verified to work to build
 @theglibc{}.
 
 For PowerPC 64-bits little-endian (powerpc64le), a GCC version with support
@@ -582,7 +582,7 @@ To correctly translate and install the Texinfo documentation you need
 this version of the @code{texinfo} package.  Earlier versions do not
 understand all the tags used in the document, and the installation
 mechanism for the info files is not present or works differently.
-As of release time, @code{texinfo} 7.0.3 is the newest verified to work
+As of release time, @code{texinfo} 7.1 is the newest verified to work
 to build @theglibc{}.
 
 @item
@@ -591,7 +591,7 @@ GNU @code{awk} 3.1.2, or higher
 @code{awk} is used in several places to generate files.
 Some @code{gawk} extensions are used, including the @code{asorti}
 function, which was introduced in version 3.1.2 of @code{gawk}.
-As of release time, @code{gawk} version 5.2.2 is the newest verified
+As of release time, @code{gawk} version 5.3.0 is the newest verified
 to work to build @theglibc{}.
 
 @item
@@ -606,7 +606,7 @@ Perl 5
 
 Perl is not required, but if present it is used in some tests and the
 @code{mtrace} program, to build the @glibcadj{} manual.  As of release
-time @code{perl} version 5.38.2 is the newest verified to work to
+time @code{perl} version 5.40.0 is the newest verified to work to
 build @theglibc{}.
 
 @item
@@ -620,7 +620,7 @@ with any version of @code{sed}.  As of release time, @code{sed} version
 Python 3.4 or later
 
 Python is required to build @theglibc{}.  As of release time, Python
-3.11 is the newest verified to work for building and testing
+3.12 is the newest verified to work for building and testing
 @theglibc{}.
 
 @item PExpect 4.0
@@ -628,7 +628,7 @@ Python is required to build @theglibc{}.  As of release time, Python
 The pretty printer tests drive GDB through test programs and compare
 its output to the printers'.  PExpect is used to capture the output of
 GDB, and should be compatible with the Python version in your system.
-As of release time PExpect 4.8.0 is the newest verified to work to test
+As of release time PExpect 4.9.0 is the newest verified to work to test
 the pretty printers.
 
 @item
@@ -646,7 +646,7 @@ GDB itself needs to be configured with Python support in order to use
 the pretty printers.  Notice that your system having Python available
 doesn't imply that GDB supports it, nor that your system's Python and
 GDB's have the same version.  As of release time GNU @code{debugger}
-13.2 is the newest verified to work to test the pretty printers.
+14.2 is the newest verified to work to test the pretty printers.
 
 Unless Python, PExpect and GDB with Python support are present, the
 printer tests will report themselves as @code{UNSUPPORTED}.  Notice
@@ -669,7 +669,7 @@ and if you change any of the message translation files you will need
 @item
 GNU @code{gettext} 0.10.36 or later
 
-As of release time, GNU @code{gettext} version 0.21.1 is the newest
+As of release time, GNU @code{gettext} version 0.22.4 is the newest
 version verified to work to build @theglibc{}.
 @end itemize
 
@@ -721,7 +721,7 @@ if you configure @theglibc{} with @samp{--prefix=/usr}.  If you set some other
 prefix or allow it to default to @file{/usr/local}, then all the
 components are installed there.
 
-As of release time, Linux version 6.1.5 is the newest stable version verified
+As of release time, Linux version 6.6 is the newest stable version verified
 to work to build @theglibc{}.
 
 @node Reporting Bugs
diff --git a/manual/intro.texi b/manual/intro.texi
index ff43c5a7fb..879c1b38d9 100644
--- a/manual/intro.texi
+++ b/manual/intro.texi
@@ -85,6 +85,7 @@ standards each function or symbol comes from.
 * Berkeley Unix::               BSD and SunOS.
 * SVID::                        The System V Interface Description.
 * XPG::                         The X/Open Portability Guide.
+* Linux Kernel::                The Linux kernel.
 @end menu
 
 @node ISO C, POSIX,  , Standards and Portability
@@ -941,7 +942,7 @@ inter-process communication and shared memory, the @code{hsearch} and
 @code{drand48} families of functions, @code{fmtmsg} and several of the
 mathematical functions.
 
-@node XPG, , SVID, Standards and Portability
+@node XPG, Linux Kernel, SVID, Standards and Portability
 @subsection XPG (The X/Open Portability Guide)
 
 The X/Open Portability Guide, published by the X/Open Company, Ltd., is
@@ -960,6 +961,20 @@ fulfilling the XPG standard with the Unix extensions is a
 precondition for getting the Unix brand chances are good that the
 functionality is available on commercial systems.
 
+@node Linux Kernel, , XPG, Standards and Portability
+@subsection Linux (The Linux Kernel)
+
+@Theglibc{} includes by reference the Linux man-pages
+@value{man_pages_version} documentation to document the listed
+syscalls for the Linux kernel. For reference purposes only the latest
+@uref{https://www.kernel.org/doc/man-pages/,Linux man-pages Project}
+documentation can be accessed from the
+@uref{https://www.kernel.org,Linux kernel} website.  Where the syscall
+has more specific documentation in this manual that more specific
+documentation is considered authoritative.
+
+Additional details on the Linux system call interface can be found in
+@xref{System Calls}.
 
 @node Using the Library, Roadmap to the Manual, Standards and Portability, Introduction
 @section Using the Library
diff --git a/manual/llio.texi b/manual/llio.texi
index 78c7c79913..a035c3e20f 100644
--- a/manual/llio.texi
+++ b/manual/llio.texi
@@ -65,6 +65,7 @@ directly.)
 * Interrupt Input::                     Getting an asynchronous signal when
                                          input arrives.
 * IOCTLs::                              Generic I/O Control operations.
+* Other Low-Level I/O APIs::            Other low-level-I/O-related functions.
 @end menu
 
 
@@ -180,6 +181,43 @@ new, extended API using 64 bit file sizes and offsets transparently
 replaces the old API.
 @end deftypefun
 
+@deftypefun int openat (int @var{filedes}, const char *@var{filename}, int @var{flags}[, mode_t @var{mode}])
+@standards{POSIX.1, fcntl.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{@acsfd{}}}
+This function is the descriptor-relative variant of the @code{open}
+function.  @xref{Descriptor-Relative Access}.
+
+Note that the @var{flags} argument of @code{openat} does not accept
+@code{AT_@dots{}} flags, only the flags described for the @code{open}
+function above.
+
+The @code{openat} function can fail for additional reasons:
+
+@table @code
+@item EBADF
+The @var{filedes} argument is not a valid file descriptor.
+
+@item ENOTDIR
+The descriptor @var{filedes} is not associated with a directory, and
+@var{filename} is a relative file name.
+@end table
+
+When the sources are compiled with @code{_FILE_OFFSET_BITS == 64} this
+function is in fact @code{openat64} since the LFS interface transparently
+replaces the normal implementation.
+@end deftypefun
+
+@deftypefun int openat64 (int @var{filedes}, const char *@var{filename}, int @var{flags}[, mode_t @var{mode}])
+@standards{GNU, fcntl.h}
+The large-file variant of the @code{openat}, similar to how
+@code{open64} is the large-file variant of @code{open}.
+
+When the sources are translated with @code{_FILE_OFFSET_BITS == 64} this
+function is actually available under the name @code{openat}.  I.e., the
+new, extended API using 64 bit file sizes and offsets transparently
+replaces the old API.
+@end deftypefun
+
 @deftypefn {Obsolete function} int creat (const char *@var{filename}, mode_t @var{mode})
 @standards{POSIX.1, fcntl.h}
 @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{@acsfd{}}}
@@ -1891,7 +1929,7 @@ There is no existing mapping in at least part of the given region.
 
 @end deftypefun
 
-@deftypefun {void *} mremap (void *@var{address}, size_t @var{length}, size_t @var{new_length}, int @var{flag})
+@deftypefun {void *} mremap (void *@var{address}, size_t @var{length}, size_t @var{new_length}, int @var{flag}, ... /* void *@var{new_address} */)
 @standards{GNU, sys/mman.h}
 @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
 
@@ -1900,12 +1938,40 @@ area. @var{address} and @var{length} must cover a region entirely mapped
 in the same @code{mmap} statement.  A new mapping with the same
 characteristics will be returned with the length @var{new_length}.
 
-One option is possible, @code{MREMAP_MAYMOVE}.  If it is given in
-@var{flags}, the system may remove the existing mapping and create a new
-one of the desired length in another location.
+Possible flags are
 
-The address of the resulting mapping is returned, or @math{-1}.  Possible
-error codes include:
+@table @code
+
+@item MREMAP_MAYMOVE
+If it is given in @var{flags}, the system may remove the existing mapping
+and create a new one of the desired length in another location.
+
+@item MREMAP_FIXED
+If it is given in @var{flags}, @code{mremap} accepts a fifth argument,
+@code{void *new_address}, which specifies a page-aligned address to
+which the mapping must be moved.  Any previous mapping at the address
+range specified by @var{new_address} and @var{new_size} is unmapped.
+
+@code{MREMAP_FIXED} must be used together with @code{MREMAP_MAYMOVE}.
+
+@item MREMAP_DONTUNMAP
+If it is given in @var{flags}, @code{mremap} accepts a fifth argument,
+@code{void *new_address}, which specifies a page-aligned address.  Any
+previous mapping at the address range specified by @var{new_address} and
+@var{new_size} is unmapped.  If @var{new_address} is @code{NULL}, the
+kernel chooses the page-aligned address at which to create the mapping.
+Otherwise, the kernel takes it as a hint about where to place the mapping.
+The mapping at the address range specified by @var{old_address} and
+@var{old_size} isn't unmapped.
+
+@code{MREMAP_DONTUNMAP} must be used together with @code{MREMAP_MAYMOVE}.
+@var{old_size} must be the same as @var{new_size}.  This flag bit is
+Linux-specific.
+
+@end table
+
+The address of the resulting mapping is returned, or @code{MAP_FAILED}.
+Possible error codes include:
 
 @table @code
 
@@ -1914,7 +1980,7 @@ There is no existing mapping in at least part of the original region, or
 the region covers two or more distinct mappings.
 
 @item EINVAL
-The address given is misaligned or inappropriate.
+Any arguments are inappropriate, including unknown @var{flags} values.
 
 @item EAGAIN
 The region has pages locked, and if extended it would exceed the
@@ -2324,6 +2390,8 @@ file descriptor, or until the timeout period expires.
 There is another example showing the use of @code{select} to multiplex
 input from multiple sockets in @ref{Server Example}.
 
+For an alternate interface to this functionality, see @code{poll}
+(@pxref{Other Low-Level I/O APIs}).
 
 @node Synchronizing I/O
 @section Synchronizing I/O operations
@@ -3407,7 +3475,9 @@ require additional arguments to be supplied.  These additional arguments
 and the return value and error conditions are given in the detailed
 descriptions of the individual commands.
 
-Briefly, here is a list of what the various commands are.
+Briefly, here is a list of what the various commands are.  For an
+exhaustive list of kernel-specific options, please see @xref{System
+Calls}.
 
 @vtable @code
 @item F_DUPFD
@@ -3774,7 +3844,9 @@ contains it is still needed), and permissions are checked when the
 descriptor is used later on.
 
 For example, such descriptors can be used with the @code{fexecve}
-function (@pxref{Executing a File}).
+function (@pxref{Executing a File}).  Other applications involve the
+@samp{*at} function variants, along with the @code{AT_EMPTY_PATH} flag.
+@xref{Descriptor-Relative Access}.
 
 This access mode is specific to Linux.  On @gnuhurdsystems{}, it is
 possible to use @code{O_EXEC} explicitly, or specify no access modes
@@ -4743,5 +4815,28 @@ Most IOCTLs are OS-specific and/or only used in special system utilities,
 and are thus beyond the scope of this document.  For an example of the use
 of an IOCTL, see @ref{Out-of-Band Data}.
 
-@c FIXME this is undocumented:
-@c dup3
+@node Other Low-Level I/O APIs
+@section Other low-level-I/O-related functions
+
+@deftp {Data Type} {struct pollfd}
+@standards{POSIX.1,poll.h}
+@end deftp
+
+@deftp {Data Type} {struct epoll_event}
+@standards{Linux,sys/epoll.h}
+@end deftp
+
+@deftypefun int poll (struct pollfd *@var{fds}, nfds_t @var{nfds}, int @var{timeout})
+
+@manpagefunctionstub{poll,2}
+@end deftypefun
+
+@deftypefun int epoll_create(int @var{size})
+
+@manpagefunctionstub{epoll_create,2}
+@end deftypefun
+
+@deftypefun int epoll_wait(int @var{epfd}, struct epoll_event *@var{events}, int @var{maxevents}, int @var{timeout})
+
+@manpagefunctionstub{epoll_wait,2}
+@end deftypefun
diff --git a/manual/macros.texi b/manual/macros.texi
index 4a2e22f473..579da3fb81 100644
--- a/manual/macros.texi
+++ b/manual/macros.texi
@@ -282,4 +282,11 @@ cwd\comments\
 @macro standardsx {element, standard, header}
 @end macro
 
+@macro manpagefunctionstub {func,sec}
+This documentation is a stub.  For additional information on this
+function, consult the manual page
+@url{https://man7.org/linux/man-pages/man\sec\/\func\.\sec\.html}.
+@xref{Linux Kernel}.
+@end macro
+
 @end ifclear
diff --git a/manual/resource.texi b/manual/resource.texi
index c9b21dedeb..25966bcb64 100644
--- a/manual/resource.texi
+++ b/manual/resource.texi
@@ -192,8 +192,8 @@ If the sources are compiled with @code{_FILE_OFFSET_BITS == 64} on a
 @standards{BSD, sys/resource.h}
 @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
 @c Direct syscall on most systems; lock-taking critical section on HURD.
-Store the current and maximum limits for the resource @var{resource}
-in @code{*@var{rlp}}.
+Change the current and maximum limits of the process for the resource
+@var{resource} to the values provided in @code{*@var{rlp}}.
 
 The return value is @code{0} on success and @code{-1} on failure.  The
 following @code{errno} error condition is possible:
diff --git a/manual/socket.texi b/manual/socket.texi
index f0e35d9e13..8708cbb07c 100644
--- a/manual/socket.texi
+++ b/manual/socket.texi
@@ -41,6 +41,7 @@ aren't documented either so far.
 			   is to make it work with Inetd.
 * Socket Options::	Miscellaneous low-level socket options.
 * Networks Database::   Accessing the database of network names.
+* Other Socket APIs::   Other socket-related functions.
 @end menu
 
 @node Socket Concepts
@@ -3134,38 +3135,8 @@ You can use plain @code{recv} (@pxref{Receiving Data}) instead of
 treat all possible senders alike).  Even @code{read} can be used if
 you don't want to specify @var{flags} (@pxref{I/O Primitives}).
 
-@ignore
-@c sendmsg and recvmsg are like readv and writev in that they
-@c use a series of buffers.  It's not clear this is worth
-@c supporting or that we support them.
-@c !!! they can do more; it is hairy
-
-@deftp {Data Type} {struct msghdr}
-@standards{BSD, sys/socket.h}
-@end deftp
-
-@deftypefun ssize_t sendmsg (int @var{socket}, const struct msghdr *@var{message}, int @var{flags})
-@standards{BSD, sys/socket.h}
-@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
-
-This function is defined as a cancellation point in multi-threaded
-programs, so one has to be prepared for this and make sure that
-allocated resources (like memory, files descriptors, semaphores or
-whatever) are freed even if the thread is cancel.
-@c @xref{pthread_cleanup_push}, for a method how to do this.
-@end deftypefun
-
-@deftypefun ssize_t recvmsg (int @var{socket}, struct msghdr *@var{message}, int @var{flags})
-@standards{BSD, sys/socket.h}
-@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
-
-This function is defined as a cancellation point in multi-threaded
-programs, so one has to be prepared for this and make sure that
-allocated resources (like memory, files descriptors, semaphores or
-whatever) are freed even if the thread is canceled.
-@c @xref{pthread_cleanup_push}, for a method how to do this.
-@end deftypefun
-@end ignore
+If you need more flexibility and/or control over sending and receiving
+packets, see @code{sendmsg} and @code{recvmsg} (@pxref{Other Socket APIs}).
 
 @node Datagram Example
 @subsection Datagram Socket Example
@@ -3664,3 +3635,20 @@ returns a null pointer if there are no more entries.
 @c  libc_lock_unlock @aculock
 This function closes the networks database.
 @end deftypefun
+
+@node Other Socket APIs
+@section Other Socket APIs
+
+@deftp {Data Type} {struct msghdr}
+@standards{BSD, sys/socket.h}
+@end deftp
+
+@deftypefun ssize_t sendmsg (int @var{socket}, const struct msghdr *@var{message}, int @var{flags})
+
+@manpagefunctionstub{sendmsg,2}
+@end deftypefun
+
+@deftypefun ssize_t recvmsg (int @var{socket}, struct msghdr *@var{message}, int @var{flags})
+
+@manpagefunctionstub{recvmsg,2}
+@end deftypefun
diff --git a/manual/startup.texi b/manual/startup.texi
index 224dd98c1e..8ac3b97eed 100644
--- a/manual/startup.texi
+++ b/manual/startup.texi
@@ -664,8 +664,12 @@ basis there may be information that is not available any other way.
 This function is used to inquire about the entries in the auxiliary
 vector.  The @var{type} argument should be one of the @samp{AT_} symbols
 defined in @file{elf.h}.  If a matching entry is found, the value is
-returned; if the entry is not found, zero is returned and @code{errno} is
-set to @code{ENOENT}.
+returned; if the entry is not found, zero is returned and @code{errno}
+is set to @code{ENOENT}.
+
+@strong{Note:} There is no relationship between the @samp{AT_} contants
+defined in @file{elf.h} and the file name lookup flags in
+@file{fcntl.h}.  @xref{Descriptor-Relative Access}.
 @end deftypefun
 
 For some platforms, the key @code{AT_HWCAP} is the easiest way to inquire
@@ -689,7 +693,25 @@ you don't need to know about it because you can just use @theglibc{}'s
 @code{chmod} function.
 
 @cindex kernel call
-System calls are sometimes called kernel calls.
+System calls are sometimes called syscalls or kernel calls, and this
+interface is mostly a purely mechanical translation from the kernel's
+ABI to the C ABI. For the set of syscalls where we do not guarantee
+POSIX Thread cancellation the wrappers only organize the incoming
+arguments from the C calling convention to the calling convention of
+the target kernel. For the set of syscalls where we provided POSIX
+Thread cancellation the wrappers set some internal state in the
+library to support cancellation, but this does not impact the
+behaviour of the syscall provided by the kernel.
+
+In some cases, if @theglibc{} detects that a system call has been
+superseded by a more capable one, the wrapper may map the old call to
+the new one.  For example, @code{dup2} is implemented via @code{dup3}
+by passing an additional empty flags argument, and @code{open} calls
+@code{openat} passing the additional @code{AT_FDCWD}.  Sometimes even
+more is done, such as converting between 32-bit and 64-bit time
+values.  In general, though, such processing is only to make the
+system call better match the C ABI, rather than change its
+functionality.
 
 However, there are times when you want to make a system call explicitly,
 and for that, @theglibc{} provides the @code{syscall} function.
@@ -711,6 +733,8 @@ we won't describe it here either because anyone who is coding
 library source code as a specification of the interface between them
 anyway.
 
+@code{syscall} does not provide cancellation logic, even if the system
+call you're calling is listed as cancellable above.
 
 @code{syscall} is declared in @file{unistd.h}.
 
diff --git a/manual/stdio.texi b/manual/stdio.texi
index f5e289d58a..29888a361f 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -903,21 +903,17 @@ This function is a GNU extension.
 @deftypefun int putc (int @var{c}, FILE *@var{stream})
 @standards{ISO, stdio.h}
 @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}}
-This is just like @code{fputc}, except that most systems implement it as
-a macro, making it faster.  One consequence is that it may evaluate the
-@var{stream} argument more than once, which is an exception to the
-general rule for macros.  @code{putc} is usually the best function to
-use for writing a single character.
+This is just like @code{fputc}, except that it may be implemented as
+a macro and may evaluate the @var{stream} argument more than once.
+Therefore, @var{stream} should never be an expression with side-effects.
 @end deftypefun
 
 @deftypefun wint_t putwc (wchar_t @var{wc}, FILE *@var{stream})
 @standards{ISO, wchar.h}
 @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}}
-This is just like @code{fputwc}, except that it can be implement as
-a macro, making it faster.  One consequence is that it may evaluate the
-@var{stream} argument more than once, which is an exception to the
-general rule for macros.  @code{putwc} is usually the best function to
-use for writing a single wide character.
+This is just like @code{fputwc}, except that it may be implemented as
+a macro and may evaluate the @var{stream} argument more than once.
+Therefore, @var{stream} should never be an expression with side-effects.
 @end deftypefun
 
 @deftypefun int putc_unlocked (int @var{c}, FILE *@var{stream})
@@ -1110,20 +1106,17 @@ This function is a GNU extension.
 @deftypefun int getc (FILE *@var{stream})
 @standards{ISO, stdio.h}
 @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@aculock{} @acucorrupt{}}}
-This is just like @code{fgetc}, except that it is permissible (and
-typical) for it to be implemented as a macro that evaluates the
-@var{stream} argument more than once.  @code{getc} is often highly
-optimized, so it is usually the best function to use to read a single
-character.
+This is just like @code{fgetc}, except that it may be implemented as
+a macro and may evaluate the @var{stream} argument more than once.
+Therefore, @var{stream} should never be an expression with side-effects.
 @end deftypefun
 
 @deftypefun wint_t getwc (FILE *@var{stream})
 @standards{ISO, wchar.h}
 @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@aculock{} @acucorrupt{}}}
-This is just like @code{fgetwc}, except that it is permissible for it to
-be implemented as a macro that evaluates the @var{stream} argument more
-than once.  @code{getwc} can be highly optimized, so it is usually the
-best function to use to read a single wide character.
+This is just like @code{fgetwc}, except that it may be implemented as
+a macro and may evaluate the @var{stream} argument more than once.
+Therefore, @var{stream} should never be an expression with side-effects.
 @end deftypefun
 
 @deftypefun int getc_unlocked (FILE *@var{stream})
@@ -1474,11 +1467,9 @@ program; usually @code{ungetc} is used only to unread a character that
 was just read from the same stream.  @Theglibc{} supports this
 even on files opened in binary mode, but other systems might not.
 
-@Theglibc{} only supports one character of pushback---in other
-words, it does not work to call @code{ungetc} twice without doing input
-in between.  Other systems might let you push back multiple characters;
-then reading from the stream retrieves the characters in the reverse
-order that they were pushed.
+@Theglibc{} supports pushing back multiple characters; subsequently
+reading from the stream retrieves the characters in the reverse order
+that they were pushed.
 
 Pushing back characters doesn't alter the file; only the internal
 buffering for the stream is affected.  If a file positioning function
@@ -2363,6 +2354,29 @@ the easiest way to make sure you have all the right prototypes is to
 just include @file{stdio.h}.
 @pindex stdio.h
 
+The @code{printf} family shares the error codes listed below.
+Individual functions may report additional @code{errno} values if they
+fail.
+
+@table @code
+@item EOVERFLOW
+The number of written bytes would have exceeded @code{INT_MAX}, and thus
+could not be represented in the return type @code{int}.
+
+@item ENOMEM
+The function could not allocate memory during processing.  Long argument
+lists and certain floating point conversions may require memory
+allocation, as does initialization of an output stream upon first use.
+
+@item EILSEQ
+POSIX specifies this error code should be used if a wide character is
+encountered that does not have a matching valid character.  @Theglibc{}
+always performs transliteration, using a replacement character if
+necessary, so this error condition cannot occur on output.  However,
+@theglibc{} uses @code{EILSEQ} to indicate that an input character
+sequence (wide or multi-byte) could not be converted successfully.
+@end table
+
 @deftypefun int printf (const char *@var{template}, @dots{})
 @standards{ISO, stdio.h}
 @safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{}}@acunsafe{@acsmem{} @aculock{} @acucorrupt{}}}
@@ -2509,6 +2523,26 @@ store the result in which case @code{-1} is returned.  This was
 changed in order to comply with the @w{ISO C99} standard.
 @end deftypefun
 
+@deftypefun dprintf (int @var{fd}, @var{template}, ...)
+@standards{POSIX, stdio.h}
+@safety{@mtsafe{@mtslocale{}}@asunsafe{@ascuheap{}}@acunsafe{@acsmem{}}}
+This function formats its arguments according to @var{template} and
+writes the result to the file descriptor @var{fd}, using the
+@code{write} function.  It returns the number of bytes written, or a
+negative value if there was an error.  In the error case, @code{errno}
+is set appropriately.  The possible @code{errno} values depend on the
+type of the file descriptor @var{fd}, in addition to the general
+@code{printf} error codes.
+
+The number of calls to @code{write} is unspecified, and some @code{write}
+calls may have happened even if @code{dprintf} returns with an error.
+
+@strong{Portability Note:} POSIX does not require that this function is
+async-signal-safe, and @theglibc{} implementation is not.  However, some
+other systems offer this function as an async-signal-safe alternative to
+@code{fprintf}.  @xref{POSIX Safety Concepts}.
+@end deftypefun
+
 @node Dynamic Output
 @subsection Dynamically Allocating Formatted Output
 
@@ -2722,6 +2756,13 @@ The @code{obstack_vprintf} function is the equivalent of
 as for @code{vprintf}.
 @end deftypefun
 
+@deftypefun int vdprintf (int @var{fd}, const char *@var{template}, va_list @var{ap})
+@standards{POSIX, stdio.h}
+@safety{@mtsafe{@mtslocale{}}@asunsafe{@ascuheap{}}@acunsafe{@acsmem{}}}
+The @code{vdprintf} is the equivalent of @code{dprintf}, but processes
+an argument list.
+@end deftypefun
+
 Here's an example showing how you might use @code{vfprintf}.  This is a
 function that prints error messages to the stream @code{stderr}, along
 with a prefix indicating the name of the program
diff --git a/manual/threads.texi b/manual/threads.texi
index e5544ff3da..25e99c9606 100644
--- a/manual/threads.texi
+++ b/manual/threads.texi
@@ -1007,8 +1007,12 @@ This variable is either zero (if restartable sequence registration
 failed or has been disabled) or the size of the restartable sequence
 registration.  This can be different from the size of @code{struct rseq}
 if the kernel has extended the size of the registration.  If
-registration is successful, @code{__rseq_size} is at least 32 (the
-initial size of @code{struct rseq}).
+registration is successful, @code{__rseq_size} is at least 20 (the
+initially active size of @code{struct rseq}).
+
+Previous versions of @theglibc{} set this to 32 even if the kernel only
+supported the initial area of 20 bytes because the value included unused
+padding at the end of the restartable sequence area.
 @end deftypevar
 
 @deftypevar {unsigned int} __rseq_flags
diff --git a/math/Makefile b/math/Makefile
index f06d370383..b64c3eedd5 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -1077,6 +1077,7 @@ CFLAGS-test-flt-eval-method.c += -fexcess-precision=standard
 CFLAGS-test-fe-snans-always-signal.c += $(config-cflags-signaling-nans)
 
 CFLAGS-test-nan-const.c += -fno-builtin
+CFLAGS-test-nan-payload.c += -fno-builtin
 
 CFLAGS-test-ceil-except-2.c += -fno-builtin
 CFLAGS-test-floor-except-2.c += -fno-builtin
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 8f0c3d87bb..b570e88e78 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -5348,6 +5348,30 @@ exp10m1 0x1p-16384
 exp10m1 -0x1p-128
 exp10m1 -0x1p-1024
 exp10m1 -0x1p-16384
+# the next values yield large errors on x86_64 for binary32
+exp10m1 0x1.e4fb5ap-2
+exp10m1 0x1.cc3352p-2
+exp10m1 0x1.c8a6e6p-2
+exp10m1 -0x1.c03a7ep-8
+# the next values yield large errors on x86_64 for binary64
+exp10m1 0x1.e880c5bafbd41p-2
+exp10m1 0x1.ce521eafe0f21p-2
+exp10m1 0x1.ce21fffa5aed8p-2
+exp10m1 -0x1.bcb951df89248p-15
+# the next values yield large errors on x86_64 for intel96
+exp10m1 0x2.6882b807049f54ap-4
+exp10m1 -0x6.f6469fc524a1de1p-12
+exp10m1 0x2.cf6c5a8ec5919c0cp-4
+exp10m1 0x2.d08614068c3c5514p-4
+exp10m1 0x2.c7fd02fd98797bf4p-4
+exp10m1 -0x6.f36b2669aee2d2e8p-12
+exp10m1 0x2.c83d897086a4e644p-4
+exp10m1 0x2.b47fd78c73d7fa7cp-4
+# the next values yield large errors on x86_64 for binary128
+exp10m1 0xb.2ee9062818e91afe8e80fae1818p-4
+exp10m1 0xb.2e822db54f357c3f65ad743758bp-4
+exp10m1 0xb.2edd92a794cbc6f81f5f4f82c14p-4
+exp10m1 0xb.2eca344f0d4f0af54bdbd5974858p-4
 
 exp2 0
 exp2 -0
@@ -5553,6 +5577,30 @@ exp2m1 0x1p-16381
 exp2m1 -0x1p-125
 exp2m1 -0x1p-1021
 exp2m1 -0x1p-16381
+# the next values yield large errors on x86_64 for binary32
+exp2m1 0x1.9cac28p-1
+exp2m1 -0x1.715546p-15
+exp2m1 0x1.fffffep-1
+exp2m1 -0x1.720d9ap-8
+# the next values yield large errors on x86_64 for binary64
+exp2m1 0x1.d047583a6c6dp-1
+exp2m1 0x1.fff7be96c5276p-1
+exp2m1 -0x1.715bd8586d057p-12
+exp2m1 0x1.ffffb5c6996fp-1
+# the next values yield large errors on x86_64 for intel96
+exp2m1 0x9.58009dd25960a7bp-4
+exp2m1 -0x1.7159454d13d4e3fap-12
+exp2m1 0x9.5a4e825121e5782p-4
+exp2m1 0x9.3e34e79efaa18cfp-4
+exp2m1 0x9.3754a635820f937p-4
+exp2m1 -0x1.71573dd150de9ccap-8
+exp2m1 0x9.3d27303441ac81fp-4
+exp2m1 0x8.fe7f91d947a1cfdp-4
+# the next values yield large errors on x86_64 for binary128
+exp2m1 0x9.1217d12087d76b2ca347683e4b5p-4
+exp2m1 0x8.80db492a604297e1a3816aeec568p-4
+exp2m1 0x8.872e307510a80e501665a37c218p-4
+exp2m1 0x9.10b9251f0cc9bdc81d6ab13bb74p-4
 
 expm1 0
 expm1 -0 no-mathvec
@@ -6833,6 +6881,30 @@ log10p1 -0x4.f37d3c9ce0b14bdd86eb157df5d4p-4
 log10p1 0x7.2eca50c4d93196362b4f37f6e8dcp-4
 log10p1 -0x6.3fef3067427e43dfcde9e48f74bcp-4
 log10p1 0x6.af53d00fd2845d4772260ef5adc4p-4
+# the next values generate large errors on x86_64 for binary32
+log10p1 0x1.ce84ep+0
+log10p1 -0x1.c9bc9cp-3
+log10p1 0x1.3b8ad4p+106
+log10p1 -0x1.2611b2p-8
+# the next values generate large errors on x86_64 for binary64
+log10p1 -0x1.4c2971893052fp-1
+log10p1 -0x1.000196a3d9e18p-2
+log10p1 -0x1.26975ba3e6553p-43
+log10p1 0x1.00d67bdd93083p+53
+# the next values generate large errors on x86_64 for intel96
+log10p1 0x4.a486e7fa771f839p-4
+log10p1 0x4.f974ef417a9fe778p-4
+log10p1 0x5.006dfbf1945a6648p-4
+log10p1 0x4.f6e989b93bb1cd78p-4
+log10p1 0x4.ab40181dbc47cdfp-4
+log10p1 0x5.2876604a22752338p-4
+log10p1 0x4.a422197a61a14128p-4
+log10p1 0x5.48bb2c181e72e838p-4
+# the next values generate large errors on x86_64 for binary128
+log10p1 -0x6.eec527c6a8d6e31ca9f0dcdd747cp-4
+log10p1 0xc.42dd6485aeceeca7f23b39ad0518p-4
+log10p1 0xa.78451e366c2303f4f67b1178e628p-4
+log10p1 -0x6.fe3adf062a38696216fa72657104p-4
 
 log1p 0
 log1p -0 no-mathvec
@@ -6955,6 +7027,30 @@ log2p1 0x1p100
 log2p1 0x1p1000
 log2p1 0x6.a0cf42befce9ed4085ef59254b48p-4
 log2p1 max
+# the following inputs yield large errors on x86_64 for binary32
+log2p1 0x1.a69b4ap-2
+log2p1 -0x1.2516d6p-2
+log2p1 -0x1.5ffeaep-15
+log2p1 0x1.fa9f4cp+63
+# the following inputs yield large errors on x86_64 for binary64
+log2p1 0x1.a7b725780ff2cp-2
+log2p1 -0x1.2bcacac1db278p-2
+log2p1 -0x1.61d589bf42045p-30
+log2p1 0x1.f7b1d1fa54e5ep+1023
+# the following inputs yield large errors on x86_64 for intel96
+log2p1 0x5.dda3a1f4c4020ebp-4
+log2p1 0x4.a90a8d35a43eef98p-4
+log2p1 0x4.cd0c83636c3eec48p-4
+log2p1 0x4.a438707de6d1ba58p-4
+log2p1 0x5.843d01be597f38fp-4
+log2p1 0x4.a4fa45b26be621b8p-4
+log2p1 0x5.86a6205c56dda348p-4
+log2p1 0x4.a45c98a3ade2dcb8p-4
+# the following inputs yield large errors on x86_64 for binary128
+log2p1 -0x7.fff3a57fdd2666bcecba33bd89f4p-4
+log2p1 0xf.ffea148f0646fb70b8e8c4dae998p-4
+log2p1 -0x7.ffdfd0a8ad0496b2ee0e1c8e382cp-4
+log2p1 0x6.a9a5ea3f87fe4bc20f7a0e83cf2cp-4
 
 log2p1 0x7.2a4368p-4
 log2p1 0x6.d3a118p-4
diff --git a/math/auto-libm-test-out-exp10m1 b/math/auto-libm-test-out-exp10m1
index 8e7d321ecb..dc0f89ecda 100644
--- a/math/auto-libm-test-out-exp10m1
+++ b/math/auto-libm-test-out-exp10m1
@@ -4489,3 +4489,1783 @@ exp10m1 -0x1p-16384
 = exp10m1 tonearest binary128 -0x1p-16384 : -0x2.4d763776aaa2b05ba95b58ae0b4cp-16384 : inexact-ok underflow errno-erange-ok
 = exp10m1 towardzero binary128 -0x1p-16384 : -0x2.4d763776aaa2b05ba95b58ae0b4cp-16384 : inexact-ok underflow errno-erange-ok
 = exp10m1 upward binary128 -0x1p-16384 : -0x2.4d763776aaa2b05ba95b58ae0b4cp-16384 : inexact-ok underflow errno-erange-ok
+exp10m1 0x1.e4fb5ap-2
+= exp10m1 downward binary32 0x7.93ed68p-4 : 0x1.f9d31ep+0 : inexact-ok
+= exp10m1 tonearest binary32 0x7.93ed68p-4 : 0x1.f9d32p+0 : inexact-ok
+= exp10m1 towardzero binary32 0x7.93ed68p-4 : 0x1.f9d31ep+0 : inexact-ok
+= exp10m1 upward binary32 0x7.93ed68p-4 : 0x1.f9d32p+0 : inexact-ok
+= exp10m1 downward binary64 0x7.93ed68p-4 : 0x1.f9d31f17a3cfcp+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.93ed68p-4 : 0x1.f9d31f17a3cfcp+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.93ed68p-4 : 0x1.f9d31f17a3cfcp+0 : inexact-ok
+= exp10m1 upward binary64 0x7.93ed68p-4 : 0x1.f9d31f17a3cfdp+0 : inexact-ok
+= exp10m1 downward intel96 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21cp+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21ep+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21cp+0 : inexact-ok
+= exp10m1 upward intel96 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21ep+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21cp+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21ep+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21cp+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21ep+0 : inexact-ok
+= exp10m1 downward binary128 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21d5b38a404bc83p+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21d5b38a404bc83p+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21d5b38a404bc83p+0 : inexact-ok
+= exp10m1 upward binary128 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21d5b38a404bc84p+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21d5b38a404bc8p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21d5b38a404bc8p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21d5b38a404bc8p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.93ed68p-4 : 0x1.f9d31f17a3cfc21d5b38a404bdp+0 : inexact-ok
+exp10m1 0x1.cc3352p-2
+= exp10m1 downward binary32 0x7.30cd48p-4 : 0x1.d088b4p+0 : inexact-ok
+= exp10m1 tonearest binary32 0x7.30cd48p-4 : 0x1.d088b6p+0 : inexact-ok
+= exp10m1 towardzero binary32 0x7.30cd48p-4 : 0x1.d088b4p+0 : inexact-ok
+= exp10m1 upward binary32 0x7.30cd48p-4 : 0x1.d088b6p+0 : inexact-ok
+= exp10m1 downward binary64 0x7.30cd48p-4 : 0x1.d088b5178a43bp+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.30cd48p-4 : 0x1.d088b5178a43bp+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.30cd48p-4 : 0x1.d088b5178a43bp+0 : inexact-ok
+= exp10m1 upward binary64 0x7.30cd48p-4 : 0x1.d088b5178a43cp+0 : inexact-ok
+= exp10m1 downward intel96 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2p+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2p+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2p+0 : inexact-ok
+= exp10m1 upward intel96 0x7.30cd48p-4 : 0x1.d088b5178a43b4b4p+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2p+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.30cd48p-4 : 0x1.d088b5178a43b4b4p+0 : inexact-ok
+= exp10m1 downward binary128 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2c75b6ca196a1p+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2c75b6ca196a1p+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2c75b6ca196a1p+0 : inexact-ok
+= exp10m1 upward binary128 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2c75b6ca196a2p+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2c75b6ca1968p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2c75b6ca1968p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2c75b6ca1968p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.30cd48p-4 : 0x1.d088b5178a43b4b2c75b6ca197p+0 : inexact-ok
+exp10m1 0x1.c8a6e6p-2
+= exp10m1 downward binary32 0x7.229b98p-4 : 0x1.cacebap+0 : inexact-ok
+= exp10m1 tonearest binary32 0x7.229b98p-4 : 0x1.cacebcp+0 : inexact-ok
+= exp10m1 towardzero binary32 0x7.229b98p-4 : 0x1.cacebap+0 : inexact-ok
+= exp10m1 upward binary32 0x7.229b98p-4 : 0x1.cacebcp+0 : inexact-ok
+= exp10m1 downward binary64 0x7.229b98p-4 : 0x1.cacebbbd63af6p+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.229b98p-4 : 0x1.cacebbbd63af6p+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.229b98p-4 : 0x1.cacebbbd63af6p+0 : inexact-ok
+= exp10m1 upward binary64 0x7.229b98p-4 : 0x1.cacebbbd63af7p+0 : inexact-ok
+= exp10m1 downward intel96 0x7.229b98p-4 : 0x1.cacebbbd63af67f8p+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.229b98p-4 : 0x1.cacebbbd63af67fap+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.229b98p-4 : 0x1.cacebbbd63af67f8p+0 : inexact-ok
+= exp10m1 upward intel96 0x7.229b98p-4 : 0x1.cacebbbd63af67fap+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.229b98p-4 : 0x1.cacebbbd63af67f8p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.229b98p-4 : 0x1.cacebbbd63af67fap+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.229b98p-4 : 0x1.cacebbbd63af67f8p+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.229b98p-4 : 0x1.cacebbbd63af67fap+0 : inexact-ok
+= exp10m1 downward binary128 0x7.229b98p-4 : 0x1.cacebbbd63af67f9d352dcb78f3ap+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.229b98p-4 : 0x1.cacebbbd63af67f9d352dcb78f3bp+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.229b98p-4 : 0x1.cacebbbd63af67f9d352dcb78f3ap+0 : inexact-ok
+= exp10m1 upward binary128 0x7.229b98p-4 : 0x1.cacebbbd63af67f9d352dcb78f3bp+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.229b98p-4 : 0x1.cacebbbd63af67f9d352dcb78fp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.229b98p-4 : 0x1.cacebbbd63af67f9d352dcb78fp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.229b98p-4 : 0x1.cacebbbd63af67f9d352dcb78fp+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.229b98p-4 : 0x1.cacebbbd63af67f9d352dcb78f8p+0 : inexact-ok
+exp10m1 -0x1.c03a7ep-8
+= exp10m1 downward binary32 -0x1.c03a7ep-8 : -0x3.fffffcp-8 : inexact-ok
+= exp10m1 tonearest binary32 -0x1.c03a7ep-8 : -0x3.fffff8p-8 : inexact-ok
+= exp10m1 towardzero binary32 -0x1.c03a7ep-8 : -0x3.fffff8p-8 : inexact-ok
+= exp10m1 upward binary32 -0x1.c03a7ep-8 : -0x3.fffff8p-8 : inexact-ok
+= exp10m1 downward binary64 -0x1.c03a7ep-8 : -0x3.fffff9ec4667p-8 : inexact-ok
+= exp10m1 tonearest binary64 -0x1.c03a7ep-8 : -0x3.fffff9ec4667p-8 : inexact-ok
+= exp10m1 towardzero binary64 -0x1.c03a7ep-8 : -0x3.fffff9ec4666ep-8 : inexact-ok
+= exp10m1 upward binary64 -0x1.c03a7ep-8 : -0x3.fffff9ec4666ep-8 : inexact-ok
+= exp10m1 downward intel96 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f87p-8 : inexact-ok
+= exp10m1 tonearest intel96 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86cp-8 : inexact-ok
+= exp10m1 towardzero intel96 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86cp-8 : inexact-ok
+= exp10m1 upward intel96 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86cp-8 : inexact-ok
+= exp10m1 downward m68k96 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f87p-8 : inexact-ok
+= exp10m1 tonearest m68k96 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86cp-8 : inexact-ok
+= exp10m1 towardzero m68k96 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86cp-8 : inexact-ok
+= exp10m1 upward m68k96 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86cp-8 : inexact-ok
+= exp10m1 downward binary128 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86dcd353ddd472p-8 : inexact-ok
+= exp10m1 tonearest binary128 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86dcd353ddd471ep-8 : inexact-ok
+= exp10m1 towardzero binary128 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86dcd353ddd471ep-8 : inexact-ok
+= exp10m1 upward binary128 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86dcd353ddd471ep-8 : inexact-ok
+= exp10m1 downward ibm128 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86dcd353ddd48p-8 : inexact-ok
+= exp10m1 tonearest ibm128 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86dcd353ddd47p-8 : inexact-ok
+= exp10m1 towardzero ibm128 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86dcd353ddd47p-8 : inexact-ok
+= exp10m1 upward ibm128 -0x1.c03a7ep-8 : -0x3.fffff9ec4666f86dcd353ddd47p-8 : inexact-ok
+exp10m1 0x1.e880c5bafbd41p-2
+= exp10m1 downward binary32 0x7.a20318p-4 : 0x1.ffe16ep+0 : inexact-ok
+= exp10m1 tonearest binary32 0x7.a20318p-4 : 0x1.ffe17p+0 : inexact-ok
+= exp10m1 towardzero binary32 0x7.a20318p-4 : 0x1.ffe16ep+0 : inexact-ok
+= exp10m1 upward binary32 0x7.a20318p-4 : 0x1.ffe17p+0 : inexact-ok
+= exp10m1 downward binary64 0x7.a20318p-4 : 0x1.ffe16f2ad12c9p+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.a20318p-4 : 0x1.ffe16f2ad12cap+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.a20318p-4 : 0x1.ffe16f2ad12c9p+0 : inexact-ok
+= exp10m1 upward binary64 0x7.a20318p-4 : 0x1.ffe16f2ad12cap+0 : inexact-ok
+= exp10m1 downward intel96 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0ep+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f1p+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0ep+0 : inexact-ok
+= exp10m1 upward intel96 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f1p+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0ep+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f1p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0ep+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f1p+0 : inexact-ok
+= exp10m1 downward binary128 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0f15a8f27ed835p+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0f15a8f27ed835p+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0f15a8f27ed835p+0 : inexact-ok
+= exp10m1 upward binary128 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0f15a8f27ed836p+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0f15a8f27ed8p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0f15a8f27ed8p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0f15a8f27ed8p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.a20318p-4 : 0x1.ffe16f2ad12c9f0f15a8f27ed88p+0 : inexact-ok
+= exp10m1 downward binary32 0x7.a2031p-4 : 0x1.ffe16ap+0 : inexact-ok
+= exp10m1 tonearest binary32 0x7.a2031p-4 : 0x1.ffe16cp+0 : inexact-ok
+= exp10m1 towardzero binary32 0x7.a2031p-4 : 0x1.ffe16ap+0 : inexact-ok
+= exp10m1 upward binary32 0x7.a2031p-4 : 0x1.ffe16cp+0 : inexact-ok
+= exp10m1 downward binary64 0x7.a2031p-4 : 0x1.ffe16bb6c30c1p+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.a2031p-4 : 0x1.ffe16bb6c30c1p+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.a2031p-4 : 0x1.ffe16bb6c30c1p+0 : inexact-ok
+= exp10m1 upward binary64 0x7.a2031p-4 : 0x1.ffe16bb6c30c2p+0 : inexact-ok
+= exp10m1 downward intel96 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e4p+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e6p+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e4p+0 : inexact-ok
+= exp10m1 upward intel96 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e6p+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e4p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e6p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e4p+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e6p+0 : inexact-ok
+= exp10m1 downward binary128 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e576291c8f2538p+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e576291c8f2539p+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e576291c8f2538p+0 : inexact-ok
+= exp10m1 upward binary128 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e576291c8f2539p+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e576291c8f25p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e576291c8f25p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e576291c8f25p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.a2031p-4 : 0x1.ffe16bb6c30c15e576291c8f258p+0 : inexact-ok
+= exp10m1 downward binary64 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a611p+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a611p+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a611p+0 : inexact-ok
+= exp10m1 upward binary64 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a6111p+0 : inexact-ok
+= exp10m1 downward intel96 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a611076p+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a6110762p+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a611076p+0 : inexact-ok
+= exp10m1 upward intel96 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a6110762p+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a611076p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a6110762p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a611076p+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a6110762p+0 : inexact-ok
+= exp10m1 downward binary128 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a61107617724c0383dc1p+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a61107617724c0383dc2p+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a61107617724c0383dc1p+0 : inexact-ok
+= exp10m1 upward binary128 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a61107617724c0383dc2p+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a61107617724c0383d8p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a61107617724c0383ep+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a61107617724c0383d8p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.a20316ebef504p-4 : 0x1.ffe16eb3a61107617724c0383ep+0 : inexact-ok
+exp10m1 0x1.ce521eafe0f21p-2
+= exp10m1 downward binary32 0x7.39488p-4 : 0x1.d3fa42p+0 : inexact-ok
+= exp10m1 tonearest binary32 0x7.39488p-4 : 0x1.d3fa44p+0 : inexact-ok
+= exp10m1 towardzero binary32 0x7.39488p-4 : 0x1.d3fa42p+0 : inexact-ok
+= exp10m1 upward binary32 0x7.39488p-4 : 0x1.d3fa44p+0 : inexact-ok
+= exp10m1 downward binary64 0x7.39488p-4 : 0x1.d3fa433c9154fp+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.39488p-4 : 0x1.d3fa433c9155p+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.39488p-4 : 0x1.d3fa433c9154fp+0 : inexact-ok
+= exp10m1 upward binary64 0x7.39488p-4 : 0x1.d3fa433c9155p+0 : inexact-ok
+= exp10m1 downward intel96 0x7.39488p-4 : 0x1.d3fa433c9154f89cp+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.39488p-4 : 0x1.d3fa433c9154f89cp+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.39488p-4 : 0x1.d3fa433c9154f89cp+0 : inexact-ok
+= exp10m1 upward intel96 0x7.39488p-4 : 0x1.d3fa433c9154f89ep+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.39488p-4 : 0x1.d3fa433c9154f89cp+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.39488p-4 : 0x1.d3fa433c9154f89cp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.39488p-4 : 0x1.d3fa433c9154f89cp+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.39488p-4 : 0x1.d3fa433c9154f89ep+0 : inexact-ok
+= exp10m1 downward binary128 0x7.39488p-4 : 0x1.d3fa433c9154f89cc21985b8d89ep+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.39488p-4 : 0x1.d3fa433c9154f89cc21985b8d89fp+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.39488p-4 : 0x1.d3fa433c9154f89cc21985b8d89ep+0 : inexact-ok
+= exp10m1 upward binary128 0x7.39488p-4 : 0x1.d3fa433c9154f89cc21985b8d89fp+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.39488p-4 : 0x1.d3fa433c9154f89cc21985b8d88p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.39488p-4 : 0x1.d3fa433c9154f89cc21985b8d88p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.39488p-4 : 0x1.d3fa433c9154f89cc21985b8d88p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.39488p-4 : 0x1.d3fa433c9154f89cc21985b8d9p+0 : inexact-ok
+= exp10m1 downward binary32 0x7.394878p-4 : 0x1.d3fa3ep+0 : inexact-ok
+= exp10m1 tonearest binary32 0x7.394878p-4 : 0x1.d3fa4p+0 : inexact-ok
+= exp10m1 towardzero binary32 0x7.394878p-4 : 0x1.d3fa3ep+0 : inexact-ok
+= exp10m1 upward binary32 0x7.394878p-4 : 0x1.d3fa4p+0 : inexact-ok
+= exp10m1 downward binary64 0x7.394878p-4 : 0x1.d3fa3ffb0ec76p+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.394878p-4 : 0x1.d3fa3ffb0ec76p+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.394878p-4 : 0x1.d3fa3ffb0ec76p+0 : inexact-ok
+= exp10m1 upward binary64 0x7.394878p-4 : 0x1.d3fa3ffb0ec77p+0 : inexact-ok
+= exp10m1 downward intel96 0x7.394878p-4 : 0x1.d3fa3ffb0ec7649p+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.394878p-4 : 0x1.d3fa3ffb0ec7649p+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.394878p-4 : 0x1.d3fa3ffb0ec7649p+0 : inexact-ok
+= exp10m1 upward intel96 0x7.394878p-4 : 0x1.d3fa3ffb0ec76492p+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.394878p-4 : 0x1.d3fa3ffb0ec7649p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.394878p-4 : 0x1.d3fa3ffb0ec7649p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.394878p-4 : 0x1.d3fa3ffb0ec7649p+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.394878p-4 : 0x1.d3fa3ffb0ec76492p+0 : inexact-ok
+= exp10m1 downward binary128 0x7.394878p-4 : 0x1.d3fa3ffb0ec76490ffb29fcc35d2p+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.394878p-4 : 0x1.d3fa3ffb0ec76490ffb29fcc35d3p+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.394878p-4 : 0x1.d3fa3ffb0ec76490ffb29fcc35d2p+0 : inexact-ok
+= exp10m1 upward binary128 0x7.394878p-4 : 0x1.d3fa3ffb0ec76490ffb29fcc35d3p+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.394878p-4 : 0x1.d3fa3ffb0ec76490ffb29fcc358p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.394878p-4 : 0x1.d3fa3ffb0ec76490ffb29fcc36p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.394878p-4 : 0x1.d3fa3ffb0ec76490ffb29fcc358p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.394878p-4 : 0x1.d3fa3ffb0ec76490ffb29fcc36p+0 : inexact-ok
+= exp10m1 downward binary64 0x7.39487abf83c84p-4 : 0x1.d3fa411961198p+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.39487abf83c84p-4 : 0x1.d3fa411961199p+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.39487abf83c84p-4 : 0x1.d3fa411961198p+0 : inexact-ok
+= exp10m1 upward binary64 0x7.39487abf83c84p-4 : 0x1.d3fa411961199p+0 : inexact-ok
+= exp10m1 downward intel96 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b28p+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2ap+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b28p+0 : inexact-ok
+= exp10m1 upward intel96 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2ap+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b28p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2ap+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b28p+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2ap+0 : inexact-ok
+= exp10m1 downward binary128 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2909c5ff77fcccp+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2909c5ff77fccdp+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2909c5ff77fcccp+0 : inexact-ok
+= exp10m1 upward binary128 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2909c5ff77fccdp+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2909c5ff77fc8p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2909c5ff77fdp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2909c5ff77fc8p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.39487abf83c84p-4 : 0x1.d3fa411961198b2909c5ff77fdp+0 : inexact-ok
+exp10m1 0x1.ce21fffa5aed8p-2
+= exp10m1 downward binary32 0x7.3888p-4 : 0x1.d3abeep+0 : inexact-ok
+= exp10m1 tonearest binary32 0x7.3888p-4 : 0x1.d3abfp+0 : inexact-ok
+= exp10m1 towardzero binary32 0x7.3888p-4 : 0x1.d3abeep+0 : inexact-ok
+= exp10m1 upward binary32 0x7.3888p-4 : 0x1.d3abfp+0 : inexact-ok
+= exp10m1 downward binary64 0x7.3888p-4 : 0x1.d3abef240072ep+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.3888p-4 : 0x1.d3abef240072ep+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.3888p-4 : 0x1.d3abef240072ep+0 : inexact-ok
+= exp10m1 upward binary64 0x7.3888p-4 : 0x1.d3abef240072fp+0 : inexact-ok
+= exp10m1 downward intel96 0x7.3888p-4 : 0x1.d3abef240072e1a6p+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.3888p-4 : 0x1.d3abef240072e1a8p+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.3888p-4 : 0x1.d3abef240072e1a6p+0 : inexact-ok
+= exp10m1 upward intel96 0x7.3888p-4 : 0x1.d3abef240072e1a8p+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.3888p-4 : 0x1.d3abef240072e1a6p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.3888p-4 : 0x1.d3abef240072e1a8p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.3888p-4 : 0x1.d3abef240072e1a6p+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.3888p-4 : 0x1.d3abef240072e1a8p+0 : inexact-ok
+= exp10m1 downward binary128 0x7.3888p-4 : 0x1.d3abef240072e1a78e290fdd18c3p+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.3888p-4 : 0x1.d3abef240072e1a78e290fdd18c4p+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.3888p-4 : 0x1.d3abef240072e1a78e290fdd18c3p+0 : inexact-ok
+= exp10m1 upward binary128 0x7.3888p-4 : 0x1.d3abef240072e1a78e290fdd18c4p+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.3888p-4 : 0x1.d3abef240072e1a78e290fdd188p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.3888p-4 : 0x1.d3abef240072e1a78e290fdd19p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.3888p-4 : 0x1.d3abef240072e1a78e290fdd188p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.3888p-4 : 0x1.d3abef240072e1a78e290fdd19p+0 : inexact-ok
+= exp10m1 downward binary32 0x7.3887f8p-4 : 0x1.d3abeap+0 : inexact-ok
+= exp10m1 tonearest binary32 0x7.3887f8p-4 : 0x1.d3abecp+0 : inexact-ok
+= exp10m1 towardzero binary32 0x7.3887f8p-4 : 0x1.d3abeap+0 : inexact-ok
+= exp10m1 upward binary32 0x7.3887f8p-4 : 0x1.d3abecp+0 : inexact-ok
+= exp10m1 downward binary64 0x7.3887f8p-4 : 0x1.d3abebe2d8132p+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.3887f8p-4 : 0x1.d3abebe2d8132p+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.3887f8p-4 : 0x1.d3abebe2d8132p+0 : inexact-ok
+= exp10m1 upward binary64 0x7.3887f8p-4 : 0x1.d3abebe2d8133p+0 : inexact-ok
+= exp10m1 downward intel96 0x7.3887f8p-4 : 0x1.d3abebe2d8132188p+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.3887f8p-4 : 0x1.d3abebe2d8132188p+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.3887f8p-4 : 0x1.d3abebe2d8132188p+0 : inexact-ok
+= exp10m1 upward intel96 0x7.3887f8p-4 : 0x1.d3abebe2d813218ap+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.3887f8p-4 : 0x1.d3abebe2d8132188p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.3887f8p-4 : 0x1.d3abebe2d8132188p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.3887f8p-4 : 0x1.d3abebe2d8132188p+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.3887f8p-4 : 0x1.d3abebe2d813218ap+0 : inexact-ok
+= exp10m1 downward binary128 0x7.3887f8p-4 : 0x1.d3abebe2d813218868185d978062p+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.3887f8p-4 : 0x1.d3abebe2d813218868185d978063p+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.3887f8p-4 : 0x1.d3abebe2d813218868185d978062p+0 : inexact-ok
+= exp10m1 upward binary128 0x7.3887f8p-4 : 0x1.d3abebe2d813218868185d978063p+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.3887f8p-4 : 0x1.d3abebe2d813218868185d978p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.3887f8p-4 : 0x1.d3abebe2d813218868185d97808p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.3887f8p-4 : 0x1.d3abebe2d813218868185d978p+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.3887f8p-4 : 0x1.d3abebe2d813218868185d97808p+0 : inexact-ok
+= exp10m1 downward binary64 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04p+0 : inexact-ok
+= exp10m1 tonearest binary64 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f05p+0 : inexact-ok
+= exp10m1 towardzero binary64 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04p+0 : inexact-ok
+= exp10m1 upward binary64 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f05p+0 : inexact-ok
+= exp10m1 downward intel96 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ap+0 : inexact-ok
+= exp10m1 tonearest intel96 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7cp+0 : inexact-ok
+= exp10m1 towardzero intel96 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ap+0 : inexact-ok
+= exp10m1 upward intel96 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7cp+0 : inexact-ok
+= exp10m1 downward m68k96 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ap+0 : inexact-ok
+= exp10m1 tonearest m68k96 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7cp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ap+0 : inexact-ok
+= exp10m1 upward m68k96 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7cp+0 : inexact-ok
+= exp10m1 downward binary128 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ba9c1df751f65p+0 : inexact-ok
+= exp10m1 tonearest binary128 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ba9c1df751f65p+0 : inexact-ok
+= exp10m1 towardzero binary128 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ba9c1df751f65p+0 : inexact-ok
+= exp10m1 upward binary128 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ba9c1df751f66p+0 : inexact-ok
+= exp10m1 downward ibm128 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ba9c1df751fp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ba9c1df751f8p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ba9c1df751fp+0 : inexact-ok
+= exp10m1 upward ibm128 0x7.3887ffe96bb6p-4 : 0x1.d3abef1ad0f04f7ba9c1df751f8p+0 : inexact-ok
+exp10m1 -0x1.bcb951df89248p-15
+= exp10m1 downward binary32 -0x3.7972ap-16 : -0x7.ffe778p-16 : inexact-ok
+= exp10m1 tonearest binary32 -0x3.7972ap-16 : -0x7.ffe778p-16 : inexact-ok
+= exp10m1 towardzero binary32 -0x3.7972ap-16 : -0x7.ffe77p-16 : inexact-ok
+= exp10m1 upward binary32 -0x3.7972ap-16 : -0x7.ffe77p-16 : inexact-ok
+= exp10m1 downward binary64 -0x3.7972ap-16 : -0x7.ffe775c354418p-16 : inexact-ok
+= exp10m1 tonearest binary64 -0x3.7972ap-16 : -0x7.ffe775c354414p-16 : inexact-ok
+= exp10m1 towardzero binary64 -0x3.7972ap-16 : -0x7.ffe775c354414p-16 : inexact-ok
+= exp10m1 upward binary64 -0x3.7972ap-16 : -0x7.ffe775c354414p-16 : inexact-ok
+= exp10m1 downward intel96 -0x3.7972ap-16 : -0x7.ffe775c3544149a8p-16 : inexact-ok
+= exp10m1 tonearest intel96 -0x3.7972ap-16 : -0x7.ffe775c3544149ap-16 : inexact-ok
+= exp10m1 towardzero intel96 -0x3.7972ap-16 : -0x7.ffe775c3544149ap-16 : inexact-ok
+= exp10m1 upward intel96 -0x3.7972ap-16 : -0x7.ffe775c3544149ap-16 : inexact-ok
+= exp10m1 downward m68k96 -0x3.7972ap-16 : -0x7.ffe775c3544149a8p-16 : inexact-ok
+= exp10m1 tonearest m68k96 -0x3.7972ap-16 : -0x7.ffe775c3544149ap-16 : inexact-ok
+= exp10m1 towardzero m68k96 -0x3.7972ap-16 : -0x7.ffe775c3544149ap-16 : inexact-ok
+= exp10m1 upward m68k96 -0x3.7972ap-16 : -0x7.ffe775c3544149ap-16 : inexact-ok
+= exp10m1 downward binary128 -0x3.7972ap-16 : -0x7.ffe775c3544149a2e761d052890cp-16 : inexact-ok
+= exp10m1 tonearest binary128 -0x3.7972ap-16 : -0x7.ffe775c3544149a2e761d0528908p-16 : inexact-ok
+= exp10m1 towardzero binary128 -0x3.7972ap-16 : -0x7.ffe775c3544149a2e761d0528908p-16 : inexact-ok
+= exp10m1 upward binary128 -0x3.7972ap-16 : -0x7.ffe775c3544149a2e761d0528908p-16 : inexact-ok
+= exp10m1 downward ibm128 -0x3.7972ap-16 : -0x7.ffe775c3544149a2e761d0528ap-16 : inexact-ok
+= exp10m1 tonearest ibm128 -0x3.7972ap-16 : -0x7.ffe775c3544149a2e761d0528ap-16 : inexact-ok
+= exp10m1 towardzero ibm128 -0x3.7972ap-16 : -0x7.ffe775c3544149a2e761d05288p-16 : inexact-ok
+= exp10m1 upward ibm128 -0x3.7972ap-16 : -0x7.ffe775c3544149a2e761d05288p-16 : inexact-ok
+= exp10m1 downward binary32 -0x3.7972a4p-16 : -0x7.ffe78p-16 : inexact-ok
+= exp10m1 tonearest binary32 -0x3.7972a4p-16 : -0x7.ffe78p-16 : inexact-ok
+= exp10m1 towardzero binary32 -0x3.7972a4p-16 : -0x7.ffe778p-16 : inexact-ok
+= exp10m1 upward binary32 -0x3.7972a4p-16 : -0x7.ffe778p-16 : inexact-ok
+= exp10m1 downward binary64 -0x3.7972a4p-16 : -0x7.ffe77ef8e3714p-16 : inexact-ok
+= exp10m1 tonearest binary64 -0x3.7972a4p-16 : -0x7.ffe77ef8e3714p-16 : inexact-ok
+= exp10m1 towardzero binary64 -0x3.7972a4p-16 : -0x7.ffe77ef8e371p-16 : inexact-ok
+= exp10m1 upward binary64 -0x3.7972a4p-16 : -0x7.ffe77ef8e371p-16 : inexact-ok
+= exp10m1 downward intel96 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f4p-16 : inexact-ok
+= exp10m1 tonearest intel96 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f38p-16 : inexact-ok
+= exp10m1 towardzero intel96 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f38p-16 : inexact-ok
+= exp10m1 upward intel96 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f38p-16 : inexact-ok
+= exp10m1 downward m68k96 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f4p-16 : inexact-ok
+= exp10m1 tonearest m68k96 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f38p-16 : inexact-ok
+= exp10m1 towardzero m68k96 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f38p-16 : inexact-ok
+= exp10m1 upward m68k96 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f38p-16 : inexact-ok
+= exp10m1 downward binary128 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f39be5968edbc74p-16 : inexact-ok
+= exp10m1 tonearest binary128 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f39be5968edbc74p-16 : inexact-ok
+= exp10m1 towardzero binary128 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f39be5968edbc7p-16 : inexact-ok
+= exp10m1 upward binary128 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f39be5968edbc7p-16 : inexact-ok
+= exp10m1 downward ibm128 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f39be5968edbep-16 : inexact-ok
+= exp10m1 tonearest ibm128 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f39be5968edbcp-16 : inexact-ok
+= exp10m1 towardzero ibm128 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f39be5968edbcp-16 : inexact-ok
+= exp10m1 upward ibm128 -0x3.7972a4p-16 : -0x7.ffe77ef8e3713f39be5968edbcp-16 : inexact-ok
+= exp10m1 downward binary64 -0x3.7972a3bf1249p-16 : -0x7.ffe77e636733cp-16 : inexact-ok
+= exp10m1 tonearest binary64 -0x3.7972a3bf1249p-16 : -0x7.ffe77e6367338p-16 : inexact-ok
+= exp10m1 towardzero binary64 -0x3.7972a3bf1249p-16 : -0x7.ffe77e6367338p-16 : inexact-ok
+= exp10m1 upward binary64 -0x3.7972a3bf1249p-16 : -0x7.ffe77e6367338p-16 : inexact-ok
+= exp10m1 downward intel96 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b8p-16 : inexact-ok
+= exp10m1 tonearest intel96 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389bp-16 : inexact-ok
+= exp10m1 towardzero intel96 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389bp-16 : inexact-ok
+= exp10m1 upward intel96 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389bp-16 : inexact-ok
+= exp10m1 downward m68k96 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b8p-16 : inexact-ok
+= exp10m1 tonearest m68k96 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389bp-16 : inexact-ok
+= exp10m1 towardzero m68k96 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389bp-16 : inexact-ok
+= exp10m1 upward m68k96 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389bp-16 : inexact-ok
+= exp10m1 downward binary128 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b26c5e71b0ac34p-16 : inexact-ok
+= exp10m1 tonearest binary128 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b26c5e71b0ac3p-16 : inexact-ok
+= exp10m1 towardzero binary128 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b26c5e71b0ac3p-16 : inexact-ok
+= exp10m1 upward binary128 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b26c5e71b0ac3p-16 : inexact-ok
+= exp10m1 downward ibm128 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b26c5e71b0aep-16 : inexact-ok
+= exp10m1 tonearest ibm128 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b26c5e71b0acp-16 : inexact-ok
+= exp10m1 towardzero ibm128 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b26c5e71b0acp-16 : inexact-ok
+= exp10m1 upward ibm128 -0x3.7972a3bf1249p-16 : -0x7.ffe77e63673389b26c5e71b0acp-16 : inexact-ok
+exp10m1 0x2.6882b807049f54ap-4
+= exp10m1 downward binary32 0x2.6882bcp-4 : 0x6.a09f7p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.6882bcp-4 : 0x6.a09f7p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.6882bcp-4 : 0x6.a09f7p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.6882bcp-4 : 0x6.a09f78p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.6882bcp-4 : 0x6.a09f714394d2cp-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.6882bcp-4 : 0x6.a09f714394d3p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.6882bcp-4 : 0x6.a09f714394d2cp-4 : inexact-ok
+= exp10m1 upward binary64 0x2.6882bcp-4 : 0x6.a09f714394d3p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.6882bcp-4 : 0x6.a09f714394d2e71p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.6882bcp-4 : 0x6.a09f714394d2e71p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.6882bcp-4 : 0x6.a09f714394d2e71p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.6882bcp-4 : 0x6.a09f714394d2e718p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.6882bcp-4 : 0x6.a09f714394d2e71p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.6882bcp-4 : 0x6.a09f714394d2e71p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.6882bcp-4 : 0x6.a09f714394d2e71p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.6882bcp-4 : 0x6.a09f714394d2e718p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.6882bcp-4 : 0x6.a09f714394d2e713fa389ff1c154p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.6882bcp-4 : 0x6.a09f714394d2e713fa389ff1c158p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.6882bcp-4 : 0x6.a09f714394d2e713fa389ff1c154p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.6882bcp-4 : 0x6.a09f714394d2e713fa389ff1c158p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.6882bcp-4 : 0x6.a09f714394d2e713fa389ff1cp-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.6882bcp-4 : 0x6.a09f714394d2e713fa389ff1c2p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.6882bcp-4 : 0x6.a09f714394d2e713fa389ff1cp-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.6882bcp-4 : 0x6.a09f714394d2e713fa389ff1c2p-4 : inexact-ok
+= exp10m1 downward binary32 0x2.6882b8p-4 : 0x6.a09f6p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.6882b8p-4 : 0x6.a09f68p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.6882b8p-4 : 0x6.a09f6p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.6882b8p-4 : 0x6.a09f68p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.6882b8p-4 : 0x6.a09f643d14648p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.6882b8p-4 : 0x6.a09f643d1464cp-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.6882b8p-4 : 0x6.a09f643d14648p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.6882b8p-4 : 0x6.a09f643d1464cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.6882b8p-4 : 0x6.a09f643d1464a148p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.6882b8p-4 : 0x6.a09f643d1464a15p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.6882b8p-4 : 0x6.a09f643d1464a148p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.6882b8p-4 : 0x6.a09f643d1464a15p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.6882b8p-4 : 0x6.a09f643d1464a148p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.6882b8p-4 : 0x6.a09f643d1464a15p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.6882b8p-4 : 0x6.a09f643d1464a148p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.6882b8p-4 : 0x6.a09f643d1464a15p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.6882b8p-4 : 0x6.a09f643d1464a14e88d45f679d6cp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.6882b8p-4 : 0x6.a09f643d1464a14e88d45f679d7p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.6882b8p-4 : 0x6.a09f643d1464a14e88d45f679d6cp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.6882b8p-4 : 0x6.a09f643d1464a14e88d45f679d7p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.6882b8p-4 : 0x6.a09f643d1464a14e88d45f679cp-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.6882b8p-4 : 0x6.a09f643d1464a14e88d45f679ep-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.6882b8p-4 : 0x6.a09f643d1464a14e88d45f679cp-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.6882b8p-4 : 0x6.a09f643d1464a14e88d45f679ep-4 : inexact-ok
+= exp10m1 downward binary64 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2cp-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2cp-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2cp-4 : inexact-ok
+= exp10m1 upward binary64 0x2.6882b807049f6p-4 : 0x6.a09f6453eed3p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d738p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d738p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d738p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d74p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d738p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d738p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d738p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d74p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d73bb88cc23d5618p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d73bb88cc23d5618p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d73bb88cc23d5618p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d73bb88cc23d561cp-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d73bb88cc23d56p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d73bb88cc23d56p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d73bb88cc23d56p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.6882b807049f6p-4 : 0x6.a09f6453eed2d73bb88cc23d58p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.6882b807049f4p-4 : 0x6.a09f6453eed24p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.6882b807049f4p-4 : 0x6.a09f6453eed28p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.6882b807049f4p-4 : 0x6.a09f6453eed24p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.6882b807049f4p-4 : 0x6.a09f6453eed28p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26fp-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f08p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26fp-4 : inexact-ok
+= exp10m1 upward intel96 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f08p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26fp-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f08p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26fp-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f08p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f07b53828ccddf4p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f07b53828ccddf8p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f07b53828ccddf4p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f07b53828ccddf8p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f07b53828ccdcp-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f07b53828ccdep-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f07b53828ccdcp-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.6882b807049f4p-4 : 0x6.a09f6453eed26f07b53828ccdep-4 : inexact-ok
+= exp10m1 downward intel96 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b23p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b23p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b23p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b238p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b23p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b23p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b23p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b238p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b2313b5dafb25b2cp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b2313b5dafb25b3p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b2313b5dafb25b2cp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b2313b5dafb25b3p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b2313b5dafb25ap-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b2313b5dafb25cp-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b2313b5dafb25ap-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.6882b807049f54ap-4 : 0x6.a09f6453eed2b2313b5dafb25cp-4 : inexact-ok
+exp10m1 -0x6.f6469fc524a1de1p-12
+= exp10m1 downward binary32 -0x6.f64698p-12 : -0xf.ffd25p-12 : inexact-ok
+= exp10m1 tonearest binary32 -0x6.f64698p-12 : -0xf.ffd24p-12 : inexact-ok
+= exp10m1 towardzero binary32 -0x6.f64698p-12 : -0xf.ffd24p-12 : inexact-ok
+= exp10m1 upward binary32 -0x6.f64698p-12 : -0xf.ffd24p-12 : inexact-ok
+= exp10m1 downward binary64 -0x6.f64698p-12 : -0xf.ffd246f38986p-12 : inexact-ok
+= exp10m1 tonearest binary64 -0x6.f64698p-12 : -0xf.ffd246f38986p-12 : inexact-ok
+= exp10m1 towardzero binary64 -0x6.f64698p-12 : -0xf.ffd246f389858p-12 : inexact-ok
+= exp10m1 upward binary64 -0x6.f64698p-12 : -0xf.ffd246f389858p-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f64698p-12 : -0xf.ffd246f38985ec2p-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f64698p-12 : -0xf.ffd246f38985ec2p-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f64698p-12 : -0xf.ffd246f38985ec1p-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f64698p-12 : -0xf.ffd246f38985ec1p-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f64698p-12 : -0xf.ffd246f38985ec2p-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f64698p-12 : -0xf.ffd246f38985ec2p-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f64698p-12 : -0xf.ffd246f38985ec1p-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f64698p-12 : -0xf.ffd246f38985ec1p-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f64698p-12 : -0xf.ffd246f38985ec1afd25a3825c9p-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f64698p-12 : -0xf.ffd246f38985ec1afd25a3825c9p-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f64698p-12 : -0xf.ffd246f38985ec1afd25a3825c88p-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f64698p-12 : -0xf.ffd246f38985ec1afd25a3825c88p-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f64698p-12 : -0xf.ffd246f38985ec1afd25a3826p-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f64698p-12 : -0xf.ffd246f38985ec1afd25a3825cp-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f64698p-12 : -0xf.ffd246f38985ec1afd25a3825cp-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f64698p-12 : -0xf.ffd246f38985ec1afd25a3825cp-12 : inexact-ok
+= exp10m1 downward binary32 -0x6.f646ap-12 : -0xf.ffd26p-12 : inexact-ok
+= exp10m1 tonearest binary32 -0x6.f646ap-12 : -0xf.ffd26p-12 : inexact-ok
+= exp10m1 towardzero binary32 -0x6.f646ap-12 : -0xf.ffd25p-12 : inexact-ok
+= exp10m1 upward binary32 -0x6.f646ap-12 : -0xf.ffd25p-12 : inexact-ok
+= exp10m1 downward binary64 -0x6.f646ap-12 : -0xf.ffd2594ccfc48p-12 : inexact-ok
+= exp10m1 tonearest binary64 -0x6.f646ap-12 : -0xf.ffd2594ccfc48p-12 : inexact-ok
+= exp10m1 towardzero binary64 -0x6.f646ap-12 : -0xf.ffd2594ccfc4p-12 : inexact-ok
+= exp10m1 upward binary64 -0x6.f646ap-12 : -0xf.ffd2594ccfc4p-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f2p-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f2p-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1p-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1p-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f2p-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f2p-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1p-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1p-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1a35c7f15f0ac8p-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1a35c7f15f0acp-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1a35c7f15f0acp-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1a35c7f15f0acp-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1a35c7f15f0cp-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1a35c7f15f0cp-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1a35c7f15f08p-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f646ap-12 : -0xf.ffd2594ccfc47f1a35c7f15f08p-12 : inexact-ok
+= exp10m1 downward binary64 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1638p-12 : inexact-ok
+= exp10m1 tonearest binary64 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d163p-12 : inexact-ok
+= exp10m1 towardzero binary64 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d163p-12 : inexact-ok
+= exp10m1 upward binary64 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d163p-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b1p-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632bp-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632bp-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632bp-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b1p-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632bp-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632bp-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632bp-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b076bdff24a456p-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b076bdff24a4558p-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b076bdff24a4558p-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b076bdff24a4558p-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b076bdff24a48p-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b076bdff24a44p-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b076bdff24a44p-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f6469fc524a1cp-12 : -0xf.ffd258c5d1632b076bdff24a44p-12 : inexact-ok
+= exp10m1 downward binary64 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d164p-12 : inexact-ok
+= exp10m1 tonearest binary64 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d1638p-12 : inexact-ok
+= exp10m1 towardzero binary64 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d1638p-12 : inexact-ok
+= exp10m1 upward binary64 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d1638p-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdep-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bddp-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bddp-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bddp-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdep-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bddp-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bddp-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bddp-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdd19dd43a9fa16p-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdd19dd43a9fa16p-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdd19dd43a9fa158p-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdd19dd43a9fa158p-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdd19dd43a9fa4p-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdd19dd43a9fap-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdd19dd43a9fap-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f6469fc524a2p-12 : -0xf.ffd258c5d163bdd19dd43a9fap-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1637p-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1637p-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffp-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffp-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1637p-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1637p-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffp-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffp-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffae5d6f1445dd8p-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffae5d6f1445dd8p-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffae5d6f1445ddp-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffae5d6f1445ddp-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffae5d6f1446p-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffae5d6f1445cp-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffae5d6f1445cp-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f6469fc524a1de1p-12 : -0xf.ffd258c5d1636ffae5d6f1445cp-12 : inexact-ok
+exp10m1 0x2.cf6c5a8ec5919c0cp-4
+= exp10m1 downward binary32 0x2.cf6c5cp-4 : 0x7.f9a028p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.cf6c5cp-4 : 0x7.f9a028p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.cf6c5cp-4 : 0x7.f9a028p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.cf6c5cp-4 : 0x7.f9a03p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df64p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df68p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df64p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df68p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d9p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d9p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d9p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d98p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d9p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d9p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d9p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d98p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d939b8b028ee91p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d939b8b028ee91p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d939b8b028ee91p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d939b8b028ee914p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d939b8b028ee8p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d939b8b028eeap-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d939b8b028ee8p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.cf6c5cp-4 : 0x7.f9a02b4d4df67d939b8b028eeap-4 : inexact-ok
+= exp10m1 downward binary32 0x2.cf6c58p-4 : 0x7.f9a018p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.cf6c58p-4 : 0x7.f9a02p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.cf6c58p-4 : 0x7.f9a018p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.cf6c58p-4 : 0x7.f9a02p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.cf6c58p-4 : 0x7.f9a01d803409p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.cf6c58p-4 : 0x7.f9a01d8034094p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.cf6c58p-4 : 0x7.f9a01d803409p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.cf6c58p-4 : 0x7.f9a01d8034094p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.cf6c58p-4 : 0x7.f9a01d80340929a8p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.cf6c58p-4 : 0x7.f9a01d80340929a8p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.cf6c58p-4 : 0x7.f9a01d80340929a8p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.cf6c58p-4 : 0x7.f9a01d80340929bp-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.cf6c58p-4 : 0x7.f9a01d80340929a8p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.cf6c58p-4 : 0x7.f9a01d80340929a8p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.cf6c58p-4 : 0x7.f9a01d80340929a8p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.cf6c58p-4 : 0x7.f9a01d80340929bp-4 : inexact-ok
+= exp10m1 downward binary128 0x2.cf6c58p-4 : 0x7.f9a01d80340929aa989cfbe06a3cp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.cf6c58p-4 : 0x7.f9a01d80340929aa989cfbe06a4p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.cf6c58p-4 : 0x7.f9a01d80340929aa989cfbe06a3cp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.cf6c58p-4 : 0x7.f9a01d80340929aa989cfbe06a4p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.cf6c58p-4 : 0x7.f9a01d80340929aa989cfbe06ap-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.cf6c58p-4 : 0x7.f9a01d80340929aa989cfbe06ap-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.cf6c58p-4 : 0x7.f9a01d80340929aa989cfbe06ap-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.cf6c58p-4 : 0x7.f9a01d80340929aa989cfbe06cp-4 : inexact-ok
+= exp10m1 downward binary64 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc34p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc30228p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3023p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc30228p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3023p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc30228p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3023p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc30228p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3023p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3022cbc121cf66e28p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3022cbc121cf66e28p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3022cbc121cf66e28p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3022cbc121cf66e2cp-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3022cbc121cf66ep-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3022cbc121cf66ep-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3022cbc121cf66ep-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.cf6c5a8ec591ap-4 : 0x7.f9a026535bc3022cbc121cf67p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc28p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc28p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc28p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc2cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293cp-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293cp-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293cp-4 : inexact-ok
+= exp10m1 upward intel96 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c8p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293cp-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293cp-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293cp-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c8p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c3ec9ea1273a64p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c3ec9ea1273a68p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c3ec9ea1273a64p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c3ec9ea1273a68p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c3ec9ea1273ap-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c3ec9ea1273ap-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c3ec9ea1273ap-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.cf6c5a8ec5918p-4 : 0x7.f9a026535bc293c3ec9ea1273cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f488p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f488p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f488p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f49p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f488p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f488p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f488p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f49p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f489097178caf548p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f489097178caf548p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f489097178caf548p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f489097178caf54cp-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f489097178caf4p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f489097178caf6p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f489097178caf4p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.cf6c5a8ec5919c0cp-4 : 0x7.f9a026535bc2f489097178caf6p-4 : inexact-ok
+exp10m1 0x2.d08614068c3c5514p-4
+= exp10m1 downward binary32 0x2.d08618p-4 : 0x7.fd6c88p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.d08618p-4 : 0x7.fd6c88p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.d08618p-4 : 0x7.fd6c88p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.d08618p-4 : 0x7.fd6c9p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.d08618p-4 : 0x7.fd6c8951bc818p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.d08618p-4 : 0x7.fd6c8951bc818p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.d08618p-4 : 0x7.fd6c8951bc818p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.d08618p-4 : 0x7.fd6c8951bc81cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.d08618p-4 : 0x7.fd6c8951bc81812p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.d08618p-4 : 0x7.fd6c8951bc81812p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.d08618p-4 : 0x7.fd6c8951bc81812p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.d08618p-4 : 0x7.fd6c8951bc818128p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.d08618p-4 : 0x7.fd6c8951bc81812p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.d08618p-4 : 0x7.fd6c8951bc81812p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.d08618p-4 : 0x7.fd6c8951bc81812p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.d08618p-4 : 0x7.fd6c8951bc818128p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.d08618p-4 : 0x7.fd6c8951bc8181226d7670311a64p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.d08618p-4 : 0x7.fd6c8951bc8181226d7670311a68p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.d08618p-4 : 0x7.fd6c8951bc8181226d7670311a64p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.d08618p-4 : 0x7.fd6c8951bc8181226d7670311a68p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.d08618p-4 : 0x7.fd6c8951bc8181226d7670311ap-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.d08618p-4 : 0x7.fd6c8951bc8181226d7670311ap-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.d08618p-4 : 0x7.fd6c8951bc8181226d7670311ap-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.d08618p-4 : 0x7.fd6c8951bc8181226d7670311cp-4 : inexact-ok
+= exp10m1 downward binary32 0x2.d08614p-4 : 0x7.fd6c78p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.d08614p-4 : 0x7.fd6c78p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.d08614p-4 : 0x7.fd6c78p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.d08614p-4 : 0x7.fd6c8p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.d08614p-4 : 0x7.fd6c7b8272d6cp-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.d08614p-4 : 0x7.fd6c7b8272d6cp-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.d08614p-4 : 0x7.fd6c7b8272d6cp-4 : inexact-ok
+= exp10m1 upward binary64 0x2.d08614p-4 : 0x7.fd6c7b8272d7p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.d08614p-4 : 0x7.fd6c7b8272d6d848p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.d08614p-4 : 0x7.fd6c7b8272d6d85p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.d08614p-4 : 0x7.fd6c7b8272d6d848p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.d08614p-4 : 0x7.fd6c7b8272d6d85p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.d08614p-4 : 0x7.fd6c7b8272d6d848p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.d08614p-4 : 0x7.fd6c7b8272d6d85p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.d08614p-4 : 0x7.fd6c7b8272d6d848p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.d08614p-4 : 0x7.fd6c7b8272d6d85p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.d08614p-4 : 0x7.fd6c7b8272d6d84db1ddfaf49e8cp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.d08614p-4 : 0x7.fd6c7b8272d6d84db1ddfaf49e9p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.d08614p-4 : 0x7.fd6c7b8272d6d84db1ddfaf49e8cp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.d08614p-4 : 0x7.fd6c7b8272d6d84db1ddfaf49e9p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.d08614p-4 : 0x7.fd6c7b8272d6d84db1ddfaf49ep-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.d08614p-4 : 0x7.fd6c7b8272d6d84db1ddfaf49ep-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.d08614p-4 : 0x7.fd6c7b8272d6d84db1ddfaf49ep-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.d08614p-4 : 0x7.fd6c7b8272d6d84db1ddfaf4ap-4 : inexact-ok
+= exp10m1 downward binary64 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990deccp-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990deccp-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990deccp-4 : inexact-ok
+= exp10m1 upward binary64 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990dedp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4fp-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4fp-4 : inexact-ok
+= exp10m1 downward binary128 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8ec49a40a89d8p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8ec49a40a89dcp-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8ec49a40a89d8p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8ec49a40a89dcp-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8ec49a40a88p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8ec49a40a8ap-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8ec49a40a88p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.d08614068c3c6p-4 : 0x7.fd6c7b990decd4e8ec49a40a8ap-4 : inexact-ok
+= exp10m1 downward binary64 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec4p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec8p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec4p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec8p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec6668p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec667p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec6668p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec667p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec6668p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec667p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec6668p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec667p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec666e9f13c1972eap-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec666e9f13c1972ea4p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec666e9f13c1972eap-4 : inexact-ok
+= exp10m1 upward binary128 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec666e9f13c1972ea4p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec666e9f13c1972ep-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec666e9f13c1972ep-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec666e9f13c1972ep-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.d08614068c3c4p-4 : 0x7.fd6c7b990dec666e9f13c1973p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf3p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf3p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf3p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf38p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf3p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf3p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf3p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf38p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf33ee2f5fe06a6p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf33ee2f5fe06a6p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf33ee2f5fe06a6p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf33ee2f5fe06a64p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf33ee2f5fe06ap-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf33ee2f5fe06ap-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf33ee2f5fe06ap-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.d08614068c3c5514p-4 : 0x7.fd6c7b990decaf33ee2f5fe06cp-4 : inexact-ok
+exp10m1 0x2.c7fd02fd98797bf4p-4
+= exp10m1 downward binary32 0x2.c7fd04p-4 : 0x7.e006cp-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.c7fd04p-4 : 0x7.e006c8p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.c7fd04p-4 : 0x7.e006cp-4 : inexact-ok
+= exp10m1 upward binary32 0x2.c7fd04p-4 : 0x7.e006c8p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.c7fd04p-4 : 0x7.e006c7223f228p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.c7fd04p-4 : 0x7.e006c7223f228p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.c7fd04p-4 : 0x7.e006c7223f228p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.c7fd04p-4 : 0x7.e006c7223f22cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c7fd04p-4 : 0x7.e006c7223f2282e8p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c7fd04p-4 : 0x7.e006c7223f2282e8p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c7fd04p-4 : 0x7.e006c7223f2282e8p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c7fd04p-4 : 0x7.e006c7223f2282fp-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c7fd04p-4 : 0x7.e006c7223f2282e8p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c7fd04p-4 : 0x7.e006c7223f2282e8p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c7fd04p-4 : 0x7.e006c7223f2282e8p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c7fd04p-4 : 0x7.e006c7223f2282fp-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c7fd04p-4 : 0x7.e006c7223f2282e9ed7495b64cap-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c7fd04p-4 : 0x7.e006c7223f2282e9ed7495b64cap-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c7fd04p-4 : 0x7.e006c7223f2282e9ed7495b64cap-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c7fd04p-4 : 0x7.e006c7223f2282e9ed7495b64ca4p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c7fd04p-4 : 0x7.e006c7223f2282e9ed7495b64cp-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c7fd04p-4 : 0x7.e006c7223f2282e9ed7495b64cp-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c7fd04p-4 : 0x7.e006c7223f2282e9ed7495b64cp-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c7fd04p-4 : 0x7.e006c7223f2282e9ed7495b64ep-4 : inexact-ok
+= exp10m1 downward binary32 0x2.c7fdp-4 : 0x7.e006b8p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.c7fdp-4 : 0x7.e006b8p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.c7fdp-4 : 0x7.e006b8p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.c7fdp-4 : 0x7.e006cp-4 : inexact-ok
+= exp10m1 downward binary64 0x2.c7fdp-4 : 0x7.e006b963e1a48p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.c7fdp-4 : 0x7.e006b963e1a48p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.c7fdp-4 : 0x7.e006b963e1a48p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.c7fdp-4 : 0x7.e006b963e1a4cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c7fdp-4 : 0x7.e006b963e1a4988p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c7fdp-4 : 0x7.e006b963e1a49888p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c7fdp-4 : 0x7.e006b963e1a4988p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c7fdp-4 : 0x7.e006b963e1a49888p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c7fdp-4 : 0x7.e006b963e1a4988p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c7fdp-4 : 0x7.e006b963e1a49888p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c7fdp-4 : 0x7.e006b963e1a4988p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c7fdp-4 : 0x7.e006b963e1a49888p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c7fdp-4 : 0x7.e006b963e1a49886ef4084032054p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c7fdp-4 : 0x7.e006b963e1a49886ef4084032054p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c7fdp-4 : 0x7.e006b963e1a49886ef4084032054p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c7fdp-4 : 0x7.e006b963e1a49886ef4084032058p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c7fdp-4 : 0x7.e006b963e1a49886ef4084032p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c7fdp-4 : 0x7.e006b963e1a49886ef4084032p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c7fdp-4 : 0x7.e006b963e1a49886ef4084032p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c7fdp-4 : 0x7.e006b963e1a49886ef40840322p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df8p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df8p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df8p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64dfcp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81d8p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81d8p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81d8p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81ep-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81d8p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81d8p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81d8p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81ep-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81db0ea807695964p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81db0ea807695964p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81db0ea807695964p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81db0ea807695968p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81db0ea8076958p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81db0ea807695ap-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81db0ea8076958p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c7fd02fd98798p-4 : 0x7.e006c3aa64df81db0ea807695ap-4 : inexact-ok
+= exp10m1 downward binary64 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64dfp-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64dfp-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64dfp-4 : inexact-ok
+= exp10m1 upward binary64 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df4p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e8p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e8p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e8p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13fp-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e8p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e8p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e8p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13fp-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e822a907b1e7e4p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e822a907b1e7e4p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e822a907b1e7e4p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e822a907b1e7e8p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e822a907b1e6p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e822a907b1e8p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e822a907b1e6p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c7fd02fd98796p-4 : 0x7.e006c3aa64df13e822a907b1e8p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73fp-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73fp-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73fp-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f8p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73fp-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73fp-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73fp-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f8p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f3760fa7d2864cp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f3760fa7d2864cp-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f3760fa7d2864cp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f3760fa7d2865p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f3760fa7d286p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f3760fa7d286p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f3760fa7d286p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c7fd02fd98797bf4p-4 : 0x7.e006c3aa64df73f3760fa7d288p-4 : inexact-ok
+exp10m1 -0x6.f36b2669aee2d2e8p-12
+= exp10m1 downward binary32 -0x6.f36b2p-12 : -0xf.f944ap-12 : inexact-ok
+= exp10m1 tonearest binary32 -0x6.f36b2p-12 : -0xf.f9449p-12 : inexact-ok
+= exp10m1 towardzero binary32 -0x6.f36b2p-12 : -0xf.f9449p-12 : inexact-ok
+= exp10m1 upward binary32 -0x6.f36b2p-12 : -0xf.f9449p-12 : inexact-ok
+= exp10m1 downward binary64 -0x6.f36b2p-12 : -0xf.f94494ece3a2p-12 : inexact-ok
+= exp10m1 tonearest binary64 -0x6.f36b2p-12 : -0xf.f94494ece3a2p-12 : inexact-ok
+= exp10m1 towardzero binary64 -0x6.f36b2p-12 : -0xf.f94494ece3a18p-12 : inexact-ok
+= exp10m1 upward binary64 -0x6.f36b2p-12 : -0xf.f94494ece3a18p-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb8p-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb8p-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7p-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7p-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb8p-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb8p-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7p-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7p-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7c1ad5adebd0c8p-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7c1ad5adebd0cp-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7c1ad5adebd0cp-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7c1ad5adebd0cp-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7c1ad5adebd4p-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7c1ad5adebdp-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7c1ad5adebdp-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f36b2p-12 : -0xf.f94494ece3a1cb7c1ad5adebdp-12 : inexact-ok
+= exp10m1 downward binary32 -0x6.f36b28p-12 : -0xf.f944bp-12 : inexact-ok
+= exp10m1 tonearest binary32 -0x6.f36b28p-12 : -0xf.f944ap-12 : inexact-ok
+= exp10m1 towardzero binary32 -0x6.f36b28p-12 : -0xf.f944ap-12 : inexact-ok
+= exp10m1 upward binary32 -0x6.f36b28p-12 : -0xf.f944ap-12 : inexact-ok
+= exp10m1 downward binary64 -0x6.f36b28p-12 : -0xf.f944a746316cp-12 : inexact-ok
+= exp10m1 tonearest binary64 -0x6.f36b28p-12 : -0xf.f944a746316cp-12 : inexact-ok
+= exp10m1 towardzero binary64 -0x6.f36b28p-12 : -0xf.f944a746316b8p-12 : inexact-ok
+= exp10m1 upward binary64 -0x6.f36b28p-12 : -0xf.f944a746316b8p-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f36b28p-12 : -0xf.f944a746316be33p-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f36b28p-12 : -0xf.f944a746316be32p-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f36b28p-12 : -0xf.f944a746316be32p-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f36b28p-12 : -0xf.f944a746316be32p-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f36b28p-12 : -0xf.f944a746316be33p-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f36b28p-12 : -0xf.f944a746316be32p-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f36b28p-12 : -0xf.f944a746316be32p-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f36b28p-12 : -0xf.f944a746316be32p-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f36b28p-12 : -0xf.f944a746316be325b9f6276506ap-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f36b28p-12 : -0xf.f944a746316be325b9f627650698p-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f36b28p-12 : -0xf.f944a746316be325b9f627650698p-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f36b28p-12 : -0xf.f944a746316be325b9f627650698p-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f36b28p-12 : -0xf.f944a746316be325b9f6276508p-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f36b28p-12 : -0xf.f944a746316be325b9f6276508p-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f36b28p-12 : -0xf.f944a746316be325b9f6276504p-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f36b28p-12 : -0xf.f944a746316be325b9f6276504p-12 : inexact-ok
+= exp10m1 downward binary64 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24335p-12 : inexact-ok
+= exp10m1 tonearest binary64 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24335p-12 : inexact-ok
+= exp10m1 towardzero binary64 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a243348p-12 : inexact-ok
+= exp10m1 upward binary64 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a243348p-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca9p-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8p-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8p-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8p-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca9p-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8p-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8p-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8p-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8046d4256c8598p-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8046d4256c859p-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8046d4256c859p-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8046d4256c859p-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8046d4256c88p-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8046d4256c84p-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8046d4256c84p-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f36b2669aee2cp-12 : -0xf.f944a3a24334ca8046d4256c84p-12 : inexact-ok
+= exp10m1 downward binary64 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243358p-12 : inexact-ok
+= exp10m1 tonearest binary64 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243358p-12 : inexact-ok
+= exp10m1 towardzero binary64 -0x6.f36b2669aee3p-12 : -0xf.f944a3a24335p-12 : inexact-ok
+= exp10m1 upward binary64 -0x6.f36b2669aee3p-12 : -0xf.f944a3a24335p-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d5p-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d5p-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4p-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4p-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d5p-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d5p-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4p-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4p-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4ab524afc10218p-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4ab524afc1021p-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4ab524afc1021p-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4ab524afc1021p-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4ab524afc104p-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4ab524afc104p-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4ab524afc1p-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f36b2669aee3p-12 : -0xf.f944a3a243355d4ab524afc1p-12 : inexact-ok
+= exp10m1 downward intel96 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5ep-12 : inexact-ok
+= exp10m1 tonearest intel96 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5ep-12 : inexact-ok
+= exp10m1 towardzero intel96 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dp-12 : inexact-ok
+= exp10m1 upward intel96 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dp-12 : inexact-ok
+= exp10m1 downward m68k96 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5ep-12 : inexact-ok
+= exp10m1 tonearest m68k96 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5ep-12 : inexact-ok
+= exp10m1 towardzero m68k96 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dp-12 : inexact-ok
+= exp10m1 upward m68k96 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dp-12 : inexact-ok
+= exp10m1 downward binary128 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dd53aab049baep-12 : inexact-ok
+= exp10m1 tonearest binary128 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dd53aab049bad8p-12 : inexact-ok
+= exp10m1 towardzero binary128 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dd53aab049bad8p-12 : inexact-ok
+= exp10m1 upward binary128 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dd53aab049bad8p-12 : inexact-ok
+= exp10m1 downward ibm128 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dd53aab049bcp-12 : inexact-ok
+= exp10m1 tonearest ibm128 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dd53aab049bcp-12 : inexact-ok
+= exp10m1 towardzero ibm128 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dd53aab049b8p-12 : inexact-ok
+= exp10m1 upward ibm128 -0x6.f36b2669aee2d2e8p-12 : -0xf.f944a3a24334f5dd53aab049b8p-12 : inexact-ok
+exp10m1 0x2.c83d897086a4e644p-4
+= exp10m1 downward binary32 0x2.c83d8cp-4 : 0x7.e0e48p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.c83d8cp-4 : 0x7.e0e488p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.c83d8cp-4 : 0x7.e0e48p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.c83d8cp-4 : 0x7.e0e488p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.c83d8cp-4 : 0x7.e0e4844861344p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.c83d8cp-4 : 0x7.e0e4844861344p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.c83d8cp-4 : 0x7.e0e4844861344p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.c83d8cp-4 : 0x7.e0e4844861348p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c83d8cp-4 : 0x7.e0e48448613442cp-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c83d8cp-4 : 0x7.e0e48448613442c8p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c83d8cp-4 : 0x7.e0e48448613442cp-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c83d8cp-4 : 0x7.e0e48448613442c8p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c83d8cp-4 : 0x7.e0e48448613442cp-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c83d8cp-4 : 0x7.e0e48448613442c8p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c83d8cp-4 : 0x7.e0e48448613442cp-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c83d8cp-4 : 0x7.e0e48448613442c8p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c83d8cp-4 : 0x7.e0e48448613442c6c74b8ebd8744p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c83d8cp-4 : 0x7.e0e48448613442c6c74b8ebd8744p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c83d8cp-4 : 0x7.e0e48448613442c6c74b8ebd8744p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c83d8cp-4 : 0x7.e0e48448613442c6c74b8ebd8748p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c83d8cp-4 : 0x7.e0e48448613442c6c74b8ebd86p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c83d8cp-4 : 0x7.e0e48448613442c6c74b8ebd88p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c83d8cp-4 : 0x7.e0e48448613442c6c74b8ebd86p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c83d8cp-4 : 0x7.e0e48448613442c6c74b8ebd88p-4 : inexact-ok
+= exp10m1 downward binary32 0x2.c83d88p-4 : 0x7.e0e47p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.c83d88p-4 : 0x7.e0e478p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.c83d88p-4 : 0x7.e0e47p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.c83d88p-4 : 0x7.e0e478p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.c83d88p-4 : 0x7.e0e4768984118p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.c83d88p-4 : 0x7.e0e476898411cp-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.c83d88p-4 : 0x7.e0e4768984118p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.c83d88p-4 : 0x7.e0e476898411cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c83d88p-4 : 0x7.e0e476898411b308p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c83d88p-4 : 0x7.e0e476898411b308p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c83d88p-4 : 0x7.e0e476898411b308p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c83d88p-4 : 0x7.e0e476898411b31p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c83d88p-4 : 0x7.e0e476898411b308p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c83d88p-4 : 0x7.e0e476898411b308p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c83d88p-4 : 0x7.e0e476898411b308p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c83d88p-4 : 0x7.e0e476898411b31p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c83d88p-4 : 0x7.e0e476898411b30aed81bd802038p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c83d88p-4 : 0x7.e0e476898411b30aed81bd802038p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c83d88p-4 : 0x7.e0e476898411b30aed81bd802038p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c83d88p-4 : 0x7.e0e476898411b30aed81bd80203cp-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c83d88p-4 : 0x7.e0e476898411b30aed81bd802p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c83d88p-4 : 0x7.e0e476898411b30aed81bd802p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c83d88p-4 : 0x7.e0e476898411b30aed81bd802p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c83d88p-4 : 0x7.e0e476898411b30aed81bd8022p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3ap-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a4p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3ap-4 : inexact-ok
+= exp10m1 upward binary64 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a4p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a2688p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a2688p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a2688p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a269p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a2688p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a2688p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a2688p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a269p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a268829fb4be87c0cp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a268829fb4be87c0cp-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a268829fb4be87c0cp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a268829fb4be87c1p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a268829fb4be87cp-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a268829fb4be87cp-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a268829fb4be87cp-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c83d897086a5p-4 : 0x7.e0e47b7bea3a268829fb4be87ep-4 : inexact-ok
+= exp10m1 downward binary64 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea398p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39cp-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea398p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b898p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b898p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89140efac89b774p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89140efac89b778p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89140efac89b774p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89140efac89b778p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89140efac89b6p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89140efac89b8p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89140efac89b6p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c83d897086a4ep-4 : 0x7.e0e47b7bea39b89140efac89b8p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce18p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce18p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce18p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce2p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce18p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce18p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce18p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce2p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce193951131e258cp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce193951131e258cp-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce193951131e258cp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce193951131e259p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce193951131e24p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce193951131e26p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce193951131e24p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.c83d897086a4e644p-4 : 0x7.e0e47b7bea39ce193951131e26p-4 : inexact-ok
+exp10m1 0x2.b47fd78c73d7fa7cp-4
+= exp10m1 downward binary32 0x2.b47fd8p-4 : 0x7.9d6ep-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.b47fd8p-4 : 0x7.9d6e08p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.b47fd8p-4 : 0x7.9d6ep-4 : inexact-ok
+= exp10m1 upward binary32 0x2.b47fd8p-4 : 0x7.9d6e08p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.b47fd8p-4 : 0x7.9d6e06bb03e48p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4cp-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.b47fd8p-4 : 0x7.9d6e06bb03e48p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0cp-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0cp-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0cp-4 : inexact-ok
+= exp10m1 upward intel96 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c8p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0cp-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0cp-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0cp-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c8p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c3b0bd4795a234p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c3b0bd4795a234p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c3b0bd4795a234p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c3b0bd4795a238p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c3b0bd4795a2p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c3b0bd4795a2p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c3b0bd4795a2p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.b47fd8p-4 : 0x7.9d6e06bb03e4a0c3b0bd4795a4p-4 : inexact-ok
+= exp10m1 downward binary32 0x2.b47fd4p-4 : 0x7.9d6df8p-4 : inexact-ok
+= exp10m1 tonearest binary32 0x2.b47fd4p-4 : 0x7.9d6df8p-4 : inexact-ok
+= exp10m1 towardzero binary32 0x2.b47fd4p-4 : 0x7.9d6df8p-4 : inexact-ok
+= exp10m1 upward binary32 0x2.b47fd4p-4 : 0x7.9d6ep-4 : inexact-ok
+= exp10m1 downward binary64 0x2.b47fd4p-4 : 0x7.9d6df922fc738p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.b47fd4p-4 : 0x7.9d6df922fc738p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.b47fd4p-4 : 0x7.9d6df922fc738p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.b47fd4p-4 : 0x7.9d6df922fc73cp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.b47fd4p-4 : 0x7.9d6df922fc738c5p-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.b47fd4p-4 : 0x7.9d6df922fc738c5p-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.b47fd4p-4 : 0x7.9d6df922fc738c5p-4 : inexact-ok
+= exp10m1 upward intel96 0x2.b47fd4p-4 : 0x7.9d6df922fc738c58p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.b47fd4p-4 : 0x7.9d6df922fc738c5p-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.b47fd4p-4 : 0x7.9d6df922fc738c5p-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.b47fd4p-4 : 0x7.9d6df922fc738c5p-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.b47fd4p-4 : 0x7.9d6df922fc738c58p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.b47fd4p-4 : 0x7.9d6df922fc738c50bdebf7e427f4p-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.b47fd4p-4 : 0x7.9d6df922fc738c50bdebf7e427f8p-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.b47fd4p-4 : 0x7.9d6df922fc738c50bdebf7e427f4p-4 : inexact-ok
+= exp10m1 upward binary128 0x2.b47fd4p-4 : 0x7.9d6df922fc738c50bdebf7e427f8p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.b47fd4p-4 : 0x7.9d6df922fc738c50bdebf7e426p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.b47fd4p-4 : 0x7.9d6df922fc738c50bdebf7e428p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.b47fd4p-4 : 0x7.9d6df922fc738c50bdebf7e426p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.b47fd4p-4 : 0x7.9d6df922fc738c50bdebf7e428p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd4p-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd4p-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd4p-4 : inexact-ok
+= exp10m1 upward binary64 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd8p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54bp-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54bp-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54bp-4 : inexact-ok
+= exp10m1 upward intel96 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b8p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54bp-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54bp-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54bp-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b8p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b26d08446e74bcp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b26d08446e74bcp-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b26d08446e74bcp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b26d08446e74cp-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b26d08446e74p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b26d08446e74p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b26d08446e74p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.b47fd78c73d8p-4 : 0x7.9d6e053254bd54b26d08446e76p-4 : inexact-ok
+= exp10m1 downward binary64 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bccp-4 : inexact-ok
+= exp10m1 tonearest binary64 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bdp-4 : inexact-ok
+= exp10m1 towardzero binary64 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bccp-4 : inexact-ok
+= exp10m1 upward binary64 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bdp-4 : inexact-ok
+= exp10m1 downward intel96 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7fp-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7fp-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7fp-4 : inexact-ok
+= exp10m1 upward intel96 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f8p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7fp-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7fp-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7fp-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f8p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f2316764275e0cp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f2316764275e0cp-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f2316764275e0cp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f2316764275e1p-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f2316764275ep-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f2316764275ep-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f2316764275ep-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.b47fd78c73d7ep-4 : 0x7.9d6e053254bce7f2316764276p-4 : inexact-ok
+= exp10m1 downward intel96 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41fp-4 : inexact-ok
+= exp10m1 tonearest intel96 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41fp-4 : inexact-ok
+= exp10m1 towardzero intel96 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41fp-4 : inexact-ok
+= exp10m1 upward intel96 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f8p-4 : inexact-ok
+= exp10m1 downward m68k96 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41fp-4 : inexact-ok
+= exp10m1 tonearest m68k96 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41fp-4 : inexact-ok
+= exp10m1 towardzero m68k96 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41fp-4 : inexact-ok
+= exp10m1 upward m68k96 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f8p-4 : inexact-ok
+= exp10m1 downward binary128 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f3cac129c633ccp-4 : inexact-ok
+= exp10m1 tonearest binary128 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f3cac129c633dp-4 : inexact-ok
+= exp10m1 towardzero binary128 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f3cac129c633ccp-4 : inexact-ok
+= exp10m1 upward binary128 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f3cac129c633dp-4 : inexact-ok
+= exp10m1 downward ibm128 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f3cac129c632p-4 : inexact-ok
+= exp10m1 tonearest ibm128 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f3cac129c634p-4 : inexact-ok
+= exp10m1 towardzero ibm128 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f3cac129c632p-4 : inexact-ok
+= exp10m1 upward ibm128 0x2.b47fd78c73d7fa7cp-4 : 0x7.9d6e053254bd41f3cac129c634p-4 : inexact-ok
+exp10m1 0xb.2ee9062818e91afe8e80fae1818p-4
+= exp10m1 downward binary32 0xb.2ee91p-4 : 0x3.fff2f8p+0 : inexact-ok
+= exp10m1 tonearest binary32 0xb.2ee91p-4 : 0x3.fff2f8p+0 : inexact-ok
+= exp10m1 towardzero binary32 0xb.2ee91p-4 : 0x3.fff2f8p+0 : inexact-ok
+= exp10m1 upward binary32 0xb.2ee91p-4 : 0x3.fff2fcp+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2ee91p-4 : 0x3.fff2f84ee8532p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2ee91p-4 : 0x3.fff2f84ee8534p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2ee91p-4 : 0x3.fff2f84ee8532p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2ee91p-4 : 0x3.fff2f84ee8534p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8cp+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8cp+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8cp+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2ee91p-4 : 0x3.fff2f84ee8533d9p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8cp+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8cp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8cp+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2ee91p-4 : 0x3.fff2f84ee8533d9p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8c86f161cd78f8p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8c86f161cd78fap+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8c86f161cd78f8p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8c86f161cd78fap+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8c86f161cd78p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8c86f161cd79p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8c86f161cd78p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2ee91p-4 : 0x3.fff2f84ee8533d8c86f161cd79p+0 : inexact-ok
+= exp10m1 downward binary32 0xb.2ee9p-4 : 0x3.fff2ecp+0 : inexact-ok
+= exp10m1 tonearest binary32 0xb.2ee9p-4 : 0x3.fff2ecp+0 : inexact-ok
+= exp10m1 towardzero binary32 0xb.2ee9p-4 : 0x3.fff2ecp+0 : inexact-ok
+= exp10m1 upward binary32 0xb.2ee9p-4 : 0x3.fff2fp+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2ee9p-4 : 0x3.fff2eccbb74bep+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2ee9p-4 : 0x3.fff2eccbb74bep+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2ee9p-4 : 0x3.fff2eccbb74bep+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2ee9p-4 : 0x3.fff2eccbb74cp+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2ee9p-4 : 0x3.fff2eccbb74be41cp+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2ee9p-4 : 0x3.fff2eccbb74be41cp+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2ee9p-4 : 0x3.fff2eccbb74be41cp+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2ee9p-4 : 0x3.fff2eccbb74be42p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2ee9p-4 : 0x3.fff2eccbb74be41cp+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2ee9p-4 : 0x3.fff2eccbb74be41cp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2ee9p-4 : 0x3.fff2eccbb74be41cp+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2ee9p-4 : 0x3.fff2eccbb74be42p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2ee9p-4 : 0x3.fff2eccbb74be41d8bc5c653dd24p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2ee9p-4 : 0x3.fff2eccbb74be41d8bc5c653dd24p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2ee9p-4 : 0x3.fff2eccbb74be41d8bc5c653dd24p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2ee9p-4 : 0x3.fff2eccbb74be41d8bc5c653dd26p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2ee9p-4 : 0x3.fff2eccbb74be41d8bc5c653ddp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2ee9p-4 : 0x3.fff2eccbb74be41d8bc5c653ddp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2ee9p-4 : 0x3.fff2eccbb74be41d8bc5c653ddp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2ee9p-4 : 0x3.fff2eccbb74be41d8bc5c653dep+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392ep+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392ep+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392ep+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2ee9062818e98p-4 : 0x3.fff2f139c393p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e8p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e8p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e8p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0ecp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e8p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e8p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e8p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0ecp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e9ea8fed841a26p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e9ea8fed841a28p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e9ea8fed841a26p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e9ea8fed841a28p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e9ea8fed841ap+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e9ea8fed841ap+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e9ea8fed841ap+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2ee9062818e98p-4 : 0x3.fff2f139c392e0e9ea8fed841bp+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2ee9062818e9p-4 : 0x3.fff2f139c3928p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2ee9062818e9p-4 : 0x3.fff2f139c3928p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2ee9062818e9p-4 : 0x3.fff2f139c3928p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2ee9062818e9p-4 : 0x3.fff2f139c392ap+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284dp+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284dp+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284dp+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d4p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284dp+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284dp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284dp+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d4p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d0626d90bfba14p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d0626d90bfba14p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d0626d90bfba14p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d0626d90bfba16p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d0626d90bfbap+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d0626d90bfbap+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d0626d90bfbap+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2ee9062818e9p-4 : 0x3.fff2f139c39284d0626d90bfbbp+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983cp+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983cp+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983cp+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392984p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983cp+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983cp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983cp+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392984p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983dc524d05125cap+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983dc524d05125ccp+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983dc524d05125cap+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983dc524d05125ccp+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983dc524d05125p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983dc524d05126p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983dc524d05125p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2ee9062818e91bp-4 : 0x3.fff2f139c392983dc524d05126p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c3929834p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c3929834p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c3929834p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c3929834p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983241f3cc058d3ep+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983241f3cc058d4p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983241f3cc058d3ep+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983241f3cc058d4p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983241f3cc058dp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983241f3cc058dp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983241f3cc058dp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2ee9062818e91afp-4 : 0x3.fff2f139c392983241f3cc058ep+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2ee9062818e91afe8e80fae1818p-4 : 0x3.fff2f139c392983cbb47d0da13f2p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2ee9062818e91afe8e80fae1818p-4 : 0x3.fff2f139c392983cbb47d0da13f2p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2ee9062818e91afe8e80fae1818p-4 : 0x3.fff2f139c392983cbb47d0da13f2p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2ee9062818e91afe8e80fae1818p-4 : 0x3.fff2f139c392983cbb47d0da13f4p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2ee9062818e91afe8e80fae184p-4 : 0x3.fff2f139c392983cbb47d0da15bep+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2ee9062818e91afe8e80fae184p-4 : 0x3.fff2f139c392983cbb47d0da15bep+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2ee9062818e91afe8e80fae184p-4 : 0x3.fff2f139c392983cbb47d0da15bep+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2ee9062818e91afe8e80fae184p-4 : 0x3.fff2f139c392983cbb47d0da15cp+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2ee9062818e91afe8e80fae184p-4 : 0x3.fff2f139c392983cbb47d0da15p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2ee9062818e91afe8e80fae184p-4 : 0x3.fff2f139c392983cbb47d0da16p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2ee9062818e91afe8e80fae184p-4 : 0x3.fff2f139c392983cbb47d0da15p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2ee9062818e91afe8e80fae184p-4 : 0x3.fff2f139c392983cbb47d0da16p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2ee9062818e91afe8e80fae18p-4 : 0x3.fff2f139c392983cbb47d0da12dep+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2ee9062818e91afe8e80fae18p-4 : 0x3.fff2f139c392983cbb47d0da12dep+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2ee9062818e91afe8e80fae18p-4 : 0x3.fff2f139c392983cbb47d0da12dep+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2ee9062818e91afe8e80fae18p-4 : 0x3.fff2f139c392983cbb47d0da12ep+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2ee9062818e91afe8e80fae18p-4 : 0x3.fff2f139c392983cbb47d0da12p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2ee9062818e91afe8e80fae18p-4 : 0x3.fff2f139c392983cbb47d0da13p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2ee9062818e91afe8e80fae18p-4 : 0x3.fff2f139c392983cbb47d0da12p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2ee9062818e91afe8e80fae18p-4 : 0x3.fff2f139c392983cbb47d0da13p+0 : inexact-ok
+exp10m1 0xb.2e822db54f357c3f65ad743758bp-4
+= exp10m1 downward binary32 0xb.2e823p-4 : 0x3.ffa8f4p+0 : inexact-ok
+= exp10m1 tonearest binary32 0xb.2e823p-4 : 0x3.ffa8f4p+0 : inexact-ok
+= exp10m1 towardzero binary32 0xb.2e823p-4 : 0x3.ffa8f4p+0 : inexact-ok
+= exp10m1 upward binary32 0xb.2e823p-4 : 0x3.ffa8f8p+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2e823p-4 : 0x3.ffa8f4ed3c334p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2e823p-4 : 0x3.ffa8f4ed3c334p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2e823p-4 : 0x3.ffa8f4ed3c334p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2e823p-4 : 0x3.ffa8f4ed3c336p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e7cp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e7cp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78107062758ad4p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78107062758ad6p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78107062758ad4p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78107062758ad6p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78107062758ap+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78107062758bp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78107062758ap+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2e823p-4 : 0x3.ffa8f4ed3c334e78107062758bp+0 : inexact-ok
+= exp10m1 downward binary32 0xb.2e822p-4 : 0x3.ffa8e8p+0 : inexact-ok
+= exp10m1 tonearest binary32 0xb.2e822p-4 : 0x3.ffa8e8p+0 : inexact-ok
+= exp10m1 towardzero binary32 0xb.2e822p-4 : 0x3.ffa8e8p+0 : inexact-ok
+= exp10m1 upward binary32 0xb.2e822p-4 : 0x3.ffa8ecp+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2e822p-4 : 0x3.ffa8e96ab597ep+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2e822p-4 : 0x3.ffa8e96ab597ep+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2e822p-4 : 0x3.ffa8e96ab597ep+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2e822p-4 : 0x3.ffa8e96ab598p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2e822p-4 : 0x3.ffa8e96ab597e994p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2e822p-4 : 0x3.ffa8e96ab597e994p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2e822p-4 : 0x3.ffa8e96ab597e994p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2e822p-4 : 0x3.ffa8e96ab597e998p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2e822p-4 : 0x3.ffa8e96ab597e994p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2e822p-4 : 0x3.ffa8e96ab597e994p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2e822p-4 : 0x3.ffa8e96ab597e994p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2e822p-4 : 0x3.ffa8e96ab597e998p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2e822p-4 : 0x3.ffa8e96ab597e995f46a62a480acp+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2e822p-4 : 0x3.ffa8e96ab597e995f46a62a480acp+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2e822p-4 : 0x3.ffa8e96ab597e995f46a62a480acp+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2e822p-4 : 0x3.ffa8e96ab597e995f46a62a480aep+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2e822p-4 : 0x3.ffa8e96ab597e995f46a62a48p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2e822p-4 : 0x3.ffa8e96ab597e995f46a62a481p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2e822p-4 : 0x3.ffa8e96ab597e995f46a62a48p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2e822p-4 : 0x3.ffa8e96ab597e995f46a62a481p+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2e822db54f358p-4 : 0x3.ffa8f34730822p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2e822db54f358p-4 : 0x3.ffa8f34730824p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2e822db54f358p-4 : 0x3.ffa8f34730822p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2e822db54f358p-4 : 0x3.ffa8f34730824p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e34p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e38p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e34p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e38p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e34p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e38p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e34p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e38p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e375b2f6757b778p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e375b2f6757b778p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e375b2f6757b778p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e375b2f6757b77ap+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e375b2f6757b7p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e375b2f6757b7p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e375b2f6757b7p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2e822db54f358p-4 : 0x3.ffa8f34730823e375b2f6757b8p+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081ep+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081ep+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081ep+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2e822db54f35p-4 : 0x3.ffa8f3473082p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e224p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e224p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e224p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e224p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22326089c239bccp+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22326089c239bcep+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22326089c239bccp+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22326089c239bcep+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22326089c239bp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22326089c239cp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22326089c239bp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2e822db54f35p-4 : 0x3.ffa8f3473081e22326089c239cp+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b88p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b88p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84c3a0c463b09p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84c3a0c463b09p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84c3a0c463b09p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84c3a0c463b092p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84c3a0c463bp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84c3a0c463b1p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84c3a0c463bp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2e822db54f357c4p-4 : 0x3.ffa8f34730823b84c3a0c463b1p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b78p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b78p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b78p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b7cp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b78p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b78p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b78p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b7cp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b79411a1f8a4a0cp+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b79411a1f8a4a0ep+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b79411a1f8a4a0cp+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b79411a1f8a4a0ep+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b79411a1f8a4ap+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b79411a1f8a4ap+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b79411a1f8a4ap+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2e822db54f357c3p-4 : 0x3.ffa8f34730823b79411a1f8a4bp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2e822db54f357c3f65ad743758bp-4 : 0x3.ffa8f34730823b84549d12f0ad94p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2e822db54f357c3f65ad743758bp-4 : 0x3.ffa8f34730823b84549d12f0ad94p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2e822db54f357c3f65ad743758bp-4 : 0x3.ffa8f34730823b84549d12f0ad94p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2e822db54f357c3f65ad743758bp-4 : 0x3.ffa8f34730823b84549d12f0ad96p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2e822db54f357c3f65ad74375cp-4 : 0x3.ffa8f34730823b84549d12f0aff6p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2e822db54f357c3f65ad74375cp-4 : 0x3.ffa8f34730823b84549d12f0aff8p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2e822db54f357c3f65ad74375cp-4 : 0x3.ffa8f34730823b84549d12f0aff6p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2e822db54f357c3f65ad74375cp-4 : 0x3.ffa8f34730823b84549d12f0aff8p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2e822db54f357c3f65ad74375cp-4 : 0x3.ffa8f34730823b84549d12f0afp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2e822db54f357c3f65ad74375cp-4 : 0x3.ffa8f34730823b84549d12f0bp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2e822db54f357c3f65ad74375cp-4 : 0x3.ffa8f34730823b84549d12f0afp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2e822db54f357c3f65ad74375cp-4 : 0x3.ffa8f34730823b84549d12f0bp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2e822db54f357c3f65ad743758p-4 : 0x3.ffa8f34730823b84549d12f0ad16p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2e822db54f357c3f65ad743758p-4 : 0x3.ffa8f34730823b84549d12f0ad16p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2e822db54f357c3f65ad743758p-4 : 0x3.ffa8f34730823b84549d12f0ad16p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2e822db54f357c3f65ad743758p-4 : 0x3.ffa8f34730823b84549d12f0ad18p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2e822db54f357c3f65ad743758p-4 : 0x3.ffa8f34730823b84549d12f0adp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2e822db54f357c3f65ad743758p-4 : 0x3.ffa8f34730823b84549d12f0adp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2e822db54f357c3f65ad743758p-4 : 0x3.ffa8f34730823b84549d12f0adp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2e822db54f357c3f65ad743758p-4 : 0x3.ffa8f34730823b84549d12f0aep+0 : inexact-ok
+exp10m1 0xb.2edd92a794cbc6f81f5f4f82c14p-4
+= exp10m1 downward binary32 0xb.2eddap-4 : 0x3.ffeabcp+0 : inexact-ok
+= exp10m1 tonearest binary32 0xb.2eddap-4 : 0x3.ffeabcp+0 : inexact-ok
+= exp10m1 towardzero binary32 0xb.2eddap-4 : 0x3.ffeabcp+0 : inexact-ok
+= exp10m1 upward binary32 0xb.2eddap-4 : 0x3.ffeacp+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2eddap-4 : 0x3.ffeabd8d98738p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2eddap-4 : 0x3.ffeabd8d9873ap+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2eddap-4 : 0x3.ffeabd8d98738p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2eddap-4 : 0x3.ffeabd8d9873ap+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2eddap-4 : 0x3.ffeabd8d987395c8p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2eddap-4 : 0x3.ffeabd8d987395ccp+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2eddap-4 : 0x3.ffeabd8d987395c8p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2eddap-4 : 0x3.ffeabd8d987395ccp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2eddap-4 : 0x3.ffeabd8d987395c8p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2eddap-4 : 0x3.ffeabd8d987395ccp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2eddap-4 : 0x3.ffeabd8d987395c8p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2eddap-4 : 0x3.ffeabd8d987395ccp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eddap-4 : 0x3.ffeabd8d987395cacb6d649ed616p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eddap-4 : 0x3.ffeabd8d987395cacb6d649ed616p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eddap-4 : 0x3.ffeabd8d987395cacb6d649ed616p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eddap-4 : 0x3.ffeabd8d987395cacb6d649ed618p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2eddap-4 : 0x3.ffeabd8d987395cacb6d649ed6p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2eddap-4 : 0x3.ffeabd8d987395cacb6d649ed6p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2eddap-4 : 0x3.ffeabd8d987395cacb6d649ed6p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2eddap-4 : 0x3.ffeabd8d987395cacb6d649ed7p+0 : inexact-ok
+= exp10m1 downward binary32 0xb.2edd9p-4 : 0x3.ffeabp+0 : inexact-ok
+= exp10m1 tonearest binary32 0xb.2edd9p-4 : 0x3.ffeab4p+0 : inexact-ok
+= exp10m1 towardzero binary32 0xb.2edd9p-4 : 0x3.ffeabp+0 : inexact-ok
+= exp10m1 upward binary32 0xb.2edd9p-4 : 0x3.ffeab4p+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2edd9p-4 : 0x3.ffeab20a7a5f2p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2edd9p-4 : 0x3.ffeab20a7a5f4p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2edd9p-4 : 0x3.ffeab20a7a5f2p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2edd9p-4 : 0x3.ffeab20a7a5f4p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e8p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e8p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e8p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37ecp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e8p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e8p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e8p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37ecp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e84fdae554036ep+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e84fdae554037p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e84fdae554036ep+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e84fdae554037p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e84fdae55403p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e84fdae55403p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e84fdae55403p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2edd9p-4 : 0x3.ffeab20a7a5f37e84fdae55404p+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b98p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b98p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b98p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b9ap+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a8p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a8p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a8p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980acp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a8p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a8p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a8p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980acp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a95883ac4e410ep+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a95883ac4e410ep+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a95883ac4e410ep+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a95883ac4e411p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a95883ac4e41p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a95883ac4e41p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a95883ac4e41p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2edd92a794ccp-4 : 0x3.ffeab3f371b980a95883ac4e42p+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b92p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b92p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b92p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b94p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b9249p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b9249p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b9249p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b92494p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b9249p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b9249p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b9249p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b92494p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b9249068279617969ep+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b924906827961796ap+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b9249068279617969ep+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b924906827961796ap+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b924906827961796p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b924906827961797p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b924906827961796p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2edd92a794cb8p-4 : 0x3.ffeab3f371b924906827961797p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a4p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a8p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a4p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a8p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a4p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a8p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a4p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a8p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a63d7aaa69e856p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a63d7aaa69e858p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a63d7aaa69e856p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a63d7aaa69e858p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a63d7aaa69e8p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a63d7aaa69e8p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a63d7aaa69e8p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2edd92a794cbc7p-4 : 0x3.ffeab3f371b957a63d7aaa69e9p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b95798p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579cp+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b95798p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579cp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b95798p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579cp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b95798p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579cp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579aba5c9ee7218p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579aba5c9ee72182p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579aba5c9ee7218p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579aba5c9ee72182p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579aba5c9ee721p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579aba5c9ee722p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579aba5c9ee721p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2edd92a794cbc6fp-4 : 0x3.ffeab3f371b9579aba5c9ee722p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2edd92a794cbc6f81f5f4f82c14p-4 : 0x3.ffeab3f371b957a0927e4296af5ep+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2edd92a794cbc6f81f5f4f82c14p-4 : 0x3.ffeab3f371b957a0927e4296af6p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2edd92a794cbc6f81f5f4f82c14p-4 : 0x3.ffeab3f371b957a0927e4296af5ep+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2edd92a794cbc6f81f5f4f82c14p-4 : 0x3.ffeab3f371b957a0927e4296af6p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2edd92a794cbc6f81f5f4f82c4p-4 : 0x3.ffeab3f371b957a0927e4296b158p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2edd92a794cbc6f81f5f4f82c4p-4 : 0x3.ffeab3f371b957a0927e4296b15ap+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2edd92a794cbc6f81f5f4f82c4p-4 : 0x3.ffeab3f371b957a0927e4296b158p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2edd92a794cbc6f81f5f4f82c4p-4 : 0x3.ffeab3f371b957a0927e4296b15ap+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2edd92a794cbc6f81f5f4f82c4p-4 : 0x3.ffeab3f371b957a0927e4296b1p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2edd92a794cbc6f81f5f4f82c4p-4 : 0x3.ffeab3f371b957a0927e4296b1p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2edd92a794cbc6f81f5f4f82c4p-4 : 0x3.ffeab3f371b957a0927e4296b1p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2edd92a794cbc6f81f5f4f82c4p-4 : 0x3.ffeab3f371b957a0927e4296b2p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2edd92a794cbc6f81f5f4f82cp-4 : 0x3.ffeab3f371b957a0927e4296ae78p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2edd92a794cbc6f81f5f4f82cp-4 : 0x3.ffeab3f371b957a0927e4296ae78p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2edd92a794cbc6f81f5f4f82cp-4 : 0x3.ffeab3f371b957a0927e4296ae78p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2edd92a794cbc6f81f5f4f82cp-4 : 0x3.ffeab3f371b957a0927e4296ae7ap+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2edd92a794cbc6f81f5f4f82cp-4 : 0x3.ffeab3f371b957a0927e4296aep+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2edd92a794cbc6f81f5f4f82cp-4 : 0x3.ffeab3f371b957a0927e4296aep+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2edd92a794cbc6f81f5f4f82cp-4 : 0x3.ffeab3f371b957a0927e4296aep+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2edd92a794cbc6f81f5f4f82cp-4 : 0x3.ffeab3f371b957a0927e4296afp+0 : inexact-ok
+exp10m1 0xb.2eca344f0d4f0af54bdbd5974858p-4
+= exp10m1 downward binary32 0xb.2eca4p-4 : 0x3.ffdcccp+0 : inexact-ok
+= exp10m1 tonearest binary32 0xb.2eca4p-4 : 0x3.ffdcccp+0 : inexact-ok
+= exp10m1 towardzero binary32 0xb.2eca4p-4 : 0x3.ffdcccp+0 : inexact-ok
+= exp10m1 upward binary32 0xb.2eca4p-4 : 0x3.ffdcdp+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2eca4p-4 : 0x3.ffdcccda8b0dap+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8224p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8224p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8224p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8228p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8224p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8224p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8224p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8228p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8225e50838b0dbecp+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8225e50838b0dbecp+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8225e50838b0dbecp+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8225e50838b0dbeep+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8225e50838b0dbp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8225e50838b0dcp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8225e50838b0dbp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2eca4p-4 : 0x3.ffdcccda8b0d8225e50838b0dcp+0 : inexact-ok
+= exp10m1 downward binary32 0xb.2eca3p-4 : 0x3.ffdccp+0 : inexact-ok
+= exp10m1 tonearest binary32 0xb.2eca3p-4 : 0x3.ffdccp+0 : inexact-ok
+= exp10m1 towardzero binary32 0xb.2eca3p-4 : 0x3.ffdccp+0 : inexact-ok
+= exp10m1 upward binary32 0xb.2eca3p-4 : 0x3.ffdcc4p+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2eca3p-4 : 0x3.ffdcc1578d126p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2eca3p-4 : 0x3.ffdcc1578d126p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2eca3p-4 : 0x3.ffdcc1578d126p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2eca3p-4 : 0x3.ffdcc1578d128p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2eca3p-4 : 0x3.ffdcc1578d126008p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2eca3p-4 : 0x3.ffdcc1578d12600cp+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2eca3p-4 : 0x3.ffdcc1578d126008p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2eca3p-4 : 0x3.ffdcc1578d12600cp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2eca3p-4 : 0x3.ffdcc1578d126008p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2eca3p-4 : 0x3.ffdcc1578d12600cp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2eca3p-4 : 0x3.ffdcc1578d126008p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2eca3p-4 : 0x3.ffdcc1578d12600cp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eca3p-4 : 0x3.ffdcc1578d12600bfdc2756d3d12p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eca3p-4 : 0x3.ffdcc1578d12600bfdc2756d3d14p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eca3p-4 : 0x3.ffdcc1578d12600bfdc2756d3d12p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eca3p-4 : 0x3.ffdcc1578d12600bfdc2756d3d14p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2eca3p-4 : 0x3.ffdcc1578d12600bfdc2756d3dp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2eca3p-4 : 0x3.ffdcc1578d12600bfdc2756d3dp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2eca3p-4 : 0x3.ffdcc1578d12600bfdc2756d3dp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2eca3p-4 : 0x3.ffdcc1578d12600bfdc2756d3ep+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce82p+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce84p+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce82p+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce84p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce8362p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce8362p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce8362p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83624p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce8362p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce8362p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce8362p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83624p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83621f85f85768a54p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83621f85f85768a54p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83621f85f85768a54p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83621f85f85768a56p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83621f85f85768ap+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83621f85f85768ap+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83621f85f85768ap+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2eca344f0d4f8p-4 : 0x3.ffdcc4712ce83621f85f85768bp+0 : inexact-ok
+= exp10m1 downward binary64 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7cp+0 : inexact-ok
+= exp10m1 tonearest binary64 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7ep+0 : inexact-ok
+= exp10m1 towardzero binary64 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7cp+0 : inexact-ok
+= exp10m1 upward binary64 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7ep+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da08p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0cp+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da08p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0cp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da08p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0cp+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da08p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0cp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0a08b7605a3f52p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0a08b7605a3f52p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0a08b7605a3f52p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0a08b7605a3f54p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0a08b7605a3fp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0a08b7605a3fp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0a08b7605a3fp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2eca344f0d4fp-4 : 0x3.ffdcc4712ce7da0a08b7605a4p+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f8p+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f8p+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4174fd38aad8p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4174fd38aad82p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4174fd38aad8p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4174fd38aad82p+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4174fd38aadp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4174fd38aaep+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4174fd38aadp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2eca344f0d4f0bp-4 : 0x3.ffdcc4712ce7e1f4174fd38aaep+0 : inexact-ok
+= exp10m1 downward intel96 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e8p+0 : inexact-ok
+= exp10m1 tonearest intel96 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e8p+0 : inexact-ok
+= exp10m1 towardzero intel96 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e8p+0 : inexact-ok
+= exp10m1 upward intel96 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1ecp+0 : inexact-ok
+= exp10m1 downward m68k96 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e8p+0 : inexact-ok
+= exp10m1 tonearest m68k96 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e8p+0 : inexact-ok
+= exp10m1 towardzero m68k96 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e8p+0 : inexact-ok
+= exp10m1 upward m68k96 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1ecp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e89451de8609f8p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e89451de8609f8p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e89451de8609f8p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e89451de8609fap+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e89451de8609p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e89451de860ap+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e89451de8609p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2eca344f0d4f0afp-4 : 0x3.ffdcc4712ce7e1e89451de860ap+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eca344f0d4f0af54bdbd5974858p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b998p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eca344f0d4f0af54bdbd5974858p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b998p+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eca344f0d4f0af54bdbd5974858p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b998p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eca344f0d4f0af54bdbd5974858p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b99ap+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eca344f0d4f0af54bdbd5974cp-4 : 0x3.ffdcc4712ce7e1ec63d56c24bc3ap+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eca344f0d4f0af54bdbd5974cp-4 : 0x3.ffdcc4712ce7e1ec63d56c24bc3ap+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eca344f0d4f0af54bdbd5974cp-4 : 0x3.ffdcc4712ce7e1ec63d56c24bc3ap+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eca344f0d4f0af54bdbd5974cp-4 : 0x3.ffdcc4712ce7e1ec63d56c24bc3cp+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2eca344f0d4f0af54bdbd5974cp-4 : 0x3.ffdcc4712ce7e1ec63d56c24bcp+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2eca344f0d4f0af54bdbd5974cp-4 : 0x3.ffdcc4712ce7e1ec63d56c24bcp+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2eca344f0d4f0af54bdbd5974cp-4 : 0x3.ffdcc4712ce7e1ec63d56c24bcp+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2eca344f0d4f0af54bdbd5974cp-4 : 0x3.ffdcc4712ce7e1ec63d56c24bdp+0 : inexact-ok
+= exp10m1 downward binary128 0xb.2eca344f0d4f0af54bdbd59748p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b958p+0 : inexact-ok
+= exp10m1 tonearest binary128 0xb.2eca344f0d4f0af54bdbd59748p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b95ap+0 : inexact-ok
+= exp10m1 towardzero binary128 0xb.2eca344f0d4f0af54bdbd59748p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b958p+0 : inexact-ok
+= exp10m1 upward binary128 0xb.2eca344f0d4f0af54bdbd59748p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b95ap+0 : inexact-ok
+= exp10m1 downward ibm128 0xb.2eca344f0d4f0af54bdbd59748p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b9p+0 : inexact-ok
+= exp10m1 tonearest ibm128 0xb.2eca344f0d4f0af54bdbd59748p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b9p+0 : inexact-ok
+= exp10m1 towardzero ibm128 0xb.2eca344f0d4f0af54bdbd59748p-4 : 0x3.ffdcc4712ce7e1ec63d56c24b9p+0 : inexact-ok
+= exp10m1 upward ibm128 0xb.2eca344f0d4f0af54bdbd59748p-4 : 0x3.ffdcc4712ce7e1ec63d56c24bap+0 : inexact-ok
diff --git a/math/auto-libm-test-out-exp2m1 b/math/auto-libm-test-out-exp2m1
index 70b641ea44..d5fc77ec4a 100644
--- a/math/auto-libm-test-out-exp2m1
+++ b/math/auto-libm-test-out-exp2m1
@@ -4346,3 +4346,1783 @@ exp2m1 -0x1p-16381
 = exp2m1 tonearest binary128 -0x8p-16384 : -0x5.8b90bfbe8e7bcd5e4f1d9cc01f98p-16384 : inexact-ok
 = exp2m1 towardzero binary128 -0x8p-16384 : -0x5.8b90bfbe8e7bcd5e4f1d9cc01f94p-16384 : inexact-ok
 = exp2m1 upward binary128 -0x8p-16384 : -0x5.8b90bfbe8e7bcd5e4f1d9cc01f94p-16384 : inexact-ok
+exp2m1 0x1.9cac28p-1
+= exp2m1 downward binary32 0xc.e5614p-4 : 0xb.f946ap-4 : inexact-ok
+= exp2m1 tonearest binary32 0xc.e5614p-4 : 0xb.f946ap-4 : inexact-ok
+= exp2m1 towardzero binary32 0xc.e5614p-4 : 0xb.f946ap-4 : inexact-ok
+= exp2m1 upward binary32 0xc.e5614p-4 : 0xb.f946bp-4 : inexact-ok
+= exp2m1 downward binary64 0xc.e5614p-4 : 0xb.f946a591567cp-4 : inexact-ok
+= exp2m1 tonearest binary64 0xc.e5614p-4 : 0xb.f946a591567c8p-4 : inexact-ok
+= exp2m1 towardzero binary64 0xc.e5614p-4 : 0xb.f946a591567cp-4 : inexact-ok
+= exp2m1 upward binary64 0xc.e5614p-4 : 0xb.f946a591567c8p-4 : inexact-ok
+= exp2m1 downward intel96 0xc.e5614p-4 : 0xb.f946a591567c6c4p-4 : inexact-ok
+= exp2m1 tonearest intel96 0xc.e5614p-4 : 0xb.f946a591567c6c4p-4 : inexact-ok
+= exp2m1 towardzero intel96 0xc.e5614p-4 : 0xb.f946a591567c6c4p-4 : inexact-ok
+= exp2m1 upward intel96 0xc.e5614p-4 : 0xb.f946a591567c6c5p-4 : inexact-ok
+= exp2m1 downward m68k96 0xc.e5614p-4 : 0xb.f946a591567c6c4p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xc.e5614p-4 : 0xb.f946a591567c6c4p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xc.e5614p-4 : 0xb.f946a591567c6c4p-4 : inexact-ok
+= exp2m1 upward m68k96 0xc.e5614p-4 : 0xb.f946a591567c6c5p-4 : inexact-ok
+= exp2m1 downward binary128 0xc.e5614p-4 : 0xb.f946a591567c6c442926a7a2bb3p-4 : inexact-ok
+= exp2m1 tonearest binary128 0xc.e5614p-4 : 0xb.f946a591567c6c442926a7a2bb3p-4 : inexact-ok
+= exp2m1 towardzero binary128 0xc.e5614p-4 : 0xb.f946a591567c6c442926a7a2bb3p-4 : inexact-ok
+= exp2m1 upward binary128 0xc.e5614p-4 : 0xb.f946a591567c6c442926a7a2bb38p-4 : inexact-ok
+= exp2m1 downward ibm128 0xc.e5614p-4 : 0xb.f946a591567c6c442926a7a2b8p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xc.e5614p-4 : 0xb.f946a591567c6c442926a7a2bcp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xc.e5614p-4 : 0xb.f946a591567c6c442926a7a2b8p-4 : inexact-ok
+= exp2m1 upward ibm128 0xc.e5614p-4 : 0xb.f946a591567c6c442926a7a2bcp-4 : inexact-ok
+exp2m1 -0x1.715546p-15
+= exp2m1 downward binary32 -0x2.e2aa8cp-16 : -0x1.ffff2p-16 : inexact-ok
+= exp2m1 tonearest binary32 -0x2.e2aa8cp-16 : -0x1.ffff2p-16 : inexact-ok
+= exp2m1 towardzero binary32 -0x2.e2aa8cp-16 : -0x1.ffff1ep-16 : inexact-ok
+= exp2m1 upward binary32 -0x2.e2aa8cp-16 : -0x1.ffff1ep-16 : inexact-ok
+= exp2m1 downward binary64 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00ddp-16 : inexact-ok
+= exp2m1 tonearest binary64 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00ddp-16 : inexact-ok
+= exp2m1 towardzero binary64 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcp-16 : inexact-ok
+= exp2m1 upward binary64 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcp-16 : inexact-ok
+= exp2m1 downward intel96 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad2p-16 : inexact-ok
+= exp2m1 tonearest intel96 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcadp-16 : inexact-ok
+= exp2m1 towardzero intel96 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcadp-16 : inexact-ok
+= exp2m1 upward intel96 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcadp-16 : inexact-ok
+= exp2m1 downward m68k96 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad2p-16 : inexact-ok
+= exp2m1 tonearest m68k96 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcadp-16 : inexact-ok
+= exp2m1 towardzero m68k96 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcadp-16 : inexact-ok
+= exp2m1 upward m68k96 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcadp-16 : inexact-ok
+= exp2m1 downward binary128 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad024e1e12d2511p-16 : inexact-ok
+= exp2m1 tonearest binary128 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad024e1e12d2511p-16 : inexact-ok
+= exp2m1 towardzero binary128 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad024e1e12d251p-16 : inexact-ok
+= exp2m1 upward binary128 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad024e1e12d251p-16 : inexact-ok
+= exp2m1 downward ibm128 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad024e1e12d258p-16 : inexact-ok
+= exp2m1 tonearest ibm128 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad024e1e12d25p-16 : inexact-ok
+= exp2m1 towardzero ibm128 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad024e1e12d25p-16 : inexact-ok
+= exp2m1 upward ibm128 -0x2.e2aa8cp-16 : -0x1.ffff1fe5d00dcad024e1e12d25p-16 : inexact-ok
+exp2m1 0x1.fffffep-1
+= exp2m1 downward binary32 0xf.fffffp-4 : 0xf.ffffep-4 : inexact-ok
+= exp2m1 tonearest binary32 0xf.fffffp-4 : 0xf.fffffp-4 : inexact-ok
+= exp2m1 towardzero binary32 0xf.fffffp-4 : 0xf.ffffep-4 : inexact-ok
+= exp2m1 upward binary32 0xf.fffffp-4 : 0xf.fffffp-4 : inexact-ok
+= exp2m1 downward binary64 0xf.fffffp-4 : 0xf.ffffe9d1bd088p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xf.fffffp-4 : 0xf.ffffe9d1bd088p-4 : inexact-ok
+= exp2m1 towardzero binary64 0xf.fffffp-4 : 0xf.ffffe9d1bd088p-4 : inexact-ok
+= exp2m1 upward binary64 0xf.fffffp-4 : 0xf.ffffe9d1bd09p-4 : inexact-ok
+= exp2m1 downward intel96 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5bp-4 : inexact-ok
+= exp2m1 tonearest intel96 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5bp-4 : inexact-ok
+= exp2m1 towardzero intel96 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5bp-4 : inexact-ok
+= exp2m1 upward intel96 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5cp-4 : inexact-ok
+= exp2m1 downward m68k96 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5bp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5bp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5bp-4 : inexact-ok
+= exp2m1 upward m68k96 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5cp-4 : inexact-ok
+= exp2m1 downward binary128 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5b58ee4879a1228p-4 : inexact-ok
+= exp2m1 tonearest binary128 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5b58ee4879a1228p-4 : inexact-ok
+= exp2m1 towardzero binary128 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5b58ee4879a1228p-4 : inexact-ok
+= exp2m1 upward binary128 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5b58ee4879a123p-4 : inexact-ok
+= exp2m1 downward ibm128 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5b58ee4879a1p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5b58ee4879a14p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5b58ee4879a1p-4 : inexact-ok
+= exp2m1 upward ibm128 0xf.fffffp-4 : 0xf.ffffe9d1bd08b5b58ee4879a14p-4 : inexact-ok
+exp2m1 -0x1.720d9ap-8
+= exp2m1 downward binary32 -0x1.720d9ap-8 : -0xf.fffffp-12 : inexact-ok
+= exp2m1 tonearest binary32 -0x1.720d9ap-8 : -0xf.fffffp-12 : inexact-ok
+= exp2m1 towardzero binary32 -0x1.720d9ap-8 : -0xf.ffffep-12 : inexact-ok
+= exp2m1 upward binary32 -0x1.720d9ap-8 : -0xf.ffffep-12 : inexact-ok
+= exp2m1 downward binary64 -0x1.720d9ap-8 : -0xf.ffffe99e60cb8p-12 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.720d9ap-8 : -0xf.ffffe99e60cb8p-12 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.720d9ap-8 : -0xf.ffffe99e60cbp-12 : inexact-ok
+= exp2m1 upward binary64 -0x1.720d9ap-8 : -0xf.ffffe99e60cbp-12 : inexact-ok
+= exp2m1 downward intel96 -0x1.720d9ap-8 : -0xf.ffffe99e60cb578p-12 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.720d9ap-8 : -0xf.ffffe99e60cb578p-12 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.720d9ap-8 : -0xf.ffffe99e60cb577p-12 : inexact-ok
+= exp2m1 upward intel96 -0x1.720d9ap-8 : -0xf.ffffe99e60cb577p-12 : inexact-ok
+= exp2m1 downward m68k96 -0x1.720d9ap-8 : -0xf.ffffe99e60cb578p-12 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.720d9ap-8 : -0xf.ffffe99e60cb578p-12 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.720d9ap-8 : -0xf.ffffe99e60cb577p-12 : inexact-ok
+= exp2m1 upward m68k96 -0x1.720d9ap-8 : -0xf.ffffe99e60cb577p-12 : inexact-ok
+= exp2m1 downward binary128 -0x1.720d9ap-8 : -0xf.ffffe99e60cb57787675a459d2p-12 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.720d9ap-8 : -0xf.ffffe99e60cb57787675a459d1f8p-12 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.720d9ap-8 : -0xf.ffffe99e60cb57787675a459d1f8p-12 : inexact-ok
+= exp2m1 upward binary128 -0x1.720d9ap-8 : -0xf.ffffe99e60cb57787675a459d1f8p-12 : inexact-ok
+= exp2m1 downward ibm128 -0x1.720d9ap-8 : -0xf.ffffe99e60cb57787675a459d4p-12 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.720d9ap-8 : -0xf.ffffe99e60cb57787675a459dp-12 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.720d9ap-8 : -0xf.ffffe99e60cb57787675a459dp-12 : inexact-ok
+= exp2m1 upward ibm128 -0x1.720d9ap-8 : -0xf.ffffe99e60cb57787675a459dp-12 : inexact-ok
+exp2m1 0x1.d047583a6c6dp-1
+= exp2m1 downward binary32 0xe.823adp-4 : 0xd.ff7cdp-4 : inexact-ok
+= exp2m1 tonearest binary32 0xe.823adp-4 : 0xd.ff7cep-4 : inexact-ok
+= exp2m1 towardzero binary32 0xe.823adp-4 : 0xd.ff7cdp-4 : inexact-ok
+= exp2m1 upward binary32 0xe.823adp-4 : 0xd.ff7cep-4 : inexact-ok
+= exp2m1 downward binary64 0xe.823adp-4 : 0xd.ff7cde638771p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xe.823adp-4 : 0xd.ff7cde638771p-4 : inexact-ok
+= exp2m1 towardzero binary64 0xe.823adp-4 : 0xd.ff7cde638771p-4 : inexact-ok
+= exp2m1 upward binary64 0xe.823adp-4 : 0xd.ff7cde6387718p-4 : inexact-ok
+= exp2m1 downward intel96 0xe.823adp-4 : 0xd.ff7cde638771128p-4 : inexact-ok
+= exp2m1 tonearest intel96 0xe.823adp-4 : 0xd.ff7cde638771129p-4 : inexact-ok
+= exp2m1 towardzero intel96 0xe.823adp-4 : 0xd.ff7cde638771128p-4 : inexact-ok
+= exp2m1 upward intel96 0xe.823adp-4 : 0xd.ff7cde638771129p-4 : inexact-ok
+= exp2m1 downward m68k96 0xe.823adp-4 : 0xd.ff7cde638771128p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xe.823adp-4 : 0xd.ff7cde638771129p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xe.823adp-4 : 0xd.ff7cde638771128p-4 : inexact-ok
+= exp2m1 upward m68k96 0xe.823adp-4 : 0xd.ff7cde638771129p-4 : inexact-ok
+= exp2m1 downward binary128 0xe.823adp-4 : 0xd.ff7cde638771128ab8a54647fe7p-4 : inexact-ok
+= exp2m1 tonearest binary128 0xe.823adp-4 : 0xd.ff7cde638771128ab8a54647fe78p-4 : inexact-ok
+= exp2m1 towardzero binary128 0xe.823adp-4 : 0xd.ff7cde638771128ab8a54647fe7p-4 : inexact-ok
+= exp2m1 upward binary128 0xe.823adp-4 : 0xd.ff7cde638771128ab8a54647fe78p-4 : inexact-ok
+= exp2m1 downward ibm128 0xe.823adp-4 : 0xd.ff7cde638771128ab8a54647fcp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xe.823adp-4 : 0xd.ff7cde638771128ab8a54648p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xe.823adp-4 : 0xd.ff7cde638771128ab8a54647fcp-4 : inexact-ok
+= exp2m1 upward ibm128 0xe.823adp-4 : 0xd.ff7cde638771128ab8a54648p-4 : inexact-ok
+= exp2m1 downward binary32 0xe.823acp-4 : 0xd.ff7ccp-4 : inexact-ok
+= exp2m1 tonearest binary32 0xe.823acp-4 : 0xd.ff7cdp-4 : inexact-ok
+= exp2m1 towardzero binary32 0xe.823acp-4 : 0xd.ff7ccp-4 : inexact-ok
+= exp2m1 upward binary32 0xe.823acp-4 : 0xd.ff7cdp-4 : inexact-ok
+= exp2m1 downward binary64 0xe.823acp-4 : 0xd.ff7cc998838d8p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xe.823acp-4 : 0xd.ff7cc998838ep-4 : inexact-ok
+= exp2m1 towardzero binary64 0xe.823acp-4 : 0xd.ff7cc998838d8p-4 : inexact-ok
+= exp2m1 upward binary64 0xe.823acp-4 : 0xd.ff7cc998838ep-4 : inexact-ok
+= exp2m1 downward intel96 0xe.823acp-4 : 0xd.ff7cc998838deb3p-4 : inexact-ok
+= exp2m1 tonearest intel96 0xe.823acp-4 : 0xd.ff7cc998838deb3p-4 : inexact-ok
+= exp2m1 towardzero intel96 0xe.823acp-4 : 0xd.ff7cc998838deb3p-4 : inexact-ok
+= exp2m1 upward intel96 0xe.823acp-4 : 0xd.ff7cc998838deb4p-4 : inexact-ok
+= exp2m1 downward m68k96 0xe.823acp-4 : 0xd.ff7cc998838deb3p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xe.823acp-4 : 0xd.ff7cc998838deb3p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xe.823acp-4 : 0xd.ff7cc998838deb3p-4 : inexact-ok
+= exp2m1 upward m68k96 0xe.823acp-4 : 0xd.ff7cc998838deb4p-4 : inexact-ok
+= exp2m1 downward binary128 0xe.823acp-4 : 0xd.ff7cc998838deb336cc36bcaf2cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0xe.823acp-4 : 0xd.ff7cc998838deb336cc36bcaf2c8p-4 : inexact-ok
+= exp2m1 towardzero binary128 0xe.823acp-4 : 0xd.ff7cc998838deb336cc36bcaf2cp-4 : inexact-ok
+= exp2m1 upward binary128 0xe.823acp-4 : 0xd.ff7cc998838deb336cc36bcaf2c8p-4 : inexact-ok
+= exp2m1 downward ibm128 0xe.823acp-4 : 0xd.ff7cc998838deb336cc36bcafp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xe.823acp-4 : 0xd.ff7cc998838deb336cc36bcaf4p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xe.823acp-4 : 0xd.ff7cc998838deb336cc36bcafp-4 : inexact-ok
+= exp2m1 upward ibm128 0xe.823acp-4 : 0xd.ff7cc998838deb336cc36bcaf4p-4 : inexact-ok
+= exp2m1 downward binary64 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3d8p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3ep-4 : inexact-ok
+= exp2m1 towardzero binary64 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3d8p-4 : inexact-ok
+= exp2m1 upward binary64 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3ep-4 : inexact-ok
+= exp2m1 downward intel96 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66p-4 : inexact-ok
+= exp2m1 tonearest intel96 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df67p-4 : inexact-ok
+= exp2m1 towardzero intel96 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66p-4 : inexact-ok
+= exp2m1 upward intel96 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df67p-4 : inexact-ok
+= exp2m1 downward m68k96 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df67p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66p-4 : inexact-ok
+= exp2m1 upward m68k96 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df67p-4 : inexact-ok
+= exp2m1 downward binary128 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66976db9b12a4c8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66976db9b12a4dp-4 : inexact-ok
+= exp2m1 towardzero binary128 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66976db9b12a4c8p-4 : inexact-ok
+= exp2m1 upward binary128 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66976db9b12a4dp-4 : inexact-ok
+= exp2m1 downward ibm128 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66976db9b12a4p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66976db9b12a4p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66976db9b12a4p-4 : inexact-ok
+= exp2m1 upward ibm128 0xe.823ac1d36368p-4 : 0xd.ff7ccbf7ea3df66976db9b12a8p-4 : inexact-ok
+exp2m1 0x1.fff7be96c5276p-1
+= exp2m1 downward binary32 0xf.ffbep-4 : 0xf.ffa48p-4 : inexact-ok
+= exp2m1 tonearest binary32 0xf.ffbep-4 : 0xf.ffa48p-4 : inexact-ok
+= exp2m1 towardzero binary32 0xf.ffbep-4 : 0xf.ffa48p-4 : inexact-ok
+= exp2m1 upward binary32 0xf.ffbep-4 : 0xf.ffa49p-4 : inexact-ok
+= exp2m1 downward binary64 0xf.ffbep-4 : 0xf.ffa481ae7162p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xf.ffbep-4 : 0xf.ffa481ae71628p-4 : inexact-ok
+= exp2m1 towardzero binary64 0xf.ffbep-4 : 0xf.ffa481ae7162p-4 : inexact-ok
+= exp2m1 upward binary64 0xf.ffbep-4 : 0xf.ffa481ae71628p-4 : inexact-ok
+= exp2m1 downward intel96 0xf.ffbep-4 : 0xf.ffa481ae716262dp-4 : inexact-ok
+= exp2m1 tonearest intel96 0xf.ffbep-4 : 0xf.ffa481ae716262ep-4 : inexact-ok
+= exp2m1 towardzero intel96 0xf.ffbep-4 : 0xf.ffa481ae716262dp-4 : inexact-ok
+= exp2m1 upward intel96 0xf.ffbep-4 : 0xf.ffa481ae716262ep-4 : inexact-ok
+= exp2m1 downward m68k96 0xf.ffbep-4 : 0xf.ffa481ae716262dp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xf.ffbep-4 : 0xf.ffa481ae716262ep-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xf.ffbep-4 : 0xf.ffa481ae716262dp-4 : inexact-ok
+= exp2m1 upward m68k96 0xf.ffbep-4 : 0xf.ffa481ae716262ep-4 : inexact-ok
+= exp2m1 downward binary128 0xf.ffbep-4 : 0xf.ffa481ae716262de8acb8406b22p-4 : inexact-ok
+= exp2m1 tonearest binary128 0xf.ffbep-4 : 0xf.ffa481ae716262de8acb8406b22p-4 : inexact-ok
+= exp2m1 towardzero binary128 0xf.ffbep-4 : 0xf.ffa481ae716262de8acb8406b22p-4 : inexact-ok
+= exp2m1 upward binary128 0xf.ffbep-4 : 0xf.ffa481ae716262de8acb8406b228p-4 : inexact-ok
+= exp2m1 downward ibm128 0xf.ffbep-4 : 0xf.ffa481ae716262de8acb8406bp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xf.ffbep-4 : 0xf.ffa481ae716262de8acb8406b4p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xf.ffbep-4 : 0xf.ffa481ae716262de8acb8406bp-4 : inexact-ok
+= exp2m1 upward ibm128 0xf.ffbep-4 : 0xf.ffa481ae716262de8acb8406b4p-4 : inexact-ok
+= exp2m1 downward binary32 0xf.ffbdfp-4 : 0xf.ffa46p-4 : inexact-ok
+= exp2m1 tonearest binary32 0xf.ffbdfp-4 : 0xf.ffa47p-4 : inexact-ok
+= exp2m1 towardzero binary32 0xf.ffbdfp-4 : 0xf.ffa46p-4 : inexact-ok
+= exp2m1 upward binary32 0xf.ffbdfp-4 : 0xf.ffa47p-4 : inexact-ok
+= exp2m1 downward binary64 0xf.ffbdfp-4 : 0xf.ffa46b806dd6p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xf.ffbdfp-4 : 0xf.ffa46b806dd6p-4 : inexact-ok
+= exp2m1 towardzero binary64 0xf.ffbdfp-4 : 0xf.ffa46b806dd6p-4 : inexact-ok
+= exp2m1 upward binary64 0xf.ffbdfp-4 : 0xf.ffa46b806dd68p-4 : inexact-ok
+= exp2m1 downward intel96 0xf.ffbdfp-4 : 0xf.ffa46b806dd635bp-4 : inexact-ok
+= exp2m1 tonearest intel96 0xf.ffbdfp-4 : 0xf.ffa46b806dd635bp-4 : inexact-ok
+= exp2m1 towardzero intel96 0xf.ffbdfp-4 : 0xf.ffa46b806dd635bp-4 : inexact-ok
+= exp2m1 upward intel96 0xf.ffbdfp-4 : 0xf.ffa46b806dd635cp-4 : inexact-ok
+= exp2m1 downward m68k96 0xf.ffbdfp-4 : 0xf.ffa46b806dd635bp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xf.ffbdfp-4 : 0xf.ffa46b806dd635bp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xf.ffbdfp-4 : 0xf.ffa46b806dd635bp-4 : inexact-ok
+= exp2m1 upward m68k96 0xf.ffbdfp-4 : 0xf.ffa46b806dd635cp-4 : inexact-ok
+= exp2m1 downward binary128 0xf.ffbdfp-4 : 0xf.ffa46b806dd635b2f6b342811bdp-4 : inexact-ok
+= exp2m1 tonearest binary128 0xf.ffbdfp-4 : 0xf.ffa46b806dd635b2f6b342811bdp-4 : inexact-ok
+= exp2m1 towardzero binary128 0xf.ffbdfp-4 : 0xf.ffa46b806dd635b2f6b342811bdp-4 : inexact-ok
+= exp2m1 upward binary128 0xf.ffbdfp-4 : 0xf.ffa46b806dd635b2f6b342811bd8p-4 : inexact-ok
+= exp2m1 downward ibm128 0xf.ffbdfp-4 : 0xf.ffa46b806dd635b2f6b3428118p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xf.ffbdfp-4 : 0xf.ffa46b806dd635b2f6b342811cp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xf.ffbdfp-4 : 0xf.ffa46b806dd635b2f6b3428118p-4 : inexact-ok
+= exp2m1 upward ibm128 0xf.ffbdfp-4 : 0xf.ffa46b806dd635b2f6b342811cp-4 : inexact-ok
+= exp2m1 downward binary64 0xf.ffbdf4b6293bp-4 : 0xf.ffa4720873478p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xf.ffbdf4b6293bp-4 : 0xf.ffa4720873478p-4 : inexact-ok
+= exp2m1 towardzero binary64 0xf.ffbdf4b6293bp-4 : 0xf.ffa4720873478p-4 : inexact-ok
+= exp2m1 upward binary64 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087348p-4 : inexact-ok
+= exp2m1 downward intel96 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56p-4 : inexact-ok
+= exp2m1 tonearest intel96 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b57p-4 : inexact-ok
+= exp2m1 towardzero intel96 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56p-4 : inexact-ok
+= exp2m1 upward intel96 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b57p-4 : inexact-ok
+= exp2m1 downward m68k96 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b57p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56p-4 : inexact-ok
+= exp2m1 upward m68k96 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b57p-4 : inexact-ok
+= exp2m1 downward binary128 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56d7f3ec806acc8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56d7f3ec806acc8p-4 : inexact-ok
+= exp2m1 towardzero binary128 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56d7f3ec806acc8p-4 : inexact-ok
+= exp2m1 upward binary128 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56d7f3ec806acdp-4 : inexact-ok
+= exp2m1 downward ibm128 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56d7f3ec806acp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56d7f3ec806acp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56d7f3ec806acp-4 : inexact-ok
+= exp2m1 upward ibm128 0xf.ffbdf4b6293bp-4 : 0xf.ffa472087347b56d7f3ec806bp-4 : inexact-ok
+exp2m1 -0x1.715bd8586d057p-12
+= exp2m1 downward binary32 -0x1.715bd8p-12 : -0xf.ffd1ep-16 : inexact-ok
+= exp2m1 tonearest binary32 -0x1.715bd8p-12 : -0xf.ffd1ep-16 : inexact-ok
+= exp2m1 towardzero binary32 -0x1.715bd8p-12 : -0xf.ffd1dp-16 : inexact-ok
+= exp2m1 upward binary32 -0x1.715bd8p-12 : -0xf.ffd1dp-16 : inexact-ok
+= exp2m1 downward binary64 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a5p-16 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a5p-16 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a48p-16 : inexact-ok
+= exp2m1 upward binary64 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a48p-16 : inexact-ok
+= exp2m1 downward intel96 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db5p-16 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db4p-16 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db4p-16 : inexact-ok
+= exp2m1 upward intel96 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db4p-16 : inexact-ok
+= exp2m1 downward m68k96 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db5p-16 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db4p-16 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db4p-16 : inexact-ok
+= exp2m1 upward m68k96 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db4p-16 : inexact-ok
+= exp2m1 downward binary128 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db40fb8eb396224p-16 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db40fb8eb396224p-16 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db40fb8eb3962238p-16 : inexact-ok
+= exp2m1 upward binary128 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db40fb8eb3962238p-16 : inexact-ok
+= exp2m1 downward ibm128 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db40fb8eb39624p-16 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db40fb8eb39624p-16 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db40fb8eb3962p-16 : inexact-ok
+= exp2m1 upward ibm128 -0x1.715bd8p-12 : -0xf.ffd1dabcd4a4db40fb8eb3962p-16 : inexact-ok
+= exp2m1 downward binary32 -0x1.715bdap-12 : -0xf.ffd2p-16 : inexact-ok
+= exp2m1 tonearest binary32 -0x1.715bdap-12 : -0xf.ffd1fp-16 : inexact-ok
+= exp2m1 towardzero binary32 -0x1.715bdap-12 : -0xf.ffd1fp-16 : inexact-ok
+= exp2m1 upward binary32 -0x1.715bdap-12 : -0xf.ffd1fp-16 : inexact-ok
+= exp2m1 downward binary64 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c4p-16 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c38p-16 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c38p-16 : inexact-ok
+= exp2m1 upward binary64 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c38p-16 : inexact-ok
+= exp2m1 downward intel96 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a42p-16 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a42p-16 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41p-16 : inexact-ok
+= exp2m1 upward intel96 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41p-16 : inexact-ok
+= exp2m1 downward m68k96 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a42p-16 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a42p-16 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41p-16 : inexact-ok
+= exp2m1 upward m68k96 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41p-16 : inexact-ok
+= exp2m1 downward binary128 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41fe3f1f444d02p-16 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41fe3f1f444d02p-16 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41fe3f1f444d018p-16 : inexact-ok
+= exp2m1 upward binary128 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41fe3f1f444d018p-16 : inexact-ok
+= exp2m1 downward ibm128 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41fe3f1f444d4p-16 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41fe3f1f444dp-16 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41fe3f1f444dp-16 : inexact-ok
+= exp2m1 upward ibm128 -0x1.715bdap-12 : -0xf.ffd1f0e9b4c3a41fe3f1f444dp-16 : inexact-ok
+= exp2m1 downward binary64 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f48p-16 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4p-16 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4p-16 : inexact-ok
+= exp2m1 upward binary64 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4p-16 : inexact-ok
+= exp2m1 downward intel96 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4268p-16 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4268p-16 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4267p-16 : inexact-ok
+= exp2m1 upward intel96 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4267p-16 : inexact-ok
+= exp2m1 downward m68k96 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4268p-16 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4268p-16 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4267p-16 : inexact-ok
+= exp2m1 upward m68k96 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f4267p-16 : inexact-ok
+= exp2m1 downward binary128 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f42679861d7bed9a6p-16 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f42679861d7bed9a6p-16 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f42679861d7bed9a58p-16 : inexact-ok
+= exp2m1 upward binary128 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f42679861d7bed9a58p-16 : inexact-ok
+= exp2m1 downward ibm128 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f42679861d7bed9cp-16 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f42679861d7bed9cp-16 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f42679861d7bed98p-16 : inexact-ok
+= exp2m1 upward ibm128 -0x1.715bd8586d057p-12 : -0xf.ffd1de9143f42679861d7bed98p-16 : inexact-ok
+exp2m1 0x1.ffffb5c6996fp-1
+= exp2m1 downward binary32 0xf.fffdbp-4 : 0xf.fffccp-4 : inexact-ok
+= exp2m1 tonearest binary32 0xf.fffdbp-4 : 0xf.fffcdp-4 : inexact-ok
+= exp2m1 towardzero binary32 0xf.fffdbp-4 : 0xf.fffccp-4 : inexact-ok
+= exp2m1 upward binary32 0xf.fffdbp-4 : 0xf.fffcdp-4 : inexact-ok
+= exp2m1 downward binary64 0xf.fffdbp-4 : 0xf.fffccb507a418p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xf.fffdbp-4 : 0xf.fffccb507a418p-4 : inexact-ok
+= exp2m1 towardzero binary64 0xf.fffdbp-4 : 0xf.fffccb507a418p-4 : inexact-ok
+= exp2m1 upward binary64 0xf.fffdbp-4 : 0xf.fffccb507a42p-4 : inexact-ok
+= exp2m1 downward intel96 0xf.fffdbp-4 : 0xf.fffccb507a41acp-4 : inexact-ok
+= exp2m1 tonearest intel96 0xf.fffdbp-4 : 0xf.fffccb507a41acp-4 : inexact-ok
+= exp2m1 towardzero intel96 0xf.fffdbp-4 : 0xf.fffccb507a41acp-4 : inexact-ok
+= exp2m1 upward intel96 0xf.fffdbp-4 : 0xf.fffccb507a41ac1p-4 : inexact-ok
+= exp2m1 downward m68k96 0xf.fffdbp-4 : 0xf.fffccb507a41acp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xf.fffdbp-4 : 0xf.fffccb507a41acp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xf.fffdbp-4 : 0xf.fffccb507a41acp-4 : inexact-ok
+= exp2m1 upward m68k96 0xf.fffdbp-4 : 0xf.fffccb507a41ac1p-4 : inexact-ok
+= exp2m1 downward binary128 0xf.fffdbp-4 : 0xf.fffccb507a41ac03d77fa3f5fc7p-4 : inexact-ok
+= exp2m1 tonearest binary128 0xf.fffdbp-4 : 0xf.fffccb507a41ac03d77fa3f5fc78p-4 : inexact-ok
+= exp2m1 towardzero binary128 0xf.fffdbp-4 : 0xf.fffccb507a41ac03d77fa3f5fc7p-4 : inexact-ok
+= exp2m1 upward binary128 0xf.fffdbp-4 : 0xf.fffccb507a41ac03d77fa3f5fc78p-4 : inexact-ok
+= exp2m1 downward ibm128 0xf.fffdbp-4 : 0xf.fffccb507a41ac03d77fa3f5fcp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xf.fffdbp-4 : 0xf.fffccb507a41ac03d77fa3f5fcp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xf.fffdbp-4 : 0xf.fffccb507a41ac03d77fa3f5fcp-4 : inexact-ok
+= exp2m1 upward ibm128 0xf.fffdbp-4 : 0xf.fffccb507a41ac03d77fa3f6p-4 : inexact-ok
+= exp2m1 downward binary32 0xf.fffdap-4 : 0xf.fffcbp-4 : inexact-ok
+= exp2m1 tonearest binary32 0xf.fffdap-4 : 0xf.fffcbp-4 : inexact-ok
+= exp2m1 towardzero binary32 0xf.fffdap-4 : 0xf.fffcbp-4 : inexact-ok
+= exp2m1 upward binary32 0xf.fffdap-4 : 0xf.fffccp-4 : inexact-ok
+= exp2m1 downward binary64 0xf.fffdap-4 : 0xf.fffcb5223983p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xf.fffdap-4 : 0xf.fffcb5223983p-4 : inexact-ok
+= exp2m1 towardzero binary64 0xf.fffdap-4 : 0xf.fffcb5223983p-4 : inexact-ok
+= exp2m1 upward binary64 0xf.fffdap-4 : 0xf.fffcb52239838p-4 : inexact-ok
+= exp2m1 downward intel96 0xf.fffdap-4 : 0xf.fffcb52239833cdp-4 : inexact-ok
+= exp2m1 tonearest intel96 0xf.fffdap-4 : 0xf.fffcb52239833cdp-4 : inexact-ok
+= exp2m1 towardzero intel96 0xf.fffdap-4 : 0xf.fffcb52239833cdp-4 : inexact-ok
+= exp2m1 upward intel96 0xf.fffdap-4 : 0xf.fffcb52239833cep-4 : inexact-ok
+= exp2m1 downward m68k96 0xf.fffdap-4 : 0xf.fffcb52239833cdp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xf.fffdap-4 : 0xf.fffcb52239833cdp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xf.fffdap-4 : 0xf.fffcb52239833cdp-4 : inexact-ok
+= exp2m1 upward m68k96 0xf.fffdap-4 : 0xf.fffcb52239833cep-4 : inexact-ok
+= exp2m1 downward binary128 0xf.fffdap-4 : 0xf.fffcb52239833cd7199f7598ab28p-4 : inexact-ok
+= exp2m1 tonearest binary128 0xf.fffdap-4 : 0xf.fffcb52239833cd7199f7598ab28p-4 : inexact-ok
+= exp2m1 towardzero binary128 0xf.fffdap-4 : 0xf.fffcb52239833cd7199f7598ab28p-4 : inexact-ok
+= exp2m1 upward binary128 0xf.fffdap-4 : 0xf.fffcb52239833cd7199f7598ab3p-4 : inexact-ok
+= exp2m1 downward ibm128 0xf.fffdap-4 : 0xf.fffcb52239833cd7199f7598a8p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xf.fffdap-4 : 0xf.fffcb52239833cd7199f7598acp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xf.fffdap-4 : 0xf.fffcb52239833cd7199f7598a8p-4 : inexact-ok
+= exp2m1 upward ibm128 0xf.fffdap-4 : 0xf.fffcb52239833cd7199f7598acp-4 : inexact-ok
+= exp2m1 downward binary64 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28c8p-4 : inexact-ok
+= exp2m1 tonearest binary64 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28c8p-4 : inexact-ok
+= exp2m1 towardzero binary64 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28c8p-4 : inexact-ok
+= exp2m1 upward binary64 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28dp-4 : inexact-ok
+= exp2m1 downward intel96 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb57p-4 : inexact-ok
+= exp2m1 tonearest intel96 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb58p-4 : inexact-ok
+= exp2m1 towardzero intel96 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb57p-4 : inexact-ok
+= exp2m1 upward intel96 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb58p-4 : inexact-ok
+= exp2m1 downward m68k96 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb57p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb58p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb57p-4 : inexact-ok
+= exp2m1 upward m68k96 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb58p-4 : inexact-ok
+= exp2m1 downward binary128 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb579058d0242ddep-4 : inexact-ok
+= exp2m1 tonearest binary128 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb579058d0242ddep-4 : inexact-ok
+= exp2m1 towardzero binary128 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb579058d0242ddep-4 : inexact-ok
+= exp2m1 upward binary128 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb579058d0242dde8p-4 : inexact-ok
+= exp2m1 downward ibm128 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb579058d0242dcp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb579058d0242dcp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb579058d0242dcp-4 : inexact-ok
+= exp2m1 upward ibm128 0xf.fffdae34cb78p-4 : 0xf.fffcc8d3e28cb579058d0242ep-4 : inexact-ok
+exp2m1 0x9.58009dd25960a7bp-4
+= exp2m1 downward binary32 0x9.5800ap-4 : 0x7.fbd6ap-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.5800ap-4 : 0x7.fbd6ap-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.5800ap-4 : 0x7.fbd6ap-4 : inexact-ok
+= exp2m1 upward binary32 0x9.5800ap-4 : 0x7.fbd6a8p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.5800ap-4 : 0x7.fbd6a1e924c7p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.5800ap-4 : 0x7.fbd6a1e924c7p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.5800ap-4 : 0x7.fbd6a1e924c7p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.5800ap-4 : 0x7.fbd6a1e924c74p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.5800ap-4 : 0x7.fbd6a1e924c702fp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.5800ap-4 : 0x7.fbd6a1e924c702f8p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.5800ap-4 : 0x7.fbd6a1e924c702fp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.5800ap-4 : 0x7.fbd6a1e924c702f8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.5800ap-4 : 0x7.fbd6a1e924c702fp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.5800ap-4 : 0x7.fbd6a1e924c702f8p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.5800ap-4 : 0x7.fbd6a1e924c702fp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.5800ap-4 : 0x7.fbd6a1e924c702f8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.5800ap-4 : 0x7.fbd6a1e924c702f6150eef68cec8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.5800ap-4 : 0x7.fbd6a1e924c702f6150eef68ceccp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.5800ap-4 : 0x7.fbd6a1e924c702f6150eef68cec8p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.5800ap-4 : 0x7.fbd6a1e924c702f6150eef68ceccp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.5800ap-4 : 0x7.fbd6a1e924c702f6150eef68cep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.5800ap-4 : 0x7.fbd6a1e924c702f6150eef68cep-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.5800ap-4 : 0x7.fbd6a1e924c702f6150eef68cep-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.5800ap-4 : 0x7.fbd6a1e924c702f6150eef68dp-4 : inexact-ok
+= exp2m1 downward binary32 0x9.58009p-4 : 0x7.fbd69p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.58009p-4 : 0x7.fbd69p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.58009p-4 : 0x7.fbd69p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.58009p-4 : 0x7.fbd698p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.58009p-4 : 0x7.fbd6914955024p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.58009p-4 : 0x7.fbd6914955028p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.58009p-4 : 0x7.fbd6914955024p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.58009p-4 : 0x7.fbd6914955028p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.58009p-4 : 0x7.fbd69149550267bp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.58009p-4 : 0x7.fbd69149550267bp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.58009p-4 : 0x7.fbd69149550267bp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.58009p-4 : 0x7.fbd69149550267b8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.58009p-4 : 0x7.fbd69149550267bp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.58009p-4 : 0x7.fbd69149550267bp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.58009p-4 : 0x7.fbd69149550267bp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.58009p-4 : 0x7.fbd69149550267b8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.58009p-4 : 0x7.fbd69149550267b0d946bd6c88bp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.58009p-4 : 0x7.fbd69149550267b0d946bd6c88bp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.58009p-4 : 0x7.fbd69149550267b0d946bd6c88bp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.58009p-4 : 0x7.fbd69149550267b0d946bd6c88b4p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.58009p-4 : 0x7.fbd69149550267b0d946bd6c88p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.58009p-4 : 0x7.fbd69149550267b0d946bd6c88p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.58009p-4 : 0x7.fbd69149550267b0d946bd6c88p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.58009p-4 : 0x7.fbd69149550267b0d946bd6c8ap-4 : inexact-ok
+= exp2m1 downward binary64 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc364p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc364p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc362968p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc362968p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc362968p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36297p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc362968p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc362968p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc362968p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36297p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36296843f49965e7acp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36296843f49965e7acp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36296843f49965e7acp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36296843f49965e7bp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36296843f49965e6p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36296843f49965e8p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36296843f49965e6p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.58009dd25961p-4 : 0x7.fbd69fa5bc36296843f49965e8p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc358p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35cp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc358p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35cp-4 : inexact-ok
+= exp2m1 downward intel96 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a468p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a468p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a468p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a47p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a468p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a468p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a468p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a47p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a469c5ae348abd98p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a469c5ae348abd9cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a469c5ae348abd98p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a469c5ae348abd9cp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a469c5ae348abcp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a469c5ae348abep-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a469c5ae348abcp-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.58009dd259608p-4 : 0x7.fbd69fa5bc35a469c5ae348abep-4 : inexact-ok
+= exp2m1 downward intel96 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cdap-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda8p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cdap-4 : inexact-ok
+= exp2m1 upward intel96 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cdap-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda8p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cdap-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda62e1548103174p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda62e1548103178p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda62e1548103174p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda62e1548103178p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda62e1548103p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda62e15481032p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda62e1548103p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.58009dd25960a7bp-4 : 0x7.fbd69fa5bc35cda62e15481032p-4 : inexact-ok
+exp2m1 -0x1.7159454d13d4e3fap-12
+= exp2m1 downward binary32 -0x1.715944p-12 : -0xf.ffb55p-16 : inexact-ok
+= exp2m1 tonearest binary32 -0x1.715944p-12 : -0xf.ffb54p-16 : inexact-ok
+= exp2m1 towardzero binary32 -0x1.715944p-12 : -0xf.ffb54p-16 : inexact-ok
+= exp2m1 upward binary32 -0x1.715944p-12 : -0xf.ffb54p-16 : inexact-ok
+= exp2m1 downward binary64 -0x1.715944p-12 : -0xf.ffb544e3eb5c8p-16 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.715944p-12 : -0xf.ffb544e3eb5cp-16 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.715944p-12 : -0xf.ffb544e3eb5cp-16 : inexact-ok
+= exp2m1 upward binary64 -0x1.715944p-12 : -0xf.ffb544e3eb5cp-16 : inexact-ok
+= exp2m1 downward intel96 -0x1.715944p-12 : -0xf.ffb544e3eb5c05dp-16 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.715944p-12 : -0xf.ffb544e3eb5c05cp-16 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.715944p-12 : -0xf.ffb544e3eb5c05cp-16 : inexact-ok
+= exp2m1 upward intel96 -0x1.715944p-12 : -0xf.ffb544e3eb5c05cp-16 : inexact-ok
+= exp2m1 downward m68k96 -0x1.715944p-12 : -0xf.ffb544e3eb5c05dp-16 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.715944p-12 : -0xf.ffb544e3eb5c05cp-16 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.715944p-12 : -0xf.ffb544e3eb5c05cp-16 : inexact-ok
+= exp2m1 upward m68k96 -0x1.715944p-12 : -0xf.ffb544e3eb5c05cp-16 : inexact-ok
+= exp2m1 downward binary128 -0x1.715944p-12 : -0xf.ffb544e3eb5c05c51c23cb4e2d18p-16 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.715944p-12 : -0xf.ffb544e3eb5c05c51c23cb4e2d18p-16 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.715944p-12 : -0xf.ffb544e3eb5c05c51c23cb4e2d1p-16 : inexact-ok
+= exp2m1 upward binary128 -0x1.715944p-12 : -0xf.ffb544e3eb5c05c51c23cb4e2d1p-16 : inexact-ok
+= exp2m1 downward ibm128 -0x1.715944p-12 : -0xf.ffb544e3eb5c05c51c23cb4e3p-16 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.715944p-12 : -0xf.ffb544e3eb5c05c51c23cb4e2cp-16 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.715944p-12 : -0xf.ffb544e3eb5c05c51c23cb4e2cp-16 : inexact-ok
+= exp2m1 upward ibm128 -0x1.715944p-12 : -0xf.ffb544e3eb5c05c51c23cb4e2cp-16 : inexact-ok
+= exp2m1 downward binary32 -0x1.715946p-12 : -0xf.ffb56p-16 : inexact-ok
+= exp2m1 tonearest binary32 -0x1.715946p-12 : -0xf.ffb56p-16 : inexact-ok
+= exp2m1 towardzero binary32 -0x1.715946p-12 : -0xf.ffb55p-16 : inexact-ok
+= exp2m1 upward binary32 -0x1.715946p-12 : -0xf.ffb55p-16 : inexact-ok
+= exp2m1 downward binary64 -0x1.715946p-12 : -0xf.ffb55b10cb7d8p-16 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.715946p-12 : -0xf.ffb55b10cb7d8p-16 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.715946p-12 : -0xf.ffb55b10cb7dp-16 : inexact-ok
+= exp2m1 upward binary64 -0x1.715946p-12 : -0xf.ffb55b10cb7dp-16 : inexact-ok
+= exp2m1 downward intel96 -0x1.715946p-12 : -0xf.ffb55b10cb7d48bp-16 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.715946p-12 : -0xf.ffb55b10cb7d48bp-16 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.715946p-12 : -0xf.ffb55b10cb7d48ap-16 : inexact-ok
+= exp2m1 upward intel96 -0x1.715946p-12 : -0xf.ffb55b10cb7d48ap-16 : inexact-ok
+= exp2m1 downward m68k96 -0x1.715946p-12 : -0xf.ffb55b10cb7d48bp-16 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.715946p-12 : -0xf.ffb55b10cb7d48bp-16 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.715946p-12 : -0xf.ffb55b10cb7d48ap-16 : inexact-ok
+= exp2m1 upward m68k96 -0x1.715946p-12 : -0xf.ffb55b10cb7d48ap-16 : inexact-ok
+= exp2m1 downward binary128 -0x1.715946p-12 : -0xf.ffb55b10cb7d48af10a7a81e3d4p-16 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.715946p-12 : -0xf.ffb55b10cb7d48af10a7a81e3d38p-16 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.715946p-12 : -0xf.ffb55b10cb7d48af10a7a81e3d38p-16 : inexact-ok
+= exp2m1 upward binary128 -0x1.715946p-12 : -0xf.ffb55b10cb7d48af10a7a81e3d38p-16 : inexact-ok
+= exp2m1 downward ibm128 -0x1.715946p-12 : -0xf.ffb55b10cb7d48af10a7a81e4p-16 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.715946p-12 : -0xf.ffb55b10cb7d48af10a7a81e3cp-16 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.715946p-12 : -0xf.ffb55b10cb7d48af10a7a81e3cp-16 : inexact-ok
+= exp2m1 upward ibm128 -0x1.715946p-12 : -0xf.ffb55b10cb7d48af10a7a81e3cp-16 : inexact-ok
+= exp2m1 downward binary64 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f7048p-16 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f7048p-16 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f704p-16 : inexact-ok
+= exp2m1 upward binary64 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f704p-16 : inexact-ok
+= exp2m1 downward intel96 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441bp-16 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441bp-16 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441ap-16 : inexact-ok
+= exp2m1 upward intel96 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441ap-16 : inexact-ok
+= exp2m1 downward m68k96 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441bp-16 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441bp-16 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441ap-16 : inexact-ok
+= exp2m1 upward m68k96 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441ap-16 : inexact-ok
+= exp2m1 downward binary128 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441adfe6df9952598p-16 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441adfe6df995259p-16 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441adfe6df995259p-16 : inexact-ok
+= exp2m1 upward binary128 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441adfe6df995259p-16 : inexact-ok
+= exp2m1 downward ibm128 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441adfe6df99528p-16 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441adfe6df99524p-16 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441adfe6df99524p-16 : inexact-ok
+= exp2m1 upward ibm128 -0x1.7159454d13d4ep-12 : -0xf.ffb55350f70441adfe6df99524p-16 : inexact-ok
+= exp2m1 downward binary64 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f705p-16 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f705p-16 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f7048p-16 : inexact-ok
+= exp2m1 upward binary64 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f7048p-16 : inexact-ok
+= exp2m1 downward intel96 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f32p-16 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f31p-16 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f31p-16 : inexact-ok
+= exp2m1 upward intel96 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f31p-16 : inexact-ok
+= exp2m1 downward m68k96 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f32p-16 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f31p-16 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f31p-16 : inexact-ok
+= exp2m1 upward m68k96 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f31p-16 : inexact-ok
+= exp2m1 downward binary128 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f314ff780e946b4p-16 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f314ff780e946b4p-16 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f314ff780e946b38p-16 : inexact-ok
+= exp2m1 upward binary128 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f314ff780e946b38p-16 : inexact-ok
+= exp2m1 downward ibm128 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f314ff780e946cp-16 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f314ff780e946cp-16 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f314ff780e9468p-16 : inexact-ok
+= exp2m1 upward ibm128 -0x1.7159454d13d4fp-12 : -0xf.ffb55350f704f314ff780e9468p-16 : inexact-ok
+= exp2m1 downward intel96 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046ddp-16 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dcp-16 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dcp-16 : inexact-ok
+= exp2m1 upward intel96 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dcp-16 : inexact-ok
+= exp2m1 downward m68k96 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046ddp-16 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dcp-16 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dcp-16 : inexact-ok
+= exp2m1 upward m68k96 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dcp-16 : inexact-ok
+= exp2m1 downward binary128 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dc538101b0d1748p-16 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dc538101b0d174p-16 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dc538101b0d174p-16 : inexact-ok
+= exp2m1 upward binary128 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dc538101b0d174p-16 : inexact-ok
+= exp2m1 downward ibm128 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dc538101b0d18p-16 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dc538101b0d18p-16 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dc538101b0d14p-16 : inexact-ok
+= exp2m1 upward ibm128 -0x1.7159454d13d4e3fap-12 : -0xf.ffb55350f7046dc538101b0d14p-16 : inexact-ok
+exp2m1 0x9.5a4e825121e5782p-4
+= exp2m1 downward binary32 0x9.5a4e9p-4 : 0x7.fe3bbp-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.5a4e9p-4 : 0x7.fe3bb8p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.5a4e9p-4 : 0x7.fe3bbp-4 : inexact-ok
+= exp2m1 upward binary32 0x9.5a4e9p-4 : 0x7.fe3bb8p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.5a4e9p-4 : 0x7.fe3bb4f14c088p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08cp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.5a4e9p-4 : 0x7.fe3bb4f14c088p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08cp-4 : inexact-ok
+= exp2m1 downward intel96 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aecp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aecp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aecp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aecp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aecp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aecp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec268c800635a94p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec268c800635a94p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec268c800635a94p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec268c800635a98p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec268c800635ap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec268c800635ap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec268c800635ap-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.5a4e9p-4 : 0x7.fe3bb4f14c08aec268c800635cp-4 : inexact-ok
+= exp2m1 downward binary32 0x9.5a4e8p-4 : 0x7.fe3bap-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.5a4e8p-4 : 0x7.fe3ba8p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.5a4e8p-4 : 0x7.fe3bap-4 : inexact-ok
+= exp2m1 upward binary32 0x9.5a4e8p-4 : 0x7.fe3ba8p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.5a4e8p-4 : 0x7.fe3ba44fd3508p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.5a4e8p-4 : 0x7.fe3ba44fd350cp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.5a4e8p-4 : 0x7.fe3ba44fd3508p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.5a4e8p-4 : 0x7.fe3ba44fd350cp-4 : inexact-ok
+= exp2m1 downward intel96 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af88p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af9p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af88p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af9p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af88p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af9p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af88p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af9p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af8d7c652eab6f4p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af8d7c652eab6f4p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af8d7c652eab6f4p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af8d7c652eab6f44p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af8d7c652eab6ep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af8d7c652eab7p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af8d7c652eab6ep-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.5a4e8p-4 : 0x7.fe3ba44fd350af8d7c652eab7p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b857158p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715cp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b857158p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715cp-4 : inexact-ok
+= exp2m1 downward intel96 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b148p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b15p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b148p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b15p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b148p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b15p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b148p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b15p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b14d077bb6f78b48p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b14d077bb6f78b48p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b14d077bb6f78b48p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b14d077bb6f78b4cp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b14d077bb6f78ap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b14d077bb6f78cp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b14d077bb6f78ap-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.5a4e825121e58p-4 : 0x7.fe3ba6b85715b14d077bb6f78cp-4 : inexact-ok
+= exp2m1 downward binary64 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b85715p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857154p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b85715p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857154p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c48p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c48p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4141dc7ed8ddbcp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4141dc7ed8ddbcp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4141dc7ed8ddbcp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4141dc7ed8ddcp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4141dc7ed8dcp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4141dc7ed8dep-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4141dc7ed8dcp-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.5a4e825121e5p-4 : 0x7.fe3ba6b857152c4141dc7ed8dep-4 : inexact-ok
+= exp2m1 downward intel96 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a918p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a92p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a918p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a92p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a918p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a92p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a918p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a92p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a91d8e132b43a804p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a91d8e132b43a804p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a91d8e132b43a804p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a91d8e132b43a808p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a91d8e132b43a8p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a91d8e132b43a8p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a91d8e132b43a8p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.5a4e825121e5782p-4 : 0x7.fe3ba6b85715a91d8e132b43aap-4 : inexact-ok
+exp2m1 0x9.3e34e79efaa18cfp-4
+= exp2m1 downward binary32 0x9.3e34fp-4 : 0x7.e11838p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.3e34fp-4 : 0x7.e1184p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.3e34fp-4 : 0x7.e11838p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.3e34fp-4 : 0x7.e1184p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3e34fp-4 : 0x7.e1183f0069974p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3e34fp-4 : 0x7.e1183f0069974p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3e34fp-4 : 0x7.e1183f0069974p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3e34fp-4 : 0x7.e1183f0069978p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3e34fp-4 : 0x7.e1183f006997522p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3e34fp-4 : 0x7.e1183f0069975228p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3e34fp-4 : 0x7.e1183f006997522p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3e34fp-4 : 0x7.e1183f0069975228p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3e34fp-4 : 0x7.e1183f006997522p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3e34fp-4 : 0x7.e1183f0069975228p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3e34fp-4 : 0x7.e1183f006997522p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3e34fp-4 : 0x7.e1183f0069975228p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3e34fp-4 : 0x7.e1183f006997522797491e99bbf8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3e34fp-4 : 0x7.e1183f006997522797491e99bbf8p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3e34fp-4 : 0x7.e1183f006997522797491e99bbf8p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3e34fp-4 : 0x7.e1183f006997522797491e99bbfcp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3e34fp-4 : 0x7.e1183f006997522797491e99bap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3e34fp-4 : 0x7.e1183f006997522797491e99bcp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3e34fp-4 : 0x7.e1183f006997522797491e99bap-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3e34fp-4 : 0x7.e1183f006997522797491e99bcp-4 : inexact-ok
+= exp2m1 downward binary32 0x9.3e34ep-4 : 0x7.e11828p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.3e34ep-4 : 0x7.e1183p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.3e34ep-4 : 0x7.e11828p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.3e34ep-4 : 0x7.e1183p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3e34ep-4 : 0x7.e1182e7323604p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3e34ep-4 : 0x7.e1182e7323604p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3e34ep-4 : 0x7.e1182e7323604p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3e34ep-4 : 0x7.e1182e7323608p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3e34ep-4 : 0x7.e1182e7323605c68p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3e34ep-4 : 0x7.e1182e7323605c68p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3e34ep-4 : 0x7.e1182e7323605c68p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3e34ep-4 : 0x7.e1182e7323605c7p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3e34ep-4 : 0x7.e1182e7323605c68p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3e34ep-4 : 0x7.e1182e7323605c68p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3e34ep-4 : 0x7.e1182e7323605c68p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3e34ep-4 : 0x7.e1182e7323605c7p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3e34ep-4 : 0x7.e1182e7323605c693b51061f20dcp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3e34ep-4 : 0x7.e1182e7323605c693b51061f20dcp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3e34ep-4 : 0x7.e1182e7323605c693b51061f20dcp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3e34ep-4 : 0x7.e1182e7323605c693b51061f20ep-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3e34ep-4 : 0x7.e1182e7323605c693b51061f2p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3e34ep-4 : 0x7.e1182e7323605c693b51061f2p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3e34ep-4 : 0x7.e1182e7323605c693b51061f2p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3e34ep-4 : 0x7.e1182e7323605c693b51061f22p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3e34e79efaa2p-4 : 0x7.e118365568734p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3e34e79efaa2p-4 : 0x7.e118365568734p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3e34e79efaa2p-4 : 0x7.e118365568734p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3e34e79efaa2p-4 : 0x7.e118365568738p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357d8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357d8p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357d8p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357ep-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357d8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357d8p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357d8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357ep-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357da14c6602e5bbp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357da14c6602e5bbp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357da14c6602e5bbp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357da14c6602e5bb4p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357da14c6602e5ap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357da14c6602e5cp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357da14c6602e5ap-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3e34e79efaa2p-4 : 0x7.e1183655687357da14c6602e5cp-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3e34e79efaa18p-4 : 0x7.e11836556872cp-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3e34e79efaa18p-4 : 0x7.e11836556872cp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3e34e79efaa18p-4 : 0x7.e11836556872cp-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3e34e79efaa18p-4 : 0x7.e11836556873p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d368p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d37p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d368p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d37p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d368p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d37p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d368p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d37p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d36fe310dec9713cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d36fe310dec9713cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d36fe310dec9713cp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d36fe310dec9714p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d36fe310dec97p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d36fe310dec972p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d36fe310dec97p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3e34e79efaa18p-4 : 0x7.e11836556872d36fe310dec972p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0dp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0dp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0dp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0dp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0dp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0dp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d21ed7173d844cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d21ed7173d845p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d21ed7173d844cp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d21ed7173d845p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d21ed7173d84p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d21ed7173d84p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d21ed7173d84p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3e34e79efaa18cfp-4 : 0x7.e11836556872e0d21ed7173d86p-4 : inexact-ok
+exp2m1 0x9.3754a635820f937p-4
+= exp2m1 downward binary32 0x9.3754bp-4 : 0x7.d9fc5p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.3754bp-4 : 0x7.d9fc58p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.3754bp-4 : 0x7.d9fc5p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.3754bp-4 : 0x7.d9fc58p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3754bp-4 : 0x7.d9fc57b8e5e8p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3754bp-4 : 0x7.d9fc57b8e5e84p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3754bp-4 : 0x7.d9fc57b8e5e8p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3754bp-4 : 0x7.d9fc57b8e5e84p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3754bp-4 : 0x7.d9fc57b8e5e83238p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3754bp-4 : 0x7.d9fc57b8e5e8324p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3754bp-4 : 0x7.d9fc57b8e5e83238p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3754bp-4 : 0x7.d9fc57b8e5e8324p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3754bp-4 : 0x7.d9fc57b8e5e83238p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3754bp-4 : 0x7.d9fc57b8e5e8324p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3754bp-4 : 0x7.d9fc57b8e5e83238p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3754bp-4 : 0x7.d9fc57b8e5e8324p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3754bp-4 : 0x7.d9fc57b8e5e8323e41ac02296cecp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3754bp-4 : 0x7.d9fc57b8e5e8323e41ac02296cecp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3754bp-4 : 0x7.d9fc57b8e5e8323e41ac02296cecp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3754bp-4 : 0x7.d9fc57b8e5e8323e41ac02296cfp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3754bp-4 : 0x7.d9fc57b8e5e8323e41ac02296cp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3754bp-4 : 0x7.d9fc57b8e5e8323e41ac02296cp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3754bp-4 : 0x7.d9fc57b8e5e8323e41ac02296cp-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3754bp-4 : 0x7.d9fc57b8e5e8323e41ac02296ep-4 : inexact-ok
+= exp2m1 downward binary32 0x9.3754ap-4 : 0x7.d9fc4p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.3754ap-4 : 0x7.d9fc48p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.3754ap-4 : 0x7.d9fc4p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.3754ap-4 : 0x7.d9fc48p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3754ap-4 : 0x7.d9fc47308d27p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3754ap-4 : 0x7.d9fc47308d274p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3754ap-4 : 0x7.d9fc47308d27p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3754ap-4 : 0x7.d9fc47308d274p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3754ap-4 : 0x7.d9fc47308d273a98p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3754ap-4 : 0x7.d9fc47308d273aap-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3754ap-4 : 0x7.d9fc47308d273a98p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3754ap-4 : 0x7.d9fc47308d273aap-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3754ap-4 : 0x7.d9fc47308d273a98p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3754ap-4 : 0x7.d9fc47308d273aap-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3754ap-4 : 0x7.d9fc47308d273a98p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3754ap-4 : 0x7.d9fc47308d273aap-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3754ap-4 : 0x7.d9fc47308d273a9e2125ae738ce8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3754ap-4 : 0x7.d9fc47308d273a9e2125ae738cecp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3754ap-4 : 0x7.d9fc47308d273a9e2125ae738ce8p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3754ap-4 : 0x7.d9fc47308d273a9e2125ae738cecp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3754ap-4 : 0x7.d9fc47308d273a9e2125ae738cp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3754ap-4 : 0x7.d9fc47308d273a9e2125ae738cp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3754ap-4 : 0x7.d9fc47308d273a9e2125ae738cp-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3754ap-4 : 0x7.d9fc47308d273a9e2125ae738ep-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3754a635821p-4 : 0x7.d9fc4d9af8788p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3754a635821p-4 : 0x7.d9fc4d9af8788p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3754a635821p-4 : 0x7.d9fc4d9af8788p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3754a635821p-4 : 0x7.d9fc4d9af878cp-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893dp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893dp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893dp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893dp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893dp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893dp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d39a20e3919a3cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d39a20e3919a3cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d39a20e3919a3cp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d39a20e3919a4p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d39a20e3919ap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d39a20e3919ap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d39a20e3919ap-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3754a635821p-4 : 0x7.d9fc4d9af87893d39a20e3919cp-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af878p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af878p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af878p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8784p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f9p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f9p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f9p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f98p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f9p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f9p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f9p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f98p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f90d423699d908p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f90d423699d908p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f90d423699d908p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f90d423699d9084p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f90d423699d9p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f90d423699d9p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f90d423699d9p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3754a635820f8p-4 : 0x7.d9fc4d9af8780f90d423699d92p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823ap-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a8p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823ap-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823ap-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a8p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823ap-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a677f447827f4cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a677f447827f4cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a677f447827f4cp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a677f447827f5p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a677f447827ep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a677f447828p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a677f447827ep-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3754a635820f937p-4 : 0x7.d9fc4d9af87823a677f447828p-4 : inexact-ok
+exp2m1 -0x1.71573dd150de9ccap-8
+= exp2m1 downward binary32 -0x1.71573cp-8 : -0xf.f8215p-12 : inexact-ok
+= exp2m1 tonearest binary32 -0x1.71573cp-8 : -0xf.f8215p-12 : inexact-ok
+= exp2m1 towardzero binary32 -0x1.71573cp-8 : -0xf.f8214p-12 : inexact-ok
+= exp2m1 upward binary32 -0x1.71573cp-8 : -0xf.f8214p-12 : inexact-ok
+= exp2m1 downward binary64 -0x1.71573cp-8 : -0xf.f82149e2517d8p-12 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.71573cp-8 : -0xf.f82149e2517d8p-12 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.71573cp-8 : -0xf.f82149e2517dp-12 : inexact-ok
+= exp2m1 upward binary64 -0x1.71573cp-8 : -0xf.f82149e2517dp-12 : inexact-ok
+= exp2m1 downward intel96 -0x1.71573cp-8 : -0xf.f82149e2517d5ebp-12 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.71573cp-8 : -0xf.f82149e2517d5ebp-12 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.71573cp-8 : -0xf.f82149e2517d5eap-12 : inexact-ok
+= exp2m1 upward intel96 -0x1.71573cp-8 : -0xf.f82149e2517d5eap-12 : inexact-ok
+= exp2m1 downward m68k96 -0x1.71573cp-8 : -0xf.f82149e2517d5ebp-12 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.71573cp-8 : -0xf.f82149e2517d5ebp-12 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.71573cp-8 : -0xf.f82149e2517d5eap-12 : inexact-ok
+= exp2m1 upward m68k96 -0x1.71573cp-8 : -0xf.f82149e2517d5eap-12 : inexact-ok
+= exp2m1 downward binary128 -0x1.71573cp-8 : -0xf.f82149e2517d5eaf2e0a20fdb4ap-12 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.71573cp-8 : -0xf.f82149e2517d5eaf2e0a20fdb4ap-12 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.71573cp-8 : -0xf.f82149e2517d5eaf2e0a20fdb498p-12 : inexact-ok
+= exp2m1 upward binary128 -0x1.71573cp-8 : -0xf.f82149e2517d5eaf2e0a20fdb498p-12 : inexact-ok
+= exp2m1 downward ibm128 -0x1.71573cp-8 : -0xf.f82149e2517d5eaf2e0a20fdb8p-12 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.71573cp-8 : -0xf.f82149e2517d5eaf2e0a20fdb4p-12 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.71573cp-8 : -0xf.f82149e2517d5eaf2e0a20fdb4p-12 : inexact-ok
+= exp2m1 upward ibm128 -0x1.71573cp-8 : -0xf.f82149e2517d5eaf2e0a20fdb4p-12 : inexact-ok
+= exp2m1 downward binary32 -0x1.71573ep-8 : -0xf.f8216p-12 : inexact-ok
+= exp2m1 tonearest binary32 -0x1.71573ep-8 : -0xf.f8216p-12 : inexact-ok
+= exp2m1 towardzero binary32 -0x1.71573ep-8 : -0xf.f8215p-12 : inexact-ok
+= exp2m1 upward binary32 -0x1.71573ep-8 : -0xf.f8215p-12 : inexact-ok
+= exp2m1 downward binary64 -0x1.71573ep-8 : -0xf.f8215ffa71228p-12 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.71573ep-8 : -0xf.f8215ffa71228p-12 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.71573ep-8 : -0xf.f8215ffa7122p-12 : inexact-ok
+= exp2m1 upward binary64 -0x1.71573ep-8 : -0xf.f8215ffa7122p-12 : inexact-ok
+= exp2m1 downward intel96 -0x1.71573ep-8 : -0xf.f8215ffa7122465p-12 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.71573ep-8 : -0xf.f8215ffa7122464p-12 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.71573ep-8 : -0xf.f8215ffa7122464p-12 : inexact-ok
+= exp2m1 upward intel96 -0x1.71573ep-8 : -0xf.f8215ffa7122464p-12 : inexact-ok
+= exp2m1 downward m68k96 -0x1.71573ep-8 : -0xf.f8215ffa7122465p-12 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.71573ep-8 : -0xf.f8215ffa7122464p-12 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.71573ep-8 : -0xf.f8215ffa7122464p-12 : inexact-ok
+= exp2m1 upward m68k96 -0x1.71573ep-8 : -0xf.f8215ffa7122464p-12 : inexact-ok
+= exp2m1 downward binary128 -0x1.71573ep-8 : -0xf.f8215ffa71224646dbc2f07be028p-12 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.71573ep-8 : -0xf.f8215ffa71224646dbc2f07be02p-12 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.71573ep-8 : -0xf.f8215ffa71224646dbc2f07be02p-12 : inexact-ok
+= exp2m1 upward binary128 -0x1.71573ep-8 : -0xf.f8215ffa71224646dbc2f07be02p-12 : inexact-ok
+= exp2m1 downward ibm128 -0x1.71573ep-8 : -0xf.f8215ffa71224646dbc2f07be4p-12 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.71573ep-8 : -0xf.f8215ffa71224646dbc2f07bep-12 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.71573ep-8 : -0xf.f8215ffa71224646dbc2f07bep-12 : inexact-ok
+= exp2m1 upward ibm128 -0x1.71573ep-8 : -0xf.f8215ffa71224646dbc2f07bep-12 : inexact-ok
+= exp2m1 downward binary64 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a8p-12 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a8p-12 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79ap-12 : inexact-ok
+= exp2m1 upward binary64 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79ap-12 : inexact-ok
+= exp2m1 downward intel96 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a429p-12 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a429p-12 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428p-12 : inexact-ok
+= exp2m1 upward intel96 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428p-12 : inexact-ok
+= exp2m1 downward m68k96 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a429p-12 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a429p-12 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428p-12 : inexact-ok
+= exp2m1 upward m68k96 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428p-12 : inexact-ok
+= exp2m1 downward binary128 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428ee6c75a3db64p-12 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428ee6c75a3db64p-12 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428ee6c75a3db638p-12 : inexact-ok
+= exp2m1 upward binary128 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428ee6c75a3db638p-12 : inexact-ok
+= exp2m1 downward ibm128 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428ee6c75a3db8p-12 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428ee6c75a3db8p-12 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428ee6c75a3db4p-12 : inexact-ok
+= exp2m1 upward ibm128 -0x1.71573dd150de9p-8 : -0xf.f8215df6b79a428ee6c75a3db4p-12 : inexact-ok
+= exp2m1 downward binary64 -0x1.71573dd150deap-8 : -0xf.f8215df6b79bp-12 : inexact-ok
+= exp2m1 tonearest binary64 -0x1.71573dd150deap-8 : -0xf.f8215df6b79bp-12 : inexact-ok
+= exp2m1 towardzero binary64 -0x1.71573dd150deap-8 : -0xf.f8215df6b79a8p-12 : inexact-ok
+= exp2m1 upward binary64 -0x1.71573dd150deap-8 : -0xf.f8215df6b79a8p-12 : inexact-ok
+= exp2m1 downward intel96 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af35p-12 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af35p-12 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34p-12 : inexact-ok
+= exp2m1 upward intel96 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34p-12 : inexact-ok
+= exp2m1 downward m68k96 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af35p-12 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af35p-12 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34p-12 : inexact-ok
+= exp2m1 upward m68k96 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34p-12 : inexact-ok
+= exp2m1 downward binary128 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34fe3ee32ce808p-12 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34fe3ee32ce8078p-12 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34fe3ee32ce8078p-12 : inexact-ok
+= exp2m1 upward binary128 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34fe3ee32ce8078p-12 : inexact-ok
+= exp2m1 downward ibm128 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34fe3ee32ce84p-12 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34fe3ee32ce8p-12 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34fe3ee32ce8p-12 : inexact-ok
+= exp2m1 upward ibm128 -0x1.71573dd150deap-8 : -0xf.f8215df6b79af34fe3ee32ce8p-12 : inexact-ok
+= exp2m1 downward intel96 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfep-12 : inexact-ok
+= exp2m1 tonearest intel96 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfdp-12 : inexact-ok
+= exp2m1 towardzero intel96 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfdp-12 : inexact-ok
+= exp2m1 upward intel96 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfdp-12 : inexact-ok
+= exp2m1 downward m68k96 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfep-12 : inexact-ok
+= exp2m1 tonearest m68k96 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfdp-12 : inexact-ok
+= exp2m1 towardzero m68k96 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfdp-12 : inexact-ok
+= exp2m1 upward m68k96 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfdp-12 : inexact-ok
+= exp2m1 downward binary128 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfd72920871871e8p-12 : inexact-ok
+= exp2m1 tonearest binary128 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfd72920871871ep-12 : inexact-ok
+= exp2m1 towardzero binary128 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfd72920871871ep-12 : inexact-ok
+= exp2m1 upward binary128 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfd72920871871ep-12 : inexact-ok
+= exp2m1 downward ibm128 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfd72920871874p-12 : inexact-ok
+= exp2m1 tonearest ibm128 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfd7292087187p-12 : inexact-ok
+= exp2m1 towardzero ibm128 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfd7292087187p-12 : inexact-ok
+= exp2m1 upward ibm128 -0x1.71573dd150de9ccap-8 : -0xf.f8215df6b79acfd7292087187p-12 : inexact-ok
+exp2m1 0x9.3d27303441ac81fp-4
+= exp2m1 downward binary32 0x9.3d274p-4 : 0x7.e00148p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.3d274p-4 : 0x7.e00148p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.3d274p-4 : 0x7.e00148p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.3d274p-4 : 0x7.e0015p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3d274p-4 : 0x7.e001481f3263cp-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3d274p-4 : 0x7.e001481f3263cp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3d274p-4 : 0x7.e001481f3263cp-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3d274p-4 : 0x7.e001481f3264p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3d274p-4 : 0x7.e001481f3263d8a8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3d274p-4 : 0x7.e001481f3263d8bp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3d274p-4 : 0x7.e001481f3263d8a8p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3d274p-4 : 0x7.e001481f3263d8bp-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3d274p-4 : 0x7.e001481f3263d8a8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3d274p-4 : 0x7.e001481f3263d8bp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3d274p-4 : 0x7.e001481f3263d8a8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3d274p-4 : 0x7.e001481f3263d8bp-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3d274p-4 : 0x7.e001481f3263d8ac6414e72e283p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3d274p-4 : 0x7.e001481f3263d8ac6414e72e2834p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3d274p-4 : 0x7.e001481f3263d8ac6414e72e283p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3d274p-4 : 0x7.e001481f3263d8ac6414e72e2834p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3d274p-4 : 0x7.e001481f3263d8ac6414e72e28p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3d274p-4 : 0x7.e001481f3263d8ac6414e72e28p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3d274p-4 : 0x7.e001481f3263d8ac6414e72e28p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3d274p-4 : 0x7.e001481f3263d8ac6414e72e2ap-4 : inexact-ok
+= exp2m1 downward binary32 0x9.3d273p-4 : 0x7.e0013p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.3d273p-4 : 0x7.e00138p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.3d273p-4 : 0x7.e0013p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.3d273p-4 : 0x7.e00138p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3d273p-4 : 0x7.e0013792ad89cp-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3d273p-4 : 0x7.e0013792ad8ap-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3d273p-4 : 0x7.e0013792ad89cp-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3d273p-4 : 0x7.e0013792ad8ap-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3d273p-4 : 0x7.e0013792ad89e87p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3d273p-4 : 0x7.e0013792ad89e87p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3d273p-4 : 0x7.e0013792ad89e87p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3d273p-4 : 0x7.e0013792ad89e878p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3d273p-4 : 0x7.e0013792ad89e87p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3d273p-4 : 0x7.e0013792ad89e87p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3d273p-4 : 0x7.e0013792ad89e87p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3d273p-4 : 0x7.e0013792ad89e878p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3d273p-4 : 0x7.e0013792ad89e870b49a6c07763cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3d273p-4 : 0x7.e0013792ad89e870b49a6c07764p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3d273p-4 : 0x7.e0013792ad89e870b49a6c07763cp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3d273p-4 : 0x7.e0013792ad89e870b49a6c07764p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3d273p-4 : 0x7.e0013792ad89e870b49a6c0776p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3d273p-4 : 0x7.e0013792ad89e870b49a6c0776p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3d273p-4 : 0x7.e0013792ad89e870b49a6c0776p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3d273p-4 : 0x7.e0013792ad89e870b49a6c0778p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3d27303441adp-4 : 0x7.e00137c8ba274p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3d27303441adp-4 : 0x7.e00137c8ba278p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3d27303441adp-4 : 0x7.e00137c8ba274p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3d27303441adp-4 : 0x7.e00137c8ba278p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3d27303441adp-4 : 0x7.e00137c8ba276558p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3d27303441adp-4 : 0x7.e00137c8ba276558p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655111252e3b6824p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655111252e3b6828p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655111252e3b6824p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655111252e3b6828p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655111252e3b68p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655111252e3b68p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655111252e3b68p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3d27303441adp-4 : 0x7.e00137c8ba27655111252e3b6ap-4 : inexact-ok
+= exp2m1 downward binary64 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26cp-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba27p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26cp-4 : inexact-ok
+= exp2m1 upward binary64 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba27p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0e8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0fp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0e8p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0fp-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0e8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0fp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0e8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0fp-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0ecea8262c755ep-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0ecea8262c755e4p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0ecea8262c755ep-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0ecea8262c755e4p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0ecea8262c754p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0ecea8262c756p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0ecea8262c754p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3d27303441ac8p-4 : 0x7.e00137c8ba26e0ecea8262c756p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2e8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2fp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2e8p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2fp-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2e8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2fp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2e8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2fp-4 : inexact-ok
+= exp2m1 downward binary128 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2edee98199bb7a4p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2edee98199bb7a4p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2edee98199bb7a4p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2edee98199bb7a8p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2edee98199bb6p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2edee98199bb8p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2edee98199bb6p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.3d27303441ac81fp-4 : 0x7.e00137c8ba26e2edee98199bb8p-4 : inexact-ok
+exp2m1 0x8.fe7f91d947a1cfdp-4
+= exp2m1 downward binary32 0x8.fe7fap-4 : 0x7.9f8b08p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x8.fe7fap-4 : 0x7.9f8b08p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x8.fe7fap-4 : 0x7.9f8b08p-4 : inexact-ok
+= exp2m1 upward binary32 0x8.fe7fap-4 : 0x7.9f8b1p-4 : inexact-ok
+= exp2m1 downward binary64 0x8.fe7fap-4 : 0x7.9f8b08c74330cp-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.fe7fap-4 : 0x7.9f8b08c74330cp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.fe7fap-4 : 0x7.9f8b08c74330cp-4 : inexact-ok
+= exp2m1 upward binary64 0x8.fe7fap-4 : 0x7.9f8b08c74331p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.fe7fap-4 : 0x7.9f8b08c74330d558p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.fe7fap-4 : 0x7.9f8b08c74330d558p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.fe7fap-4 : 0x7.9f8b08c74330d558p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.fe7fap-4 : 0x7.9f8b08c74330d56p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.fe7fap-4 : 0x7.9f8b08c74330d558p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.fe7fap-4 : 0x7.9f8b08c74330d558p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.fe7fap-4 : 0x7.9f8b08c74330d558p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.fe7fap-4 : 0x7.9f8b08c74330d56p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.fe7fap-4 : 0x7.9f8b08c74330d5593c2878f3ef0cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.fe7fap-4 : 0x7.9f8b08c74330d5593c2878f3ef0cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.fe7fap-4 : 0x7.9f8b08c74330d5593c2878f3ef0cp-4 : inexact-ok
+= exp2m1 upward binary128 0x8.fe7fap-4 : 0x7.9f8b08c74330d5593c2878f3ef1p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.fe7fap-4 : 0x7.9f8b08c74330d5593c2878f3eep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.fe7fap-4 : 0x7.9f8b08c74330d5593c2878f3fp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.fe7fap-4 : 0x7.9f8b08c74330d5593c2878f3eep-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.fe7fap-4 : 0x7.9f8b08c74330d5593c2878f3fp-4 : inexact-ok
+= exp2m1 downward binary32 0x8.fe7f9p-4 : 0x7.9f8af8p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x8.fe7f9p-4 : 0x7.9f8af8p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x8.fe7f9p-4 : 0x7.9f8af8p-4 : inexact-ok
+= exp2m1 upward binary32 0x8.fe7f9p-4 : 0x7.9f8bp-4 : inexact-ok
+= exp2m1 downward binary64 0x8.fe7f9p-4 : 0x7.9f8af8676cd34p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.fe7f9p-4 : 0x7.9f8af8676cd34p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.fe7f9p-4 : 0x7.9f8af8676cd34p-4 : inexact-ok
+= exp2m1 upward binary64 0x8.fe7f9p-4 : 0x7.9f8af8676cd38p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a8p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a8p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.fe7f9p-4 : 0x7.9f8af8676cd352bp-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a8p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.fe7f9p-4 : 0x7.9f8af8676cd352bp-4 : inexact-ok
+= exp2m1 downward binary128 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a96d4d7a035208p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a96d4d7a03520cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a96d4d7a035208p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a96d4d7a03520cp-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a96d4d7a0352p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a96d4d7a0352p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a96d4d7a0352p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.fe7f9p-4 : 0x7.9f8af8676cd352a96d4d7a0354p-4 : inexact-ok
+= exp2m1 downward binary64 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752cp-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc753p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752cp-4 : inexact-ok
+= exp2m1 upward binary64 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc753p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc3p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc3p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc3p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc38p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc3p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc3p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc3p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc38p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc327492264c85a4p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc327492264c85a4p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc327492264c85a4p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc327492264c85a8p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc327492264c84p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc327492264c86p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc327492264c84p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.fe7f91d947a2p-4 : 0x7.9f8afa4bc752fc327492264c86p-4 : inexact-ok
+= exp2m1 downward binary64 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7524p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7528p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7524p-4 : inexact-ok
+= exp2m1 upward binary64 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7528p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc752793p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc752793p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc752793p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527938p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc752793p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc752793p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc752793p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527938p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527933c1c8f9383df4p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527933c1c8f9383df4p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527933c1c8f9383df4p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527933c1c8f9383df8p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527933c1c8f9383cp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527933c1c8f9383ep-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527933c1c8f9383cp-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.fe7f91d947a18p-4 : 0x7.9f8afa4bc7527933c1c8f9383ep-4 : inexact-ok
+= exp2m1 downward intel96 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752caep-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752caep-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752caep-4 : inexact-ok
+= exp2m1 upward intel96 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752caep-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752caep-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752caep-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae8p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae1d203a9f402dp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae1d203a9f402d4p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae1d203a9f402dp-4 : inexact-ok
+= exp2m1 upward binary128 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae1d203a9f402d4p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae1d203a9f402p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae1d203a9f402p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae1d203a9f402p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.fe7f91d947a1cfdp-4 : 0x7.9f8afa4bc752cae1d203a9f404p-4 : inexact-ok
+exp2m1 0x9.1217d12087d76b2ca347683e4b5p-4
+= exp2m1 downward binary32 0x9.1217ep-4 : 0x7.b3a128p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.1217ep-4 : 0x7.b3a13p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.1217ep-4 : 0x7.b3a128p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.1217ep-4 : 0x7.b3a13p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.1217ep-4 : 0x7.b3a12ca1e033p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.1217ep-4 : 0x7.b3a12ca1e0334p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.1217ep-4 : 0x7.b3a12ca1e033p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.1217ep-4 : 0x7.b3a12ca1e0334p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.1217ep-4 : 0x7.b3a12ca1e0333df8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.1217ep-4 : 0x7.b3a12ca1e0333df8p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.1217ep-4 : 0x7.b3a12ca1e0333df8p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.1217ep-4 : 0x7.b3a12ca1e0333ep-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.1217ep-4 : 0x7.b3a12ca1e0333df8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.1217ep-4 : 0x7.b3a12ca1e0333df8p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.1217ep-4 : 0x7.b3a12ca1e0333df8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.1217ep-4 : 0x7.b3a12ca1e0333ep-4 : inexact-ok
+= exp2m1 downward binary128 0x9.1217ep-4 : 0x7.b3a12ca1e0333dfa0d1166a048cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.1217ep-4 : 0x7.b3a12ca1e0333dfa0d1166a048cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.1217ep-4 : 0x7.b3a12ca1e0333dfa0d1166a048cp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.1217ep-4 : 0x7.b3a12ca1e0333dfa0d1166a048c4p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.1217ep-4 : 0x7.b3a12ca1e0333dfa0d1166a048p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.1217ep-4 : 0x7.b3a12ca1e0333dfa0d1166a048p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.1217ep-4 : 0x7.b3a12ca1e0333dfa0d1166a048p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.1217ep-4 : 0x7.b3a12ca1e0333dfa0d1166a04ap-4 : inexact-ok
+= exp2m1 downward binary32 0x9.1217dp-4 : 0x7.b3a118p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.1217dp-4 : 0x7.b3a12p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.1217dp-4 : 0x7.b3a118p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.1217dp-4 : 0x7.b3a12p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.1217dp-4 : 0x7.b3a11c341d93p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.1217dp-4 : 0x7.b3a11c341d934p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.1217dp-4 : 0x7.b3a11c341d93p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.1217dp-4 : 0x7.b3a11c341d934p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.1217dp-4 : 0x7.b3a11c341d93389p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.1217dp-4 : 0x7.b3a11c341d93389p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.1217dp-4 : 0x7.b3a11c341d93389p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.1217dp-4 : 0x7.b3a11c341d933898p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.1217dp-4 : 0x7.b3a11c341d93389p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.1217dp-4 : 0x7.b3a11c341d93389p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.1217dp-4 : 0x7.b3a11c341d93389p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.1217dp-4 : 0x7.b3a11c341d933898p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.1217dp-4 : 0x7.b3a11c341d933890914aa5f4fe2p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.1217dp-4 : 0x7.b3a11c341d933890914aa5f4fe2p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.1217dp-4 : 0x7.b3a11c341d933890914aa5f4fe2p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.1217dp-4 : 0x7.b3a11c341d933890914aa5f4fe24p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.1217dp-4 : 0x7.b3a11c341d933890914aa5f4fep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.1217dp-4 : 0x7.b3a11c341d933890914aa5f4fep-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.1217dp-4 : 0x7.b3a11c341d933890914aa5f4fep-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.1217dp-4 : 0x7.b3a11c341d933890914aa5f5p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd4p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd8p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd4p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd8p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79f8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79f8p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79f8p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd7ap-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79f8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79f8p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79f8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd7ap-4 : inexact-ok
+= exp2m1 downward binary128 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79fbddf335019f84p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79fbddf335019f88p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79fbddf335019f84p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79fbddf335019f88p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79fbddf335019ep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79fbddf33501ap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79fbddf335019ep-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.1217d12087d78p-4 : 0x7.b3a11d5c60bd79fbddf33501ap-4 : inexact-ok
+= exp2m1 downward binary64 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bccp-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bdp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bccp-4 : inexact-ok
+= exp2m1 upward binary64 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bdp-4 : inexact-ok
+= exp2m1 downward intel96 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf688p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf69p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf688p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf69p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf688p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf69p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf688p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf69p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf68dc91a2bb9dadcp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf68dc91a2bb9daep-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf68dc91a2bb9dadcp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf68dc91a2bb9daep-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf68dc91a2bb9dap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf68dc91a2bb9dap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf68dc91a2bb9dap-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.1217d12087d7p-4 : 0x7.b3a11d5c60bcf68dc91a2bb9dcp-4 : inexact-ok
+= exp2m1 downward intel96 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd6498p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd64ap-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd6498p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd64ap-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd6498p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd64ap-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd6498p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd64ap-4 : inexact-ok
+= exp2m1 downward binary128 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd649d17cf6adf53f8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd649d17cf6adf53fcp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd649d17cf6adf53f8p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd649d17cf6adf53fcp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd649d17cf6adf52p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd649d17cf6adf54p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd649d17cf6adf52p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.1217d12087d76b3p-4 : 0x7.b3a11d5c60bd649d17cf6adf54p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd6488p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd649p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd6488p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd649p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd6488p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd649p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd6488p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd649p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd648caa0ccfbe2bp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd648caa0ccfbe2b04p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd648caa0ccfbe2bp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd648caa0ccfbe2b04p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd648caa0ccfbe2ap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd648caa0ccfbe2cp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd648caa0ccfbe2ap-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.1217d12087d76b2p-4 : 0x7.b3a11d5c60bd648caa0ccfbe2cp-4 : inexact-ok
+= exp2m1 downward binary128 0x9.1217d12087d76b2ca347683e4b5p-4 : 0x7.b3a11d5c60bd6499a40644bc6388p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.1217d12087d76b2ca347683e4b5p-4 : 0x7.b3a11d5c60bd6499a40644bc6388p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.1217d12087d76b2ca347683e4b5p-4 : 0x7.b3a11d5c60bd6499a40644bc6388p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.1217d12087d76b2ca347683e4b5p-4 : 0x7.b3a11d5c60bd6499a40644bc638cp-4 : inexact-ok
+= exp2m1 downward binary128 0x9.1217d12087d76b2ca347683e4cp-4 : 0x7.b3a11d5c60bd6499a40644bc643cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.1217d12087d76b2ca347683e4cp-4 : 0x7.b3a11d5c60bd6499a40644bc643cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.1217d12087d76b2ca347683e4cp-4 : 0x7.b3a11d5c60bd6499a40644bc643cp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.1217d12087d76b2ca347683e4cp-4 : 0x7.b3a11d5c60bd6499a40644bc644p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.1217d12087d76b2ca347683e4cp-4 : 0x7.b3a11d5c60bd6499a40644bc64p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.1217d12087d76b2ca347683e4cp-4 : 0x7.b3a11d5c60bd6499a40644bc64p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.1217d12087d76b2ca347683e4cp-4 : 0x7.b3a11d5c60bd6499a40644bc64p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.1217d12087d76b2ca347683e4cp-4 : 0x7.b3a11d5c60bd6499a40644bc66p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.1217d12087d76b2ca347683e48p-4 : 0x7.b3a11d5c60bd6499a40644bc602p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.1217d12087d76b2ca347683e48p-4 : 0x7.b3a11d5c60bd6499a40644bc6024p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.1217d12087d76b2ca347683e48p-4 : 0x7.b3a11d5c60bd6499a40644bc602p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.1217d12087d76b2ca347683e48p-4 : 0x7.b3a11d5c60bd6499a40644bc6024p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.1217d12087d76b2ca347683e48p-4 : 0x7.b3a11d5c60bd6499a40644bc6p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.1217d12087d76b2ca347683e48p-4 : 0x7.b3a11d5c60bd6499a40644bc6p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.1217d12087d76b2ca347683e48p-4 : 0x7.b3a11d5c60bd6499a40644bc6p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.1217d12087d76b2ca347683e48p-4 : 0x7.b3a11d5c60bd6499a40644bc62p-4 : inexact-ok
+exp2m1 0x8.80db492a604297e1a3816aeec568p-4
+= exp2m1 downward binary32 0x8.80db5p-4 : 0x7.205198p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x8.80db5p-4 : 0x7.2051ap-4 : inexact-ok
+= exp2m1 towardzero binary32 0x8.80db5p-4 : 0x7.205198p-4 : inexact-ok
+= exp2m1 upward binary32 0x8.80db5p-4 : 0x7.2051ap-4 : inexact-ok
+= exp2m1 downward binary64 0x8.80db5p-4 : 0x7.20519dbc87ff4p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.80db5p-4 : 0x7.20519dbc87ff4p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.80db5p-4 : 0x7.20519dbc87ff4p-4 : inexact-ok
+= exp2m1 upward binary64 0x8.80db5p-4 : 0x7.20519dbc87ff8p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.80db5p-4 : 0x7.20519dbc87ff4b18p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.80db5p-4 : 0x7.20519dbc87ff4b2p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.80db5p-4 : 0x7.20519dbc87ff4b18p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.80db5p-4 : 0x7.20519dbc87ff4b2p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.80db5p-4 : 0x7.20519dbc87ff4b18p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.80db5p-4 : 0x7.20519dbc87ff4b2p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.80db5p-4 : 0x7.20519dbc87ff4b18p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.80db5p-4 : 0x7.20519dbc87ff4b2p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.80db5p-4 : 0x7.20519dbc87ff4b1d68fc5fab89e8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.80db5p-4 : 0x7.20519dbc87ff4b1d68fc5fab89ecp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.80db5p-4 : 0x7.20519dbc87ff4b1d68fc5fab89e8p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.80db5p-4 : 0x7.20519dbc87ff4b1d68fc5fab89ecp-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.80db5p-4 : 0x7.20519dbc87ff4b1d68fc5fab88p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.80db5p-4 : 0x7.20519dbc87ff4b1d68fc5fab8ap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.80db5p-4 : 0x7.20519dbc87ff4b1d68fc5fab88p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.80db5p-4 : 0x7.20519dbc87ff4b1d68fc5fab8ap-4 : inexact-ok
+= exp2m1 downward binary32 0x8.80db4p-4 : 0x7.205188p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x8.80db4p-4 : 0x7.20519p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x8.80db4p-4 : 0x7.205188p-4 : inexact-ok
+= exp2m1 upward binary32 0x8.80db4p-4 : 0x7.20519p-4 : inexact-ok
+= exp2m1 downward binary64 0x8.80db4p-4 : 0x7.20518db4e108p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.80db4p-4 : 0x7.20518db4e1084p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.80db4p-4 : 0x7.20518db4e108p-4 : inexact-ok
+= exp2m1 upward binary64 0x8.80db4p-4 : 0x7.20518db4e1084p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.80db4p-4 : 0x7.20518db4e108274p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.80db4p-4 : 0x7.20518db4e1082748p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.80db4p-4 : 0x7.20518db4e108274p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.80db4p-4 : 0x7.20518db4e1082748p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.80db4p-4 : 0x7.20518db4e108274p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.80db4p-4 : 0x7.20518db4e1082748p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.80db4p-4 : 0x7.20518db4e108274p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.80db4p-4 : 0x7.20518db4e1082748p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.80db4p-4 : 0x7.20518db4e10827450e628bf8696p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.80db4p-4 : 0x7.20518db4e10827450e628bf86964p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.80db4p-4 : 0x7.20518db4e10827450e628bf8696p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.80db4p-4 : 0x7.20518db4e10827450e628bf86964p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.80db4p-4 : 0x7.20518db4e10827450e628bf868p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.80db4p-4 : 0x7.20518db4e10827450e628bf86ap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.80db4p-4 : 0x7.20518db4e10827450e628bf868p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.80db4p-4 : 0x7.20518db4e10827450e628bf86ap-4 : inexact-ok
+= exp2m1 downward binary64 0x8.80db492a6043p-4 : 0x7.205196e3a379p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.80db492a6043p-4 : 0x7.205196e3a3794p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.80db492a6043p-4 : 0x7.205196e3a379p-4 : inexact-ok
+= exp2m1 upward binary64 0x8.80db492a6043p-4 : 0x7.205196e3a3794p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.80db492a6043p-4 : 0x7.205196e3a37922p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.80db492a6043p-4 : 0x7.205196e3a37922p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.80db492a6043p-4 : 0x7.205196e3a37922p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.80db492a6043p-4 : 0x7.205196e3a3792208p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.80db492a6043p-4 : 0x7.205196e3a37922p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.80db492a6043p-4 : 0x7.205196e3a37922p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.80db492a6043p-4 : 0x7.205196e3a37922p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.80db492a6043p-4 : 0x7.205196e3a3792208p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.80db492a6043p-4 : 0x7.205196e3a3792200f7c9c53af1ep-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.80db492a6043p-4 : 0x7.205196e3a3792200f7c9c53af1ep-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.80db492a6043p-4 : 0x7.205196e3a3792200f7c9c53af1ep-4 : inexact-ok
+= exp2m1 upward binary128 0x8.80db492a6043p-4 : 0x7.205196e3a3792200f7c9c53af1e4p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.80db492a6043p-4 : 0x7.205196e3a3792200f7c9c53afp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.80db492a6043p-4 : 0x7.205196e3a3792200f7c9c53af2p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.80db492a6043p-4 : 0x7.205196e3a3792200f7c9c53afp-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.80db492a6043p-4 : 0x7.205196e3a3792200f7c9c53af2p-4 : inexact-ok
+= exp2m1 downward binary64 0x8.80db492a60428p-4 : 0x7.205196e3a3788p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.80db492a60428p-4 : 0x7.205196e3a378cp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.80db492a60428p-4 : 0x7.205196e3a3788p-4 : inexact-ok
+= exp2m1 upward binary64 0x8.80db492a60428p-4 : 0x7.205196e3a378cp-4 : inexact-ok
+= exp2m1 downward intel96 0x8.80db492a60428p-4 : 0x7.205196e3a378a1cp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.80db492a60428p-4 : 0x7.205196e3a378a1cp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.80db492a60428p-4 : 0x7.205196e3a378a1cp-4 : inexact-ok
+= exp2m1 upward intel96 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.80db492a60428p-4 : 0x7.205196e3a378a1cp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.80db492a60428p-4 : 0x7.205196e3a378a1cp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.80db492a60428p-4 : 0x7.205196e3a378a1cp-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c8p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c3c00a2cd488b4p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c3c00a2cd488b8p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c3c00a2cd488b4p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c3c00a2cd488b8p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c3c00a2cd488p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c3c00a2cd488p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c3c00a2cd488p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.80db492a60428p-4 : 0x7.205196e3a378a1c3c00a2cd48ap-4 : inexact-ok
+= exp2m1 downward intel96 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9b8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9cp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9b8p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9cp-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9b8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9cp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9b8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9cp-4 : inexact-ok
+= exp2m1 downward binary128 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9bf32d72174af6cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9bf32d72174af6cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9bf32d72174af6cp-4 : inexact-ok
+= exp2m1 upward binary128 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9bf32d72174af7p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9bf32d72174aep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9bf32d72174bp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9bf32d72174aep-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.80db492a604297fp-4 : 0x7.205196e3a378b9bf32d72174bp-4 : inexact-ok
+= exp2m1 downward intel96 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9a8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9bp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9a8p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9bp-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9a8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9bp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9a8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9bp-4 : inexact-ok
+= exp2m1 downward binary128 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9af2b302981a29cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9af2b302981a2ap-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9af2b302981a29cp-4 : inexact-ok
+= exp2m1 upward binary128 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9af2b302981a2ap-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9af2b302981a2p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9af2b302981a2p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9af2b302981a2p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.80db492a604297ep-4 : 0x7.205196e3a378b9af2b302981a4p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.80db492a604297e1a3816aeec568p-4 : 0x7.205196e3a378b9b0cf7a36d2e858p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.80db492a604297e1a3816aeec568p-4 : 0x7.205196e3a378b9b0cf7a36d2e85cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.80db492a604297e1a3816aeec568p-4 : 0x7.205196e3a378b9b0cf7a36d2e858p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.80db492a604297e1a3816aeec568p-4 : 0x7.205196e3a378b9b0cf7a36d2e85cp-4 : inexact-ok
+= exp2m1 downward binary128 0x8.80db492a604297e1a3816aeec8p-4 : 0x7.205196e3a378b9b0cf7a36d2eaf4p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.80db492a604297e1a3816aeec8p-4 : 0x7.205196e3a378b9b0cf7a36d2eaf4p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.80db492a604297e1a3816aeec8p-4 : 0x7.205196e3a378b9b0cf7a36d2eaf4p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.80db492a604297e1a3816aeec8p-4 : 0x7.205196e3a378b9b0cf7a36d2eaf8p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.80db492a604297e1a3816aeec8p-4 : 0x7.205196e3a378b9b0cf7a36d2eap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.80db492a604297e1a3816aeec8p-4 : 0x7.205196e3a378b9b0cf7a36d2eap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.80db492a604297e1a3816aeec8p-4 : 0x7.205196e3a378b9b0cf7a36d2eap-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.80db492a604297e1a3816aeec8p-4 : 0x7.205196e3a378b9b0cf7a36d2ecp-4 : inexact-ok
+= exp2m1 downward binary128 0x8.80db492a604297e1a3816aeec4p-4 : 0x7.205196e3a378b9b0cf7a36d2e6fp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.80db492a604297e1a3816aeec4p-4 : 0x7.205196e3a378b9b0cf7a36d2e6f4p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.80db492a604297e1a3816aeec4p-4 : 0x7.205196e3a378b9b0cf7a36d2e6fp-4 : inexact-ok
+= exp2m1 upward binary128 0x8.80db492a604297e1a3816aeec4p-4 : 0x7.205196e3a378b9b0cf7a36d2e6f4p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.80db492a604297e1a3816aeec4p-4 : 0x7.205196e3a378b9b0cf7a36d2e6p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.80db492a604297e1a3816aeec4p-4 : 0x7.205196e3a378b9b0cf7a36d2e6p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.80db492a604297e1a3816aeec4p-4 : 0x7.205196e3a378b9b0cf7a36d2e6p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.80db492a604297e1a3816aeec4p-4 : 0x7.205196e3a378b9b0cf7a36d2e8p-4 : inexact-ok
+exp2m1 0x8.872e307510a80e501665a37c218p-4
+= exp2m1 downward binary32 0x8.872e4p-4 : 0x7.26a87p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x8.872e4p-4 : 0x7.26a87p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x8.872e4p-4 : 0x7.26a87p-4 : inexact-ok
+= exp2m1 upward binary32 0x8.872e4p-4 : 0x7.26a878p-4 : inexact-ok
+= exp2m1 downward binary64 0x8.872e4p-4 : 0x7.26a872486f444p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.872e4p-4 : 0x7.26a872486f448p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.872e4p-4 : 0x7.26a872486f444p-4 : inexact-ok
+= exp2m1 upward binary64 0x8.872e4p-4 : 0x7.26a872486f448p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.872e4p-4 : 0x7.26a872486f447ep-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.872e4p-4 : 0x7.26a872486f447e08p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.872e4p-4 : 0x7.26a872486f447ep-4 : inexact-ok
+= exp2m1 upward intel96 0x8.872e4p-4 : 0x7.26a872486f447e08p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.872e4p-4 : 0x7.26a872486f447ep-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.872e4p-4 : 0x7.26a872486f447e08p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.872e4p-4 : 0x7.26a872486f447ep-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.872e4p-4 : 0x7.26a872486f447e08p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.872e4p-4 : 0x7.26a872486f447e078a3ee325eaecp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.872e4p-4 : 0x7.26a872486f447e078a3ee325eafp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.872e4p-4 : 0x7.26a872486f447e078a3ee325eaecp-4 : inexact-ok
+= exp2m1 upward binary128 0x8.872e4p-4 : 0x7.26a872486f447e078a3ee325eafp-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.872e4p-4 : 0x7.26a872486f447e078a3ee325eap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.872e4p-4 : 0x7.26a872486f447e078a3ee325eap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.872e4p-4 : 0x7.26a872486f447e078a3ee325eap-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.872e4p-4 : 0x7.26a872486f447e078a3ee325ecp-4 : inexact-ok
+= exp2m1 downward binary32 0x8.872e3p-4 : 0x7.26a86p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x8.872e3p-4 : 0x7.26a86p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x8.872e3p-4 : 0x7.26a86p-4 : inexact-ok
+= exp2m1 upward binary32 0x8.872e3p-4 : 0x7.26a868p-4 : inexact-ok
+= exp2m1 downward binary64 0x8.872e3p-4 : 0x7.26a8623c6371p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.872e3p-4 : 0x7.26a8623c63714p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.872e3p-4 : 0x7.26a8623c6371p-4 : inexact-ok
+= exp2m1 upward binary64 0x8.872e3p-4 : 0x7.26a8623c63714p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.872e3p-4 : 0x7.26a8623c6371246p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.872e3p-4 : 0x7.26a8623c6371246p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.872e3p-4 : 0x7.26a8623c6371246p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.872e3p-4 : 0x7.26a8623c63712468p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.872e3p-4 : 0x7.26a8623c6371246p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.872e3p-4 : 0x7.26a8623c6371246p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.872e3p-4 : 0x7.26a8623c6371246p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.872e3p-4 : 0x7.26a8623c63712468p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.872e3p-4 : 0x7.26a8623c63712463c2eefe5a36f4p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.872e3p-4 : 0x7.26a8623c63712463c2eefe5a36f8p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.872e3p-4 : 0x7.26a8623c63712463c2eefe5a36f4p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.872e3p-4 : 0x7.26a8623c63712463c2eefe5a36f8p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.872e3p-4 : 0x7.26a8623c63712463c2eefe5a36p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.872e3p-4 : 0x7.26a8623c63712463c2eefe5a36p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.872e3p-4 : 0x7.26a8623c63712463c2eefe5a36p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.872e3p-4 : 0x7.26a8623c63712463c2eefe5a38p-4 : inexact-ok
+= exp2m1 downward binary64 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c8p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c8p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c8p-4 : inexact-ok
+= exp2m1 upward binary64 0x8.872e307510a88p-4 : 0x7.26a862b1cc3ccp-4 : inexact-ok
+= exp2m1 downward intel96 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c8108p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c8108p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c8108p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c811p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c8108p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c8108p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c8108p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c811p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c810bf7b30b834f38p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c810bf7b30b834f3cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c810bf7b30b834f38p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c810bf7b30b834f3cp-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c810bf7b30b834ep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c810bf7b30b835p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c810bf7b30b834ep-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.872e307510a88p-4 : 0x7.26a862b1cc3c810bf7b30b835p-4 : inexact-ok
+= exp2m1 downward binary64 0x8.872e307510a8p-4 : 0x7.26a862b1cc3cp-4 : inexact-ok
+= exp2m1 tonearest binary64 0x8.872e307510a8p-4 : 0x7.26a862b1cc3cp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x8.872e307510a8p-4 : 0x7.26a862b1cc3cp-4 : inexact-ok
+= exp2m1 upward binary64 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c4p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00a8p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00a8p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00a8p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00bp-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00a8p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00a8p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00a8p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00bp-4 : inexact-ok
+= exp2m1 downward binary128 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00ab99423142fae8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00ab99423142fae8p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00ab99423142fae8p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00ab99423142faecp-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00ab99423142fap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00ab99423142fap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00ab99423142fap-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.872e307510a8p-4 : 0x7.26a862b1cc3c00ab99423142fcp-4 : inexact-ok
+= exp2m1 downward intel96 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f1p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f18p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f1p-4 : inexact-ok
+= exp2m1 upward intel96 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f18p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f1p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f18p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f1p-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f18p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f166bdd5dc5b43cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f166bdd5dc5b44p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f166bdd5dc5b43cp-4 : inexact-ok
+= exp2m1 upward binary128 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f166bdd5dc5b44p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f166bdd5dc5b4p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f166bdd5dc5b4p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f166bdd5dc5b4p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.872e307510a80e6p-4 : 0x7.26a862b1cc3c0f166bdd5dc5b6p-4 : inexact-ok
+= exp2m1 downward intel96 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0fp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f08p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0fp-4 : inexact-ok
+= exp2m1 upward intel96 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f08p-4 : inexact-ok
+= exp2m1 downward m68k96 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0fp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f08p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0fp-4 : inexact-ok
+= exp2m1 upward m68k96 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f08p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f065fd18faa6c3p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f065fd18faa6c34p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f065fd18faa6c3p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f065fd18faa6c34p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f065fd18faa6cp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f065fd18faa6cp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f065fd18faa6cp-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.872e307510a80e5p-4 : 0x7.26a862b1cc3c0f065fd18faa6ep-4 : inexact-ok
+= exp2m1 downward binary128 0x8.872e307510a80e501665a37c218p-4 : 0x7.26a862b1cc3c0f0676480fe78df8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.872e307510a80e501665a37c218p-4 : 0x7.26a862b1cc3c0f0676480fe78dfcp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.872e307510a80e501665a37c218p-4 : 0x7.26a862b1cc3c0f0676480fe78df8p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.872e307510a80e501665a37c218p-4 : 0x7.26a862b1cc3c0f0676480fe78dfcp-4 : inexact-ok
+= exp2m1 downward binary128 0x8.872e307510a80e501665a37c24p-4 : 0x7.26a862b1cc3c0f0676480fe7907cp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.872e307510a80e501665a37c24p-4 : 0x7.26a862b1cc3c0f0676480fe7907cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.872e307510a80e501665a37c24p-4 : 0x7.26a862b1cc3c0f0676480fe7907cp-4 : inexact-ok
+= exp2m1 upward binary128 0x8.872e307510a80e501665a37c24p-4 : 0x7.26a862b1cc3c0f0676480fe7908p-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.872e307510a80e501665a37c24p-4 : 0x7.26a862b1cc3c0f0676480fe79p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.872e307510a80e501665a37c24p-4 : 0x7.26a862b1cc3c0f0676480fe79p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.872e307510a80e501665a37c24p-4 : 0x7.26a862b1cc3c0f0676480fe79p-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.872e307510a80e501665a37c24p-4 : 0x7.26a862b1cc3c0f0676480fe792p-4 : inexact-ok
+= exp2m1 downward binary128 0x8.872e307510a80e501665a37c2p-4 : 0x7.26a862b1cc3c0f0676480fe78c78p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x8.872e307510a80e501665a37c2p-4 : 0x7.26a862b1cc3c0f0676480fe78c7cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x8.872e307510a80e501665a37c2p-4 : 0x7.26a862b1cc3c0f0676480fe78c78p-4 : inexact-ok
+= exp2m1 upward binary128 0x8.872e307510a80e501665a37c2p-4 : 0x7.26a862b1cc3c0f0676480fe78c7cp-4 : inexact-ok
+= exp2m1 downward ibm128 0x8.872e307510a80e501665a37c2p-4 : 0x7.26a862b1cc3c0f0676480fe78cp-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x8.872e307510a80e501665a37c2p-4 : 0x7.26a862b1cc3c0f0676480fe78cp-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x8.872e307510a80e501665a37c2p-4 : 0x7.26a862b1cc3c0f0676480fe78cp-4 : inexact-ok
+= exp2m1 upward ibm128 0x8.872e307510a80e501665a37c2p-4 : 0x7.26a862b1cc3c0f0676480fe78ep-4 : inexact-ok
+exp2m1 0x9.10b9251f0cc9bdc81d6ab13bb74p-4
+= exp2m1 downward binary32 0x9.10b93p-4 : 0x7.b2392p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.10b93p-4 : 0x7.b2392p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.10b93p-4 : 0x7.b2392p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.10b93p-4 : 0x7.b23928p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.10b93p-4 : 0x7.b2392197a9c44p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.10b93p-4 : 0x7.b2392197a9c48p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.10b93p-4 : 0x7.b2392197a9c44p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.10b93p-4 : 0x7.b2392197a9c48p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.10b93p-4 : 0x7.b2392197a9c47dp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.10b93p-4 : 0x7.b2392197a9c47dp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.10b93p-4 : 0x7.b2392197a9c47dp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.10b93p-4 : 0x7.b2392197a9c47d08p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.10b93p-4 : 0x7.b2392197a9c47dp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.10b93p-4 : 0x7.b2392197a9c47dp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.10b93p-4 : 0x7.b2392197a9c47dp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.10b93p-4 : 0x7.b2392197a9c47d08p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.10b93p-4 : 0x7.b2392197a9c47d03c426172aa2dp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.10b93p-4 : 0x7.b2392197a9c47d03c426172aa2dp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.10b93p-4 : 0x7.b2392197a9c47d03c426172aa2dp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.10b93p-4 : 0x7.b2392197a9c47d03c426172aa2d4p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.10b93p-4 : 0x7.b2392197a9c47d03c426172aa2p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.10b93p-4 : 0x7.b2392197a9c47d03c426172aa2p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.10b93p-4 : 0x7.b2392197a9c47d03c426172aa2p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.10b93p-4 : 0x7.b2392197a9c47d03c426172aa4p-4 : inexact-ok
+= exp2m1 downward binary32 0x9.10b92p-4 : 0x7.b2391p-4 : inexact-ok
+= exp2m1 tonearest binary32 0x9.10b92p-4 : 0x7.b2391p-4 : inexact-ok
+= exp2m1 towardzero binary32 0x9.10b92p-4 : 0x7.b2391p-4 : inexact-ok
+= exp2m1 upward binary32 0x9.10b92p-4 : 0x7.b23918p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.10b92p-4 : 0x7.b239112ae0b48p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.10b92p-4 : 0x7.b239112ae0b48p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.10b92p-4 : 0x7.b239112ae0b48p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.10b92p-4 : 0x7.b239112ae0b4cp-4 : inexact-ok
+= exp2m1 downward intel96 0x9.10b92p-4 : 0x7.b239112ae0b48ffp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.10b92p-4 : 0x7.b239112ae0b48ffp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.10b92p-4 : 0x7.b239112ae0b48ffp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.10b92p-4 : 0x7.b239112ae0b48ff8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.10b92p-4 : 0x7.b239112ae0b48ffp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.10b92p-4 : 0x7.b239112ae0b48ffp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.10b92p-4 : 0x7.b239112ae0b48ffp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.10b92p-4 : 0x7.b239112ae0b48ff8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.10b92p-4 : 0x7.b239112ae0b48ff380e96789ee3p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.10b92p-4 : 0x7.b239112ae0b48ff380e96789ee3p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.10b92p-4 : 0x7.b239112ae0b48ff380e96789ee3p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.10b92p-4 : 0x7.b239112ae0b48ff380e96789ee34p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.10b92p-4 : 0x7.b239112ae0b48ff380e96789eep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.10b92p-4 : 0x7.b239112ae0b48ff380e96789eep-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.10b92p-4 : 0x7.b239112ae0b48ff380e96789eep-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.10b92p-4 : 0x7.b239112ae0b48ff380e96789fp-4 : inexact-ok
+= exp2m1 downward binary64 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecp-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecp-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecp-4 : inexact-ok
+= exp2m1 upward binary64 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6fp-4 : inexact-ok
+= exp2m1 downward intel96 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecffp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff8p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecffp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecffp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff8p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecffp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff5787297250098p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff5787297250098p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff5787297250098p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff578729725009cp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff578729725p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff578729725p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff578729725p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.10b9251f0ccap-4 : 0x7.b239166cbf6ecff57872972502p-4 : inexact-ok
+= exp2m1 downward binary64 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4p-4 : inexact-ok
+= exp2m1 tonearest binary64 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4p-4 : inexact-ok
+= exp2m1 towardzero binary64 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4p-4 : inexact-ok
+= exp2m1 upward binary64 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e8p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c88p-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c9p-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c88p-4 : inexact-ok
+= exp2m1 upward intel96 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c9p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c88p-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c9p-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c88p-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c9p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c8f300391b05004p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c8f300391b05008p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c8f300391b05004p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c8f300391b05008p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c8f300391b05p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c8f300391b05p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c8f300391b05p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.10b9251f0cc98p-4 : 0x7.b239166cbf6e4c8f300391b052p-4 : inexact-ok
+= exp2m1 downward intel96 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8cp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8cp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8cp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c08p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8cp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8cp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8cp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c08p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c0374be2eb2c97p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c0374be2eb2c97p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c0374be2eb2c97p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c0374be2eb2c974p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c0374be2eb2c8p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c0374be2eb2cap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c0374be2eb2c8p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.10b9251f0cc9bddp-4 : 0x7.b239166cbf6e8c0374be2eb2cap-4 : inexact-ok
+= exp2m1 downward intel96 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bfp-4 : inexact-ok
+= exp2m1 tonearest intel96 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bfp-4 : inexact-ok
+= exp2m1 towardzero intel96 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bfp-4 : inexact-ok
+= exp2m1 upward intel96 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf8p-4 : inexact-ok
+= exp2m1 downward m68k96 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bfp-4 : inexact-ok
+= exp2m1 tonearest m68k96 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bfp-4 : inexact-ok
+= exp2m1 towardzero m68k96 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bfp-4 : inexact-ok
+= exp2m1 upward m68k96 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf8p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf307f520d21ad8p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf307f520d21adcp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf307f520d21ad8p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf307f520d21adcp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf307f520d21ap-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf307f520d21ap-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf307f520d21ap-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.10b9251f0cc9bdcp-4 : 0x7.b239166cbf6e8bf307f520d21cp-4 : inexact-ok
+= exp2m1 downward binary128 0x9.10b9251f0cc9bdc81d6ab13bb74p-4 : 0x7.b239166cbf6e8bfb5c8c5ad052bcp-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.10b9251f0cc9bdc81d6ab13bb74p-4 : 0x7.b239166cbf6e8bfb5c8c5ad052cp-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.10b9251f0cc9bdc81d6ab13bb74p-4 : 0x7.b239166cbf6e8bfb5c8c5ad052bcp-4 : inexact-ok
+= exp2m1 upward binary128 0x9.10b9251f0cc9bdc81d6ab13bb74p-4 : 0x7.b239166cbf6e8bfb5c8c5ad052cp-4 : inexact-ok
+= exp2m1 downward binary128 0x9.10b9251f0cc9bdc81d6ab13bb8p-4 : 0x7.b239166cbf6e8bfb5c8c5ad05384p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.10b9251f0cc9bdc81d6ab13bb8p-4 : 0x7.b239166cbf6e8bfb5c8c5ad05384p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.10b9251f0cc9bdc81d6ab13bb8p-4 : 0x7.b239166cbf6e8bfb5c8c5ad05384p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.10b9251f0cc9bdc81d6ab13bb8p-4 : 0x7.b239166cbf6e8bfb5c8c5ad05388p-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.10b9251f0cc9bdc81d6ab13bb8p-4 : 0x7.b239166cbf6e8bfb5c8c5ad052p-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.10b9251f0cc9bdc81d6ab13bb8p-4 : 0x7.b239166cbf6e8bfb5c8c5ad054p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.10b9251f0cc9bdc81d6ab13bb8p-4 : 0x7.b239166cbf6e8bfb5c8c5ad052p-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.10b9251f0cc9bdc81d6ab13bb8p-4 : 0x7.b239166cbf6e8bfb5c8c5ad054p-4 : inexact-ok
+= exp2m1 downward binary128 0x9.10b9251f0cc9bdc81d6ab13bb4p-4 : 0x7.b239166cbf6e8bfb5c8c5ad04f68p-4 : inexact-ok
+= exp2m1 tonearest binary128 0x9.10b9251f0cc9bdc81d6ab13bb4p-4 : 0x7.b239166cbf6e8bfb5c8c5ad04f68p-4 : inexact-ok
+= exp2m1 towardzero binary128 0x9.10b9251f0cc9bdc81d6ab13bb4p-4 : 0x7.b239166cbf6e8bfb5c8c5ad04f68p-4 : inexact-ok
+= exp2m1 upward binary128 0x9.10b9251f0cc9bdc81d6ab13bb4p-4 : 0x7.b239166cbf6e8bfb5c8c5ad04f6cp-4 : inexact-ok
+= exp2m1 downward ibm128 0x9.10b9251f0cc9bdc81d6ab13bb4p-4 : 0x7.b239166cbf6e8bfb5c8c5ad04ep-4 : inexact-ok
+= exp2m1 tonearest ibm128 0x9.10b9251f0cc9bdc81d6ab13bb4p-4 : 0x7.b239166cbf6e8bfb5c8c5ad05p-4 : inexact-ok
+= exp2m1 towardzero ibm128 0x9.10b9251f0cc9bdc81d6ab13bb4p-4 : 0x7.b239166cbf6e8bfb5c8c5ad04ep-4 : inexact-ok
+= exp2m1 upward ibm128 0x9.10b9251f0cc9bdc81d6ab13bb4p-4 : 0x7.b239166cbf6e8bfb5c8c5ad05p-4 : inexact-ok
diff --git a/math/auto-libm-test-out-log10p1 b/math/auto-libm-test-out-log10p1
index 3102161374..87bdb0bcde 100644
--- a/math/auto-libm-test-out-log10p1
+++ b/math/auto-libm-test-out-log10p1
@@ -3061,3 +3061,1783 @@ log10p1 0x6.af53d00fd2845d4772260ef5adc4p-4
 = log10p1 tonearest ibm128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x2.6d054768927fc902a40b9d653dp-4 : inexact-ok
 = log10p1 towardzero ibm128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x2.6d054768927fc902a40b9d653cp-4 : inexact-ok
 = log10p1 upward ibm128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x2.6d054768927fc902a40b9d653dp-4 : inexact-ok
+log10p1 0x1.ce84ep+0
+= log10p1 downward binary32 0x1.ce84ep+0 : 0x7.2bd1f8p-4 : inexact-ok
+= log10p1 tonearest binary32 0x1.ce84ep+0 : 0x7.2bd2p-4 : inexact-ok
+= log10p1 towardzero binary32 0x1.ce84ep+0 : 0x7.2bd1f8p-4 : inexact-ok
+= log10p1 upward binary32 0x1.ce84ep+0 : 0x7.2bd2p-4 : inexact-ok
+= log10p1 downward binary64 0x1.ce84ep+0 : 0x7.2bd1ffb952e14p-4 : inexact-ok
+= log10p1 tonearest binary64 0x1.ce84ep+0 : 0x7.2bd1ffb952e14p-4 : inexact-ok
+= log10p1 towardzero binary64 0x1.ce84ep+0 : 0x7.2bd1ffb952e14p-4 : inexact-ok
+= log10p1 upward binary64 0x1.ce84ep+0 : 0x7.2bd1ffb952e18p-4 : inexact-ok
+= log10p1 downward intel96 0x1.ce84ep+0 : 0x7.2bd1ffb952e142ep-4 : inexact-ok
+= log10p1 tonearest intel96 0x1.ce84ep+0 : 0x7.2bd1ffb952e142ep-4 : inexact-ok
+= log10p1 towardzero intel96 0x1.ce84ep+0 : 0x7.2bd1ffb952e142ep-4 : inexact-ok
+= log10p1 upward intel96 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e8p-4 : inexact-ok
+= log10p1 downward m68k96 0x1.ce84ep+0 : 0x7.2bd1ffb952e142ep-4 : inexact-ok
+= log10p1 tonearest m68k96 0x1.ce84ep+0 : 0x7.2bd1ffb952e142ep-4 : inexact-ok
+= log10p1 towardzero m68k96 0x1.ce84ep+0 : 0x7.2bd1ffb952e142ep-4 : inexact-ok
+= log10p1 upward m68k96 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e8p-4 : inexact-ok
+= log10p1 downward binary128 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e24995a6fa7bf8p-4 : inexact-ok
+= log10p1 tonearest binary128 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e24995a6fa7bfcp-4 : inexact-ok
+= log10p1 towardzero binary128 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e24995a6fa7bf8p-4 : inexact-ok
+= log10p1 upward binary128 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e24995a6fa7bfcp-4 : inexact-ok
+= log10p1 downward ibm128 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e24995a6fa7ap-4 : inexact-ok
+= log10p1 tonearest ibm128 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e24995a6fa7cp-4 : inexact-ok
+= log10p1 towardzero ibm128 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e24995a6fa7ap-4 : inexact-ok
+= log10p1 upward ibm128 0x1.ce84ep+0 : 0x7.2bd1ffb952e142e24995a6fa7cp-4 : inexact-ok
+log10p1 -0x1.c9bc9cp-3
+= log10p1 downward binary32 -0x3.937938p-4 : -0x1.c1fd8ap-4 : inexact-ok
+= log10p1 tonearest binary32 -0x3.937938p-4 : -0x1.c1fd8ap-4 : inexact-ok
+= log10p1 towardzero binary32 -0x3.937938p-4 : -0x1.c1fd88p-4 : inexact-ok
+= log10p1 upward binary32 -0x3.937938p-4 : -0x1.c1fd88p-4 : inexact-ok
+= log10p1 downward binary64 -0x3.937938p-4 : -0x1.c1fd891b0bcd1p-4 : inexact-ok
+= log10p1 tonearest binary64 -0x3.937938p-4 : -0x1.c1fd891b0bcd1p-4 : inexact-ok
+= log10p1 towardzero binary64 -0x3.937938p-4 : -0x1.c1fd891b0bcdp-4 : inexact-ok
+= log10p1 upward binary64 -0x3.937938p-4 : -0x1.c1fd891b0bcdp-4 : inexact-ok
+= log10p1 downward intel96 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b96p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94p-4 : inexact-ok
+= log10p1 towardzero intel96 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94p-4 : inexact-ok
+= log10p1 upward intel96 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94p-4 : inexact-ok
+= log10p1 downward m68k96 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b96p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94p-4 : inexact-ok
+= log10p1 upward m68k96 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94p-4 : inexact-ok
+= log10p1 downward binary128 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94889ccced124ep-4 : inexact-ok
+= log10p1 tonearest binary128 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94889ccced124dp-4 : inexact-ok
+= log10p1 towardzero binary128 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94889ccced124dp-4 : inexact-ok
+= log10p1 upward binary128 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94889ccced124dp-4 : inexact-ok
+= log10p1 downward ibm128 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94889ccced128p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94889ccced128p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94889ccced12p-4 : inexact-ok
+= log10p1 upward ibm128 -0x3.937938p-4 : -0x1.c1fd891b0bcd0b94889ccced12p-4 : inexact-ok
+log10p1 0x1.3b8ad4p+106
+= log10p1 downward binary32 0x4.ee2b5p+104 : 0x1.fffffcp+4 : inexact-ok
+= log10p1 tonearest binary32 0x4.ee2b5p+104 : 0x1.fffffep+4 : inexact-ok
+= log10p1 towardzero binary32 0x4.ee2b5p+104 : 0x1.fffffcp+4 : inexact-ok
+= log10p1 upward binary32 0x4.ee2b5p+104 : 0x1.fffffep+4 : inexact-ok
+= log10p1 downward binary64 0x4.ee2b5p+104 : 0x1.fffffd052babdp+4 : inexact-ok
+= log10p1 tonearest binary64 0x4.ee2b5p+104 : 0x1.fffffd052babdp+4 : inexact-ok
+= log10p1 towardzero binary64 0x4.ee2b5p+104 : 0x1.fffffd052babdp+4 : inexact-ok
+= log10p1 upward binary64 0x4.ee2b5p+104 : 0x1.fffffd052babep+4 : inexact-ok
+= log10p1 downward intel96 0x4.ee2b5p+104 : 0x1.fffffd052babd1c2p+4 : inexact-ok
+= log10p1 tonearest intel96 0x4.ee2b5p+104 : 0x1.fffffd052babd1c2p+4 : inexact-ok
+= log10p1 towardzero intel96 0x4.ee2b5p+104 : 0x1.fffffd052babd1c2p+4 : inexact-ok
+= log10p1 upward intel96 0x4.ee2b5p+104 : 0x1.fffffd052babd1c4p+4 : inexact-ok
+= log10p1 downward m68k96 0x4.ee2b5p+104 : 0x1.fffffd052babd1c2p+4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.ee2b5p+104 : 0x1.fffffd052babd1c2p+4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.ee2b5p+104 : 0x1.fffffd052babd1c2p+4 : inexact-ok
+= log10p1 upward m68k96 0x4.ee2b5p+104 : 0x1.fffffd052babd1c4p+4 : inexact-ok
+= log10p1 downward binary128 0x4.ee2b5p+104 : 0x1.fffffd052babd1c25129c68ee885p+4 : inexact-ok
+= log10p1 tonearest binary128 0x4.ee2b5p+104 : 0x1.fffffd052babd1c25129c68ee886p+4 : inexact-ok
+= log10p1 towardzero binary128 0x4.ee2b5p+104 : 0x1.fffffd052babd1c25129c68ee885p+4 : inexact-ok
+= log10p1 upward binary128 0x4.ee2b5p+104 : 0x1.fffffd052babd1c25129c68ee886p+4 : inexact-ok
+= log10p1 downward ibm128 0x4.ee2b5p+104 : 0x1.fffffd052babd1c25129c68ee88p+4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.ee2b5p+104 : 0x1.fffffd052babd1c25129c68ee88p+4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.ee2b5p+104 : 0x1.fffffd052babd1c25129c68ee88p+4 : inexact-ok
+= log10p1 upward ibm128 0x4.ee2b5p+104 : 0x1.fffffd052babd1c25129c68ee9p+4 : inexact-ok
+log10p1 -0x1.2611b2p-8
+= log10p1 downward binary32 -0x1.2611b2p-8 : -0x7.fffff8p-12 : inexact-ok
+= log10p1 tonearest binary32 -0x1.2611b2p-8 : -0x7.fffff8p-12 : inexact-ok
+= log10p1 towardzero binary32 -0x1.2611b2p-8 : -0x7.fffffp-12 : inexact-ok
+= log10p1 upward binary32 -0x1.2611b2p-8 : -0x7.fffffp-12 : inexact-ok
+= log10p1 downward binary64 -0x1.2611b2p-8 : -0x7.fffff4b2fae1p-12 : inexact-ok
+= log10p1 tonearest binary64 -0x1.2611b2p-8 : -0x7.fffff4b2fae0cp-12 : inexact-ok
+= log10p1 towardzero binary64 -0x1.2611b2p-8 : -0x7.fffff4b2fae0cp-12 : inexact-ok
+= log10p1 upward binary64 -0x1.2611b2p-8 : -0x7.fffff4b2fae0cp-12 : inexact-ok
+= log10p1 downward intel96 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a8p-12 : inexact-ok
+= log10p1 tonearest intel96 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a8p-12 : inexact-ok
+= log10p1 towardzero intel96 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0ap-12 : inexact-ok
+= log10p1 upward intel96 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0ap-12 : inexact-ok
+= log10p1 downward m68k96 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a8p-12 : inexact-ok
+= log10p1 tonearest m68k96 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a8p-12 : inexact-ok
+= log10p1 towardzero m68k96 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0ap-12 : inexact-ok
+= log10p1 upward m68k96 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0ap-12 : inexact-ok
+= log10p1 downward binary128 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a481d66feb59a4p-12 : inexact-ok
+= log10p1 tonearest binary128 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a481d66feb59ap-12 : inexact-ok
+= log10p1 towardzero binary128 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a481d66feb59ap-12 : inexact-ok
+= log10p1 upward binary128 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a481d66feb59ap-12 : inexact-ok
+= log10p1 downward ibm128 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a481d66feb5ap-12 : inexact-ok
+= log10p1 tonearest ibm128 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a481d66feb5ap-12 : inexact-ok
+= log10p1 towardzero ibm128 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a481d66feb58p-12 : inexact-ok
+= log10p1 upward ibm128 -0x1.2611b2p-8 : -0x7.fffff4b2fae0d0a481d66feb58p-12 : inexact-ok
+log10p1 -0x1.4c2971893052fp-1
+= log10p1 downward binary32 -0xa.614b8p-4 : -0x7.452c9p-4 : inexact-ok
+= log10p1 tonearest binary32 -0xa.614b8p-4 : -0x7.452c88p-4 : inexact-ok
+= log10p1 towardzero binary32 -0xa.614b8p-4 : -0x7.452c88p-4 : inexact-ok
+= log10p1 upward binary32 -0xa.614b8p-4 : -0x7.452c88p-4 : inexact-ok
+= log10p1 downward binary64 -0xa.614b8p-4 : -0x7.452c880146554p-4 : inexact-ok
+= log10p1 tonearest binary64 -0xa.614b8p-4 : -0x7.452c88014655p-4 : inexact-ok
+= log10p1 towardzero binary64 -0xa.614b8p-4 : -0x7.452c88014655p-4 : inexact-ok
+= log10p1 upward binary64 -0xa.614b8p-4 : -0x7.452c88014655p-4 : inexact-ok
+= log10p1 downward intel96 -0xa.614b8p-4 : -0x7.452c880146550798p-4 : inexact-ok
+= log10p1 tonearest intel96 -0xa.614b8p-4 : -0x7.452c880146550798p-4 : inexact-ok
+= log10p1 towardzero intel96 -0xa.614b8p-4 : -0x7.452c88014655079p-4 : inexact-ok
+= log10p1 upward intel96 -0xa.614b8p-4 : -0x7.452c88014655079p-4 : inexact-ok
+= log10p1 downward m68k96 -0xa.614b8p-4 : -0x7.452c880146550798p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0xa.614b8p-4 : -0x7.452c880146550798p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0xa.614b8p-4 : -0x7.452c88014655079p-4 : inexact-ok
+= log10p1 upward m68k96 -0xa.614b8p-4 : -0x7.452c88014655079p-4 : inexact-ok
+= log10p1 downward binary128 -0xa.614b8p-4 : -0x7.452c880146550794fabcb7b37038p-4 : inexact-ok
+= log10p1 tonearest binary128 -0xa.614b8p-4 : -0x7.452c880146550794fabcb7b37038p-4 : inexact-ok
+= log10p1 towardzero binary128 -0xa.614b8p-4 : -0x7.452c880146550794fabcb7b37034p-4 : inexact-ok
+= log10p1 upward binary128 -0xa.614b8p-4 : -0x7.452c880146550794fabcb7b37034p-4 : inexact-ok
+= log10p1 downward ibm128 -0xa.614b8p-4 : -0x7.452c880146550794fabcb7b372p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0xa.614b8p-4 : -0x7.452c880146550794fabcb7b37p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0xa.614b8p-4 : -0x7.452c880146550794fabcb7b37p-4 : inexact-ok
+= log10p1 upward ibm128 -0xa.614b8p-4 : -0x7.452c880146550794fabcb7b37p-4 : inexact-ok
+= log10p1 downward binary32 -0xa.614b9p-4 : -0x7.452cap-4 : inexact-ok
+= log10p1 tonearest binary32 -0xa.614b9p-4 : -0x7.452c98p-4 : inexact-ok
+= log10p1 towardzero binary32 -0xa.614b9p-4 : -0x7.452c98p-4 : inexact-ok
+= log10p1 upward binary32 -0xa.614b9p-4 : -0x7.452c98p-4 : inexact-ok
+= log10p1 downward binary64 -0xa.614b9p-4 : -0x7.452c9bc9ba11cp-4 : inexact-ok
+= log10p1 tonearest binary64 -0xa.614b9p-4 : -0x7.452c9bc9ba118p-4 : inexact-ok
+= log10p1 towardzero binary64 -0xa.614b9p-4 : -0x7.452c9bc9ba118p-4 : inexact-ok
+= log10p1 upward binary64 -0xa.614b9p-4 : -0x7.452c9bc9ba118p-4 : inexact-ok
+= log10p1 downward intel96 -0xa.614b9p-4 : -0x7.452c9bc9ba119b2p-4 : inexact-ok
+= log10p1 tonearest intel96 -0xa.614b9p-4 : -0x7.452c9bc9ba119b2p-4 : inexact-ok
+= log10p1 towardzero intel96 -0xa.614b9p-4 : -0x7.452c9bc9ba119b18p-4 : inexact-ok
+= log10p1 upward intel96 -0xa.614b9p-4 : -0x7.452c9bc9ba119b18p-4 : inexact-ok
+= log10p1 downward m68k96 -0xa.614b9p-4 : -0x7.452c9bc9ba119b2p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0xa.614b9p-4 : -0x7.452c9bc9ba119b2p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0xa.614b9p-4 : -0x7.452c9bc9ba119b18p-4 : inexact-ok
+= log10p1 upward m68k96 -0xa.614b9p-4 : -0x7.452c9bc9ba119b18p-4 : inexact-ok
+= log10p1 downward binary128 -0xa.614b9p-4 : -0x7.452c9bc9ba119b1e2088198026fcp-4 : inexact-ok
+= log10p1 tonearest binary128 -0xa.614b9p-4 : -0x7.452c9bc9ba119b1e2088198026fcp-4 : inexact-ok
+= log10p1 towardzero binary128 -0xa.614b9p-4 : -0x7.452c9bc9ba119b1e2088198026f8p-4 : inexact-ok
+= log10p1 upward binary128 -0xa.614b9p-4 : -0x7.452c9bc9ba119b1e2088198026f8p-4 : inexact-ok
+= log10p1 downward ibm128 -0xa.614b9p-4 : -0x7.452c9bc9ba119b1e2088198028p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0xa.614b9p-4 : -0x7.452c9bc9ba119b1e2088198026p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0xa.614b9p-4 : -0x7.452c9bc9ba119b1e2088198026p-4 : inexact-ok
+= log10p1 upward ibm128 -0xa.614b9p-4 : -0x7.452c9bc9ba119b1e2088198026p-4 : inexact-ok
+= log10p1 downward binary64 -0xa.614b8c4982978p-4 : -0x7.452c973281258p-4 : inexact-ok
+= log10p1 tonearest binary64 -0xa.614b8c4982978p-4 : -0x7.452c973281258p-4 : inexact-ok
+= log10p1 towardzero binary64 -0xa.614b8c4982978p-4 : -0x7.452c973281254p-4 : inexact-ok
+= log10p1 upward binary64 -0xa.614b8c4982978p-4 : -0x7.452c973281254p-4 : inexact-ok
+= log10p1 downward intel96 -0xa.614b8c4982978p-4 : -0x7.452c973281257c5p-4 : inexact-ok
+= log10p1 tonearest intel96 -0xa.614b8c4982978p-4 : -0x7.452c973281257c48p-4 : inexact-ok
+= log10p1 towardzero intel96 -0xa.614b8c4982978p-4 : -0x7.452c973281257c48p-4 : inexact-ok
+= log10p1 upward intel96 -0xa.614b8c4982978p-4 : -0x7.452c973281257c48p-4 : inexact-ok
+= log10p1 downward m68k96 -0xa.614b8c4982978p-4 : -0x7.452c973281257c5p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0xa.614b8c4982978p-4 : -0x7.452c973281257c48p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0xa.614b8c4982978p-4 : -0x7.452c973281257c48p-4 : inexact-ok
+= log10p1 upward m68k96 -0xa.614b8c4982978p-4 : -0x7.452c973281257c48p-4 : inexact-ok
+= log10p1 downward binary128 -0xa.614b8c4982978p-4 : -0x7.452c973281257c4809b2670f6b1p-4 : inexact-ok
+= log10p1 tonearest binary128 -0xa.614b8c4982978p-4 : -0x7.452c973281257c4809b2670f6b1p-4 : inexact-ok
+= log10p1 towardzero binary128 -0xa.614b8c4982978p-4 : -0x7.452c973281257c4809b2670f6b0cp-4 : inexact-ok
+= log10p1 upward binary128 -0xa.614b8c4982978p-4 : -0x7.452c973281257c4809b2670f6b0cp-4 : inexact-ok
+= log10p1 downward ibm128 -0xa.614b8c4982978p-4 : -0x7.452c973281257c4809b2670f6cp-4 : inexact-ok
+= log10p1 tonearest ibm128 -0xa.614b8c4982978p-4 : -0x7.452c973281257c4809b2670f6cp-4 : inexact-ok
+= log10p1 towardzero ibm128 -0xa.614b8c4982978p-4 : -0x7.452c973281257c4809b2670f6ap-4 : inexact-ok
+= log10p1 upward ibm128 -0xa.614b8c4982978p-4 : -0x7.452c973281257c4809b2670f6ap-4 : inexact-ok
+log10p1 -0x1.000196a3d9e18p-2
+= log10p1 downward binary32 -0x4.000658p-4 : -0x1.ffc37p-4 : inexact-ok
+= log10p1 tonearest binary32 -0x4.000658p-4 : -0x1.ffc37p-4 : inexact-ok
+= log10p1 towardzero binary32 -0x4.000658p-4 : -0x1.ffc36ep-4 : inexact-ok
+= log10p1 upward binary32 -0x4.000658p-4 : -0x1.ffc36ep-4 : inexact-ok
+= log10p1 downward binary64 -0x4.000658p-4 : -0x1.ffc36f212f082p-4 : inexact-ok
+= log10p1 tonearest binary64 -0x4.000658p-4 : -0x1.ffc36f212f081p-4 : inexact-ok
+= log10p1 towardzero binary64 -0x4.000658p-4 : -0x1.ffc36f212f081p-4 : inexact-ok
+= log10p1 upward binary64 -0x4.000658p-4 : -0x1.ffc36f212f081p-4 : inexact-ok
+= log10p1 downward intel96 -0x4.000658p-4 : -0x1.ffc36f212f081438p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x4.000658p-4 : -0x1.ffc36f212f081438p-4 : inexact-ok
+= log10p1 towardzero intel96 -0x4.000658p-4 : -0x1.ffc36f212f081436p-4 : inexact-ok
+= log10p1 upward intel96 -0x4.000658p-4 : -0x1.ffc36f212f081436p-4 : inexact-ok
+= log10p1 downward m68k96 -0x4.000658p-4 : -0x1.ffc36f212f081438p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x4.000658p-4 : -0x1.ffc36f212f081438p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x4.000658p-4 : -0x1.ffc36f212f081436p-4 : inexact-ok
+= log10p1 upward m68k96 -0x4.000658p-4 : -0x1.ffc36f212f081436p-4 : inexact-ok
+= log10p1 downward binary128 -0x4.000658p-4 : -0x1.ffc36f212f08143774e798701578p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x4.000658p-4 : -0x1.ffc36f212f08143774e798701578p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x4.000658p-4 : -0x1.ffc36f212f08143774e798701577p-4 : inexact-ok
+= log10p1 upward binary128 -0x4.000658p-4 : -0x1.ffc36f212f08143774e798701577p-4 : inexact-ok
+= log10p1 downward ibm128 -0x4.000658p-4 : -0x1.ffc36f212f08143774e79870158p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x4.000658p-4 : -0x1.ffc36f212f08143774e79870158p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x4.000658p-4 : -0x1.ffc36f212f08143774e7987015p-4 : inexact-ok
+= log10p1 upward ibm128 -0x4.000658p-4 : -0x1.ffc36f212f08143774e7987015p-4 : inexact-ok
+= log10p1 downward binary32 -0x4.00066p-4 : -0x1.ffc374p-4 : inexact-ok
+= log10p1 tonearest binary32 -0x4.00066p-4 : -0x1.ffc374p-4 : inexact-ok
+= log10p1 towardzero binary32 -0x4.00066p-4 : -0x1.ffc372p-4 : inexact-ok
+= log10p1 upward binary32 -0x4.00066p-4 : -0x1.ffc372p-4 : inexact-ok
+= log10p1 downward binary64 -0x4.00066p-4 : -0x1.ffc373c31b557p-4 : inexact-ok
+= log10p1 tonearest binary64 -0x4.00066p-4 : -0x1.ffc373c31b557p-4 : inexact-ok
+= log10p1 towardzero binary64 -0x4.00066p-4 : -0x1.ffc373c31b556p-4 : inexact-ok
+= log10p1 upward binary64 -0x4.00066p-4 : -0x1.ffc373c31b556p-4 : inexact-ok
+= log10p1 downward intel96 -0x4.00066p-4 : -0x1.ffc373c31b556a44p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x4.00066p-4 : -0x1.ffc373c31b556a42p-4 : inexact-ok
+= log10p1 towardzero intel96 -0x4.00066p-4 : -0x1.ffc373c31b556a42p-4 : inexact-ok
+= log10p1 upward intel96 -0x4.00066p-4 : -0x1.ffc373c31b556a42p-4 : inexact-ok
+= log10p1 downward m68k96 -0x4.00066p-4 : -0x1.ffc373c31b556a44p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x4.00066p-4 : -0x1.ffc373c31b556a42p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x4.00066p-4 : -0x1.ffc373c31b556a42p-4 : inexact-ok
+= log10p1 upward m68k96 -0x4.00066p-4 : -0x1.ffc373c31b556a42p-4 : inexact-ok
+= log10p1 downward binary128 -0x4.00066p-4 : -0x1.ffc373c31b556a429e0a8abf81b8p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x4.00066p-4 : -0x1.ffc373c31b556a429e0a8abf81b7p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x4.00066p-4 : -0x1.ffc373c31b556a429e0a8abf81b7p-4 : inexact-ok
+= log10p1 upward binary128 -0x4.00066p-4 : -0x1.ffc373c31b556a429e0a8abf81b7p-4 : inexact-ok
+= log10p1 downward ibm128 -0x4.00066p-4 : -0x1.ffc373c31b556a429e0a8abf82p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x4.00066p-4 : -0x1.ffc373c31b556a429e0a8abf818p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x4.00066p-4 : -0x1.ffc373c31b556a429e0a8abf818p-4 : inexact-ok
+= log10p1 upward ibm128 -0x4.00066p-4 : -0x1.ffc373c31b556a429e0a8abf818p-4 : inexact-ok
+= log10p1 downward binary64 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d6p-4 : inexact-ok
+= log10p1 tonearest binary64 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d5p-4 : inexact-ok
+= log10p1 towardzero binary64 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d5p-4 : inexact-ok
+= log10p1 upward binary64 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d5p-4 : inexact-ok
+= log10p1 downward intel96 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b2p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54bp-4 : inexact-ok
+= log10p1 towardzero intel96 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54bp-4 : inexact-ok
+= log10p1 upward intel96 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54bp-4 : inexact-ok
+= log10p1 downward m68k96 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b2p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54bp-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54bp-4 : inexact-ok
+= log10p1 upward m68k96 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54bp-4 : inexact-ok
+= log10p1 downward binary128 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b0382186cd3923p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b0382186cd3922p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b0382186cd3922p-4 : inexact-ok
+= log10p1 upward binary128 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b0382186cd3922p-4 : inexact-ok
+= log10p1 downward ibm128 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b0382186cd398p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b0382186cd39p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b0382186cd39p-4 : inexact-ok
+= log10p1 upward ibm128 -0x4.00065a8f6786p-4 : -0x1.ffc3709cb46d54b0382186cd39p-4 : inexact-ok
+log10p1 -0x1.26975ba3e6553p-43
+= log10p1 downward binary32 -0x2.4d2eb4p-44 : -0xf.fe0f2p-48 : inexact-ok
+= log10p1 tonearest binary32 -0x2.4d2eb4p-44 : -0xf.fe0f1p-48 : inexact-ok
+= log10p1 towardzero binary32 -0x2.4d2eb4p-44 : -0xf.fe0f1p-48 : inexact-ok
+= log10p1 upward binary32 -0x2.4d2eb4p-44 : -0xf.fe0f1p-48 : inexact-ok
+= log10p1 downward binary64 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65ep-48 : inexact-ok
+= log10p1 tonearest binary64 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65ep-48 : inexact-ok
+= log10p1 towardzero binary64 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65d8p-48 : inexact-ok
+= log10p1 upward binary64 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65d8p-48 : inexact-ok
+= log10p1 downward intel96 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfebp-48 : inexact-ok
+= log10p1 tonearest intel96 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfeap-48 : inexact-ok
+= log10p1 towardzero intel96 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfeap-48 : inexact-ok
+= log10p1 upward intel96 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfeap-48 : inexact-ok
+= log10p1 downward m68k96 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfebp-48 : inexact-ok
+= log10p1 tonearest m68k96 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfeap-48 : inexact-ok
+= log10p1 towardzero m68k96 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfeap-48 : inexact-ok
+= log10p1 upward m68k96 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfeap-48 : inexact-ok
+= log10p1 downward binary128 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfea5beb60145ad48p-48 : inexact-ok
+= log10p1 tonearest binary128 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfea5beb60145ad48p-48 : inexact-ok
+= log10p1 towardzero binary128 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfea5beb60145ad4p-48 : inexact-ok
+= log10p1 upward binary128 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfea5beb60145ad4p-48 : inexact-ok
+= log10p1 downward ibm128 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfea5beb60145bp-48 : inexact-ok
+= log10p1 tonearest ibm128 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfea5beb60145acp-48 : inexact-ok
+= log10p1 towardzero ibm128 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfea5beb60145acp-48 : inexact-ok
+= log10p1 upward ibm128 -0x2.4d2eb4p-44 : -0xf.fe0f12b6b65dfea5beb60145acp-48 : inexact-ok
+= log10p1 downward binary32 -0x2.4d2eb8p-44 : -0xf.fe0f3p-48 : inexact-ok
+= log10p1 tonearest binary32 -0x2.4d2eb8p-44 : -0xf.fe0f3p-48 : inexact-ok
+= log10p1 towardzero binary32 -0x2.4d2eb8p-44 : -0xf.fe0f2p-48 : inexact-ok
+= log10p1 upward binary32 -0x2.4d2eb8p-44 : -0xf.fe0f2p-48 : inexact-ok
+= log10p1 downward binary64 -0x2.4d2eb8p-44 : -0xf.fe0f2e8231738p-48 : inexact-ok
+= log10p1 tonearest binary64 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173p-48 : inexact-ok
+= log10p1 towardzero binary64 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173p-48 : inexact-ok
+= log10p1 upward binary64 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173p-48 : inexact-ok
+= log10p1 downward intel96 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173259p-48 : inexact-ok
+= log10p1 tonearest intel96 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173259p-48 : inexact-ok
+= log10p1 towardzero intel96 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258p-48 : inexact-ok
+= log10p1 upward intel96 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258p-48 : inexact-ok
+= log10p1 downward m68k96 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173259p-48 : inexact-ok
+= log10p1 tonearest m68k96 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173259p-48 : inexact-ok
+= log10p1 towardzero m68k96 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258p-48 : inexact-ok
+= log10p1 upward m68k96 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258p-48 : inexact-ok
+= log10p1 downward binary128 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258ecc6c70183fep-48 : inexact-ok
+= log10p1 tonearest binary128 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258ecc6c70183fep-48 : inexact-ok
+= log10p1 towardzero binary128 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258ecc6c70183fd8p-48 : inexact-ok
+= log10p1 upward binary128 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258ecc6c70183fd8p-48 : inexact-ok
+= log10p1 downward ibm128 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258ecc6c70184p-48 : inexact-ok
+= log10p1 tonearest ibm128 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258ecc6c70184p-48 : inexact-ok
+= log10p1 towardzero ibm128 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258ecc6c70183cp-48 : inexact-ok
+= log10p1 upward ibm128 -0x2.4d2eb8p-44 : -0xf.fe0f2e823173258ecc6c70183cp-48 : inexact-ok
+= log10p1 downward binary64 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823cap-48 : inexact-ok
+= log10p1 tonearest binary64 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823cap-48 : inexact-ok
+= log10p1 towardzero binary64 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9f8p-48 : inexact-ok
+= log10p1 upward binary64 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9f8p-48 : inexact-ok
+= log10p1 downward intel96 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb9p-48 : inexact-ok
+= log10p1 tonearest intel96 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb8p-48 : inexact-ok
+= log10p1 towardzero intel96 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb8p-48 : inexact-ok
+= log10p1 upward intel96 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb8p-48 : inexact-ok
+= log10p1 downward m68k96 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb9p-48 : inexact-ok
+= log10p1 tonearest m68k96 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb8p-48 : inexact-ok
+= log10p1 towardzero m68k96 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb8p-48 : inexact-ok
+= log10p1 upward m68k96 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb8p-48 : inexact-ok
+= log10p1 downward binary128 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb807f114c07a48p-48 : inexact-ok
+= log10p1 tonearest binary128 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb807f114c07a48p-48 : inexact-ok
+= log10p1 towardzero binary128 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb807f114c07a478p-48 : inexact-ok
+= log10p1 upward binary128 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb807f114c07a478p-48 : inexact-ok
+= log10p1 downward ibm128 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb807f114c07a8p-48 : inexact-ok
+= log10p1 tonearest ibm128 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb807f114c07a4p-48 : inexact-ok
+= log10p1 towardzero ibm128 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb807f114c07a4p-48 : inexact-ok
+= log10p1 upward ibm128 -0x2.4d2eb747ccaa6p-44 : -0xf.fe0f29823c9ffb807f114c07a4p-48 : inexact-ok
+log10p1 0x1.00d67bdd93083p+53
+= log10p1 downward binary32 0x2.01acf8p+52 : 0xf.f4bcfp+0 : inexact-ok
+= log10p1 tonearest binary32 0x2.01acf8p+52 : 0xf.f4bdp+0 : inexact-ok
+= log10p1 towardzero binary32 0x2.01acf8p+52 : 0xf.f4bcfp+0 : inexact-ok
+= log10p1 upward binary32 0x2.01acf8p+52 : 0xf.f4bdp+0 : inexact-ok
+= log10p1 downward binary64 0x2.01acf8p+52 : 0xf.f4bcfe12112ap+0 : inexact-ok
+= log10p1 tonearest binary64 0x2.01acf8p+52 : 0xf.f4bcfe12112ap+0 : inexact-ok
+= log10p1 towardzero binary64 0x2.01acf8p+52 : 0xf.f4bcfe12112ap+0 : inexact-ok
+= log10p1 upward binary64 0x2.01acf8p+52 : 0xf.f4bcfe12112a8p+0 : inexact-ok
+= log10p1 downward intel96 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddp+0 : inexact-ok
+= log10p1 tonearest intel96 0x2.01acf8p+52 : 0xf.f4bcfe12112a1dep+0 : inexact-ok
+= log10p1 towardzero intel96 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddp+0 : inexact-ok
+= log10p1 upward intel96 0x2.01acf8p+52 : 0xf.f4bcfe12112a1dep+0 : inexact-ok
+= log10p1 downward m68k96 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddp+0 : inexact-ok
+= log10p1 tonearest m68k96 0x2.01acf8p+52 : 0xf.f4bcfe12112a1dep+0 : inexact-ok
+= log10p1 towardzero m68k96 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddp+0 : inexact-ok
+= log10p1 upward m68k96 0x2.01acf8p+52 : 0xf.f4bcfe12112a1dep+0 : inexact-ok
+= log10p1 downward binary128 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddc16a5db61635p+0 : inexact-ok
+= log10p1 tonearest binary128 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddc16a5db61635p+0 : inexact-ok
+= log10p1 towardzero binary128 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddc16a5db61635p+0 : inexact-ok
+= log10p1 upward binary128 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddc16a5db616358p+0 : inexact-ok
+= log10p1 downward ibm128 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddc16a5db616p+0 : inexact-ok
+= log10p1 tonearest ibm128 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddc16a5db6164p+0 : inexact-ok
+= log10p1 towardzero ibm128 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddc16a5db616p+0 : inexact-ok
+= log10p1 upward ibm128 0x2.01acf8p+52 : 0xf.f4bcfe12112a1ddc16a5db6164p+0 : inexact-ok
+= log10p1 downward binary32 0x2.01acf4p+52 : 0xf.f4bcfp+0 : inexact-ok
+= log10p1 tonearest binary32 0x2.01acf4p+52 : 0xf.f4bdp+0 : inexact-ok
+= log10p1 towardzero binary32 0x2.01acf4p+52 : 0xf.f4bcfp+0 : inexact-ok
+= log10p1 upward binary32 0x2.01acf4p+52 : 0xf.f4bdp+0 : inexact-ok
+= log10p1 downward binary64 0x2.01acf4p+52 : 0xf.f4bcfd346f01p+0 : inexact-ok
+= log10p1 tonearest binary64 0x2.01acf4p+52 : 0xf.f4bcfd346f018p+0 : inexact-ok
+= log10p1 towardzero binary64 0x2.01acf4p+52 : 0xf.f4bcfd346f01p+0 : inexact-ok
+= log10p1 upward binary64 0x2.01acf4p+52 : 0xf.f4bcfd346f018p+0 : inexact-ok
+= log10p1 downward intel96 0x2.01acf4p+52 : 0xf.f4bcfd346f017f8p+0 : inexact-ok
+= log10p1 tonearest intel96 0x2.01acf4p+52 : 0xf.f4bcfd346f017f8p+0 : inexact-ok
+= log10p1 towardzero intel96 0x2.01acf4p+52 : 0xf.f4bcfd346f017f8p+0 : inexact-ok
+= log10p1 upward intel96 0x2.01acf4p+52 : 0xf.f4bcfd346f017f9p+0 : inexact-ok
+= log10p1 downward m68k96 0x2.01acf4p+52 : 0xf.f4bcfd346f017f8p+0 : inexact-ok
+= log10p1 tonearest m68k96 0x2.01acf4p+52 : 0xf.f4bcfd346f017f8p+0 : inexact-ok
+= log10p1 towardzero m68k96 0x2.01acf4p+52 : 0xf.f4bcfd346f017f8p+0 : inexact-ok
+= log10p1 upward m68k96 0x2.01acf4p+52 : 0xf.f4bcfd346f017f9p+0 : inexact-ok
+= log10p1 downward binary128 0x2.01acf4p+52 : 0xf.f4bcfd346f017f82d0a6f7ea5d68p+0 : inexact-ok
+= log10p1 tonearest binary128 0x2.01acf4p+52 : 0xf.f4bcfd346f017f82d0a6f7ea5d68p+0 : inexact-ok
+= log10p1 towardzero binary128 0x2.01acf4p+52 : 0xf.f4bcfd346f017f82d0a6f7ea5d68p+0 : inexact-ok
+= log10p1 upward binary128 0x2.01acf4p+52 : 0xf.f4bcfd346f017f82d0a6f7ea5d7p+0 : inexact-ok
+= log10p1 downward ibm128 0x2.01acf4p+52 : 0xf.f4bcfd346f017f82d0a6f7ea5cp+0 : inexact-ok
+= log10p1 tonearest ibm128 0x2.01acf4p+52 : 0xf.f4bcfd346f017f82d0a6f7ea5cp+0 : inexact-ok
+= log10p1 towardzero ibm128 0x2.01acf4p+52 : 0xf.f4bcfd346f017f82d0a6f7ea5cp+0 : inexact-ok
+= log10p1 upward ibm128 0x2.01acf4p+52 : 0xf.f4bcfd346f017f82d0a6f7ea6p+0 : inexact-ok
+= log10p1 downward binary64 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a398p+0 : inexact-ok
+= log10p1 tonearest binary64 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a3ap+0 : inexact-ok
+= log10p1 towardzero binary64 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a398p+0 : inexact-ok
+= log10p1 upward binary64 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a3ap+0 : inexact-ok
+= log10p1 downward intel96 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedp+0 : inexact-ok
+= log10p1 tonearest intel96 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39feep+0 : inexact-ok
+= log10p1 towardzero intel96 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedp+0 : inexact-ok
+= log10p1 upward intel96 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39feep+0 : inexact-ok
+= log10p1 downward m68k96 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedp+0 : inexact-ok
+= log10p1 tonearest m68k96 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39feep+0 : inexact-ok
+= log10p1 towardzero m68k96 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedp+0 : inexact-ok
+= log10p1 upward m68k96 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39feep+0 : inexact-ok
+= log10p1 downward binary128 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedd1bf742d3df58p+0 : inexact-ok
+= log10p1 tonearest binary128 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedd1bf742d3df6p+0 : inexact-ok
+= log10p1 towardzero binary128 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedd1bf742d3df58p+0 : inexact-ok
+= log10p1 upward binary128 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedd1bf742d3df6p+0 : inexact-ok
+= log10p1 downward ibm128 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedd1bf742d3dcp+0 : inexact-ok
+= log10p1 tonearest ibm128 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedd1bf742d3ep+0 : inexact-ok
+= log10p1 towardzero ibm128 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedd1bf742d3dcp+0 : inexact-ok
+= log10p1 upward ibm128 0x2.01acf7bb26106p+52 : 0xf.f4bcfe032a39fedd1bf742d3ep+0 : inexact-ok
+log10p1 0x4.a486e7fa771f839p-4
+= log10p1 downward binary32 0x4.a486e8p-4 : 0x1.c534eap-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.a486e8p-4 : 0x1.c534ecp-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.a486e8p-4 : 0x1.c534eap-4 : inexact-ok
+= log10p1 upward binary32 0x4.a486e8p-4 : 0x1.c534ecp-4 : inexact-ok
+= log10p1 downward binary64 0x4.a486e8p-4 : 0x1.c534eb760c7c1p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.a486e8p-4 : 0x1.c534eb760c7c2p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.a486e8p-4 : 0x1.c534eb760c7c1p-4 : inexact-ok
+= log10p1 upward binary64 0x4.a486e8p-4 : 0x1.c534eb760c7c2p-4 : inexact-ok
+= log10p1 downward intel96 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceap-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceap-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceap-4 : inexact-ok
+= log10p1 upward intel96 0x4.a486e8p-4 : 0x1.c534eb760c7c1cecp-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceap-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceap-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceap-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a486e8p-4 : 0x1.c534eb760c7c1cecp-4 : inexact-ok
+= log10p1 downward binary128 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceadf2475ea6737p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceadf2475ea6737p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceadf2475ea6737p-4 : inexact-ok
+= log10p1 upward binary128 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceadf2475ea6738p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceadf2475ea67p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceadf2475ea67p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceadf2475ea67p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a486e8p-4 : 0x1.c534eb760c7c1ceadf2475ea678p-4 : inexact-ok
+= log10p1 downward binary32 0x4.a486ep-4 : 0x1.c534e8p-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.a486ep-4 : 0x1.c534e8p-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.a486ep-4 : 0x1.c534e8p-4 : inexact-ok
+= log10p1 upward binary32 0x4.a486ep-4 : 0x1.c534eap-4 : inexact-ok
+= log10p1 downward binary64 0x4.a486ep-4 : 0x1.c534e8c4a760bp-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.a486ep-4 : 0x1.c534e8c4a760cp-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.a486ep-4 : 0x1.c534e8c4a760bp-4 : inexact-ok
+= log10p1 upward binary64 0x4.a486ep-4 : 0x1.c534e8c4a760cp-4 : inexact-ok
+= log10p1 downward intel96 0x4.a486ep-4 : 0x1.c534e8c4a760b88ep-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a486ep-4 : 0x1.c534e8c4a760b89p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a486ep-4 : 0x1.c534e8c4a760b88ep-4 : inexact-ok
+= log10p1 upward intel96 0x4.a486ep-4 : 0x1.c534e8c4a760b89p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a486ep-4 : 0x1.c534e8c4a760b88ep-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a486ep-4 : 0x1.c534e8c4a760b89p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a486ep-4 : 0x1.c534e8c4a760b88ep-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a486ep-4 : 0x1.c534e8c4a760b89p-4 : inexact-ok
+= log10p1 downward binary128 0x4.a486ep-4 : 0x1.c534e8c4a760b88fd417ef35d94ap-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a486ep-4 : 0x1.c534e8c4a760b88fd417ef35d94bp-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a486ep-4 : 0x1.c534e8c4a760b88fd417ef35d94ap-4 : inexact-ok
+= log10p1 upward binary128 0x4.a486ep-4 : 0x1.c534e8c4a760b88fd417ef35d94bp-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a486ep-4 : 0x1.c534e8c4a760b88fd417ef35d9p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a486ep-4 : 0x1.c534e8c4a760b88fd417ef35d98p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a486ep-4 : 0x1.c534e8c4a760b88fd417ef35d9p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a486ep-4 : 0x1.c534e8c4a760b88fd417ef35d98p-4 : inexact-ok
+= log10p1 downward binary64 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89bp-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89cp-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89bp-4 : inexact-ok
+= log10p1 upward binary64 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89cp-4 : inexact-ok
+= log10p1 downward intel96 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bcp-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bcp-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bcp-4 : inexact-ok
+= log10p1 upward intel96 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bep-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bcp-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bcp-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bcp-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bep-4 : inexact-ok
+= log10p1 downward binary128 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bc7fd39365cac1p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bc7fd39365cac2p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bc7fd39365cac1p-4 : inexact-ok
+= log10p1 upward binary128 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bc7fd39365cac2p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bc7fd39365ca8p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bc7fd39365cbp-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bc7fd39365ca8p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a486e7fa771fcp-4 : 0x1.c534eb742f89b8bc7fd39365cbp-4 : inexact-ok
+= log10p1 downward binary64 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89ap-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89ap-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89ap-4 : inexact-ok
+= log10p1 upward binary64 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89bp-4 : inexact-ok
+= log10p1 downward intel96 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a332p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33p-4 : inexact-ok
+= log10p1 upward intel96 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a332p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a332p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a332p-4 : inexact-ok
+= log10p1 downward binary128 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33156fc97777c46p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33156fc97777c47p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33156fc97777c46p-4 : inexact-ok
+= log10p1 upward binary128 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33156fc97777c47p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33156fc97777cp-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33156fc97777c8p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33156fc97777cp-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a486e7fa771f8p-4 : 0x1.c534eb742f89a33156fc97777c8p-4 : inexact-ok
+= log10p1 downward intel96 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a464p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a464p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a464p-4 : inexact-ok
+= log10p1 upward intel96 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a466p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a464p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a464p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a464p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a466p-4 : inexact-ok
+= log10p1 downward binary128 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a46456028efd8027p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a46456028efd8027p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a46456028efd8027p-4 : inexact-ok
+= log10p1 upward binary128 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a46456028efd8028p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a46456028efd8p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a46456028efd8p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a46456028efd8p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a486e7fa771f839p-4 : 0x1.c534eb742f89a46456028efd808p-4 : inexact-ok
+log10p1 0x4.f974ef417a9fe778p-4
+= log10p1 downward binary32 0x4.f974fp-4 : 0x1.e1918p-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.f974fp-4 : 0x1.e1918p-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.f974fp-4 : 0x1.e1918p-4 : inexact-ok
+= log10p1 upward binary32 0x4.f974fp-4 : 0x1.e19182p-4 : inexact-ok
+= log10p1 downward binary64 0x4.f974fp-4 : 0x1.e19180e6f3e0cp-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.f974fp-4 : 0x1.e19180e6f3e0dp-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.f974fp-4 : 0x1.e19180e6f3e0cp-4 : inexact-ok
+= log10p1 upward binary64 0x4.f974fp-4 : 0x1.e19180e6f3e0dp-4 : inexact-ok
+= log10p1 downward intel96 0x4.f974fp-4 : 0x1.e19180e6f3e0cd24p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f974fp-4 : 0x1.e19180e6f3e0cd26p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f974fp-4 : 0x1.e19180e6f3e0cd24p-4 : inexact-ok
+= log10p1 upward intel96 0x4.f974fp-4 : 0x1.e19180e6f3e0cd26p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f974fp-4 : 0x1.e19180e6f3e0cd24p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f974fp-4 : 0x1.e19180e6f3e0cd26p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f974fp-4 : 0x1.e19180e6f3e0cd24p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f974fp-4 : 0x1.e19180e6f3e0cd26p-4 : inexact-ok
+= log10p1 downward binary128 0x4.f974fp-4 : 0x1.e19180e6f3e0cd25ffb0ee710a71p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f974fp-4 : 0x1.e19180e6f3e0cd25ffb0ee710a72p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f974fp-4 : 0x1.e19180e6f3e0cd25ffb0ee710a71p-4 : inexact-ok
+= log10p1 upward binary128 0x4.f974fp-4 : 0x1.e19180e6f3e0cd25ffb0ee710a72p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f974fp-4 : 0x1.e19180e6f3e0cd25ffb0ee710ap-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f974fp-4 : 0x1.e19180e6f3e0cd25ffb0ee710a8p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f974fp-4 : 0x1.e19180e6f3e0cd25ffb0ee710ap-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f974fp-4 : 0x1.e19180e6f3e0cd25ffb0ee710a8p-4 : inexact-ok
+= log10p1 downward binary32 0x4.f974e8p-4 : 0x1.e1917ep-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.f974e8p-4 : 0x1.e1917ep-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.f974e8p-4 : 0x1.e1917ep-4 : inexact-ok
+= log10p1 upward binary32 0x4.f974e8p-4 : 0x1.e1918p-4 : inexact-ok
+= log10p1 downward binary64 0x4.f974e8p-4 : 0x1.e1917e407645cp-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.f974e8p-4 : 0x1.e1917e407645dp-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.f974e8p-4 : 0x1.e1917e407645cp-4 : inexact-ok
+= log10p1 upward binary64 0x4.f974e8p-4 : 0x1.e1917e407645dp-4 : inexact-ok
+= log10p1 downward intel96 0x4.f974e8p-4 : 0x1.e1917e407645cb64p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f974e8p-4 : 0x1.e1917e407645cb66p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f974e8p-4 : 0x1.e1917e407645cb64p-4 : inexact-ok
+= log10p1 upward intel96 0x4.f974e8p-4 : 0x1.e1917e407645cb66p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f974e8p-4 : 0x1.e1917e407645cb64p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f974e8p-4 : 0x1.e1917e407645cb66p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f974e8p-4 : 0x1.e1917e407645cb64p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f974e8p-4 : 0x1.e1917e407645cb66p-4 : inexact-ok
+= log10p1 downward binary128 0x4.f974e8p-4 : 0x1.e1917e407645cb654c9822c68ba1p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f974e8p-4 : 0x1.e1917e407645cb654c9822c68ba2p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f974e8p-4 : 0x1.e1917e407645cb654c9822c68ba1p-4 : inexact-ok
+= log10p1 upward binary128 0x4.f974e8p-4 : 0x1.e1917e407645cb654c9822c68ba2p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f974e8p-4 : 0x1.e1917e407645cb654c9822c68b8p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f974e8p-4 : 0x1.e1917e407645cb654c9822c68b8p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f974e8p-4 : 0x1.e1917e407645cb654c9822c68b8p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f974e8p-4 : 0x1.e1917e407645cb654c9822c68cp-4 : inexact-ok
+= log10p1 downward binary64 0x4.f974ef417aap-4 : 0x1.e19180a7d58ap-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.f974ef417aap-4 : 0x1.e19180a7d58ap-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.f974ef417aap-4 : 0x1.e19180a7d58ap-4 : inexact-ok
+= log10p1 upward binary64 0x4.f974ef417aap-4 : 0x1.e19180a7d58a1p-4 : inexact-ok
+= log10p1 downward intel96 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092p-4 : inexact-ok
+= log10p1 upward intel96 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0094p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0094p-4 : inexact-ok
+= log10p1 downward binary128 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092fa65673bb135p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092fa65673bb136p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092fa65673bb135p-4 : inexact-ok
+= log10p1 upward binary128 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092fa65673bb136p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092fa65673bb1p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092fa65673bb1p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092fa65673bb1p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f974ef417aap-4 : 0x1.e19180a7d58a0092fa65673bb18p-4 : inexact-ok
+= log10p1 downward binary64 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589ep-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589fp-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589ep-4 : inexact-ok
+= log10p1 upward binary64 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589fp-4 : inexact-ok
+= log10p1 downward intel96 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5ep-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb6p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5ep-4 : inexact-ok
+= log10p1 upward intel96 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb6p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5ep-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb6p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5ep-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb6p-4 : inexact-ok
+= log10p1 downward binary128 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5f0d90a3c420fbp-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5f0d90a3c420fcp-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5f0d90a3c420fbp-4 : inexact-ok
+= log10p1 upward binary128 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5f0d90a3c420fcp-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5f0d90a3c4208p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5f0d90a3c421p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5f0d90a3c4208p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f974ef417a9fcp-4 : 0x1.e19180a7d589eb5f0d90a3c421p-4 : inexact-ok
+= log10p1 downward intel96 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872p-4 : inexact-ok
+= log10p1 upward intel96 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f874p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f874p-4 : inexact-ok
+= log10p1 downward binary128 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872733e59cf7d15p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872733e59cf7d15p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872733e59cf7d15p-4 : inexact-ok
+= log10p1 upward binary128 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872733e59cf7d16p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872733e59cf7dp-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872733e59cf7dp-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872733e59cf7dp-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f974ef417a9fe778p-4 : 0x1.e19180a7d589f872733e59cf7d8p-4 : inexact-ok
+log10p1 0x5.006dfbf1945a6648p-4
+= log10p1 downward binary32 0x5.006ep-4 : 0x1.e3e08p-4 : inexact-ok
+= log10p1 tonearest binary32 0x5.006ep-4 : 0x1.e3e08p-4 : inexact-ok
+= log10p1 towardzero binary32 0x5.006ep-4 : 0x1.e3e08p-4 : inexact-ok
+= log10p1 upward binary32 0x5.006ep-4 : 0x1.e3e082p-4 : inexact-ok
+= log10p1 downward binary64 0x5.006ep-4 : 0x1.e3e08035c9193p-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.006ep-4 : 0x1.e3e08035c9193p-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.006ep-4 : 0x1.e3e08035c9193p-4 : inexact-ok
+= log10p1 upward binary64 0x5.006ep-4 : 0x1.e3e08035c9194p-4 : inexact-ok
+= log10p1 downward intel96 0x5.006ep-4 : 0x1.e3e08035c919321p-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.006ep-4 : 0x1.e3e08035c9193212p-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.006ep-4 : 0x1.e3e08035c919321p-4 : inexact-ok
+= log10p1 upward intel96 0x5.006ep-4 : 0x1.e3e08035c9193212p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.006ep-4 : 0x1.e3e08035c919321p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.006ep-4 : 0x1.e3e08035c9193212p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.006ep-4 : 0x1.e3e08035c919321p-4 : inexact-ok
+= log10p1 upward m68k96 0x5.006ep-4 : 0x1.e3e08035c9193212p-4 : inexact-ok
+= log10p1 downward binary128 0x5.006ep-4 : 0x1.e3e08035c919321123df8ebe559bp-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.006ep-4 : 0x1.e3e08035c919321123df8ebe559cp-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.006ep-4 : 0x1.e3e08035c919321123df8ebe559bp-4 : inexact-ok
+= log10p1 upward binary128 0x5.006ep-4 : 0x1.e3e08035c919321123df8ebe559cp-4 : inexact-ok
+= log10p1 downward ibm128 0x5.006ep-4 : 0x1.e3e08035c919321123df8ebe558p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.006ep-4 : 0x1.e3e08035c919321123df8ebe558p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.006ep-4 : 0x1.e3e08035c919321123df8ebe558p-4 : inexact-ok
+= log10p1 upward ibm128 0x5.006ep-4 : 0x1.e3e08035c919321123df8ebe56p-4 : inexact-ok
+= log10p1 downward binary32 0x5.006df8p-4 : 0x1.e3e07cp-4 : inexact-ok
+= log10p1 tonearest binary32 0x5.006df8p-4 : 0x1.e3e07ep-4 : inexact-ok
+= log10p1 towardzero binary32 0x5.006df8p-4 : 0x1.e3e07cp-4 : inexact-ok
+= log10p1 upward binary32 0x5.006df8p-4 : 0x1.e3e07ep-4 : inexact-ok
+= log10p1 downward binary64 0x5.006df8p-4 : 0x1.e3e07d902cc34p-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.006df8p-4 : 0x1.e3e07d902cc35p-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.006df8p-4 : 0x1.e3e07d902cc34p-4 : inexact-ok
+= log10p1 upward binary64 0x5.006df8p-4 : 0x1.e3e07d902cc35p-4 : inexact-ok
+= log10p1 downward intel96 0x5.006df8p-4 : 0x1.e3e07d902cc34de8p-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.006df8p-4 : 0x1.e3e07d902cc34de8p-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.006df8p-4 : 0x1.e3e07d902cc34de8p-4 : inexact-ok
+= log10p1 upward intel96 0x5.006df8p-4 : 0x1.e3e07d902cc34deap-4 : inexact-ok
+= log10p1 downward m68k96 0x5.006df8p-4 : 0x1.e3e07d902cc34de8p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.006df8p-4 : 0x1.e3e07d902cc34de8p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.006df8p-4 : 0x1.e3e07d902cc34de8p-4 : inexact-ok
+= log10p1 upward m68k96 0x5.006df8p-4 : 0x1.e3e07d902cc34deap-4 : inexact-ok
+= log10p1 downward binary128 0x5.006df8p-4 : 0x1.e3e07d902cc34de898ac36f69e3bp-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.006df8p-4 : 0x1.e3e07d902cc34de898ac36f69e3bp-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.006df8p-4 : 0x1.e3e07d902cc34de898ac36f69e3bp-4 : inexact-ok
+= log10p1 upward binary128 0x5.006df8p-4 : 0x1.e3e07d902cc34de898ac36f69e3cp-4 : inexact-ok
+= log10p1 downward ibm128 0x5.006df8p-4 : 0x1.e3e07d902cc34de898ac36f69ep-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.006df8p-4 : 0x1.e3e07d902cc34de898ac36f69ep-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.006df8p-4 : 0x1.e3e07d902cc34de898ac36f69ep-4 : inexact-ok
+= log10p1 upward ibm128 0x5.006df8p-4 : 0x1.e3e07d902cc34de898ac36f69e8p-4 : inexact-ok
+= log10p1 downward binary64 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efp-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357fp-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efp-4 : inexact-ok
+= log10p1 upward binary64 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357fp-4 : inexact-ok
+= log10p1 downward intel96 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efcep-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efcep-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efcep-4 : inexact-ok
+= log10p1 upward intel96 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce2p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efcep-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efcep-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efcep-4 : inexact-ok
+= log10p1 upward m68k96 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce2p-4 : inexact-ok
+= log10p1 downward binary128 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce0b41ef2ef5f98p-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce0b41ef2ef5f98p-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce0b41ef2ef5f98p-4 : inexact-ok
+= log10p1 upward binary128 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce0b41ef2ef5f99p-4 : inexact-ok
+= log10p1 downward ibm128 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce0b41ef2ef5f8p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce0b41ef2ef5f8p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce0b41ef2ef5f8p-4 : inexact-ok
+= log10p1 upward ibm128 0x5.006dfbf1945a8p-4 : 0x1.e3e07ede357efce0b41ef2ef6p-4 : inexact-ok
+= log10p1 downward binary64 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357eep-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357eep-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357eep-4 : inexact-ok
+= log10p1 upward binary64 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357efp-4 : inexact-ok
+= log10p1 downward intel96 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b2p-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b4p-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b2p-4 : inexact-ok
+= log10p1 upward intel96 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b4p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b2p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b4p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b2p-4 : inexact-ok
+= log10p1 upward m68k96 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b4p-4 : inexact-ok
+= log10p1 downward binary128 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b3d16fc320da3ap-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b3d16fc320da3bp-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b3d16fc320da3ap-4 : inexact-ok
+= log10p1 upward binary128 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b3d16fc320da3bp-4 : inexact-ok
+= log10p1 downward ibm128 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b3d16fc320dap-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b3d16fc320dap-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b3d16fc320dap-4 : inexact-ok
+= log10p1 upward ibm128 0x5.006dfbf1945a4p-4 : 0x1.e3e07ede357ee7b3d16fc320da8p-4 : inexact-ok
+= log10p1 downward intel96 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45ep-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45ep-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45ep-4 : inexact-ok
+= log10p1 upward intel96 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef46p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45ep-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45ep-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45ep-4 : inexact-ok
+= log10p1 upward m68k96 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef46p-4 : inexact-ok
+= log10p1 downward binary128 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45e4a86cc9941c8p-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45e4a86cc9941c8p-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45e4a86cc9941c8p-4 : inexact-ok
+= log10p1 upward binary128 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45e4a86cc9941c9p-4 : inexact-ok
+= log10p1 downward ibm128 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45e4a86cc99418p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45e4a86cc9942p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45e4a86cc99418p-4 : inexact-ok
+= log10p1 upward ibm128 0x5.006dfbf1945a6648p-4 : 0x1.e3e07ede357ef45e4a86cc9942p-4 : inexact-ok
+log10p1 0x4.f6e989b93bb1cd78p-4
+= log10p1 downward binary32 0x4.f6e99p-4 : 0x1.e0b9a6p-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.f6e99p-4 : 0x1.e0b9a8p-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.f6e99p-4 : 0x1.e0b9a6p-4 : inexact-ok
+= log10p1 upward binary32 0x4.f6e99p-4 : 0x1.e0b9a8p-4 : inexact-ok
+= log10p1 downward binary64 0x4.f6e99p-4 : 0x1.e0b9a7d429fc7p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.f6e99p-4 : 0x1.e0b9a7d429fc8p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.f6e99p-4 : 0x1.e0b9a7d429fc7p-4 : inexact-ok
+= log10p1 upward binary64 0x4.f6e99p-4 : 0x1.e0b9a7d429fc8p-4 : inexact-ok
+= log10p1 downward intel96 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b6p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b6p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b6p-4 : inexact-ok
+= log10p1 upward intel96 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b8p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b6p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b6p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b6p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b8p-4 : inexact-ok
+= log10p1 downward binary128 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b60d6ad621b1adp-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b60d6ad621b1adp-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b60d6ad621b1adp-4 : inexact-ok
+= log10p1 upward binary128 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b60d6ad621b1aep-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b60d6ad621b18p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b60d6ad621b18p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b60d6ad621b18p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f6e99p-4 : 0x1.e0b9a7d429fc79b60d6ad621b2p-4 : inexact-ok
+= log10p1 downward binary32 0x4.f6e988p-4 : 0x1.e0b9a4p-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.f6e988p-4 : 0x1.e0b9a6p-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.f6e988p-4 : 0x1.e0b9a4p-4 : inexact-ok
+= log10p1 upward binary32 0x4.f6e988p-4 : 0x1.e0b9a6p-4 : inexact-ok
+= log10p1 downward binary64 0x4.f6e988p-4 : 0x1.e0b9a52d5a088p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.f6e988p-4 : 0x1.e0b9a52d5a088p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.f6e988p-4 : 0x1.e0b9a52d5a088p-4 : inexact-ok
+= log10p1 upward binary64 0x4.f6e988p-4 : 0x1.e0b9a52d5a089p-4 : inexact-ok
+= log10p1 downward intel96 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c4p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c6p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c4p-4 : inexact-ok
+= log10p1 upward intel96 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c6p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c4p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c6p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c4p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c6p-4 : inexact-ok
+= log10p1 downward binary128 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c5e3d23aa6e148p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c5e3d23aa6e149p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c5e3d23aa6e148p-4 : inexact-ok
+= log10p1 upward binary128 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c5e3d23aa6e149p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c5e3d23aa6e1p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c5e3d23aa6e18p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c5e3d23aa6e1p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f6e988p-4 : 0x1.e0b9a52d5a0881c5e3d23aa6e18p-4 : inexact-ok
+= log10p1 downward binary64 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99594p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593p-4 : inexact-ok
+= log10p1 upward binary64 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99594p-4 : inexact-ok
+= log10p1 downward intel96 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8p-4 : inexact-ok
+= log10p1 upward intel96 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593daap-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593daap-4 : inexact-ok
+= log10p1 downward binary128 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8108be7669edp-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8108be7669ed1p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8108be7669edp-4 : inexact-ok
+= log10p1 upward binary128 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8108be7669ed1p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8108be7669e8p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8108be7669fp-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8108be7669e8p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f6e989b93bb2p-4 : 0x1.e0b9a5bf99593da8108be7669fp-4 : inexact-ok
+= log10p1 downward binary64 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf99592p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf99593p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf99592p-4 : inexact-ok
+= log10p1 upward binary64 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf99593p-4 : inexact-ok
+= log10p1 downward intel96 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf99592872p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287p-4 : inexact-ok
+= log10p1 upward intel96 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf99592872p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf99592872p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf99592872p-4 : inexact-ok
+= log10p1 downward binary128 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287190e9da397558p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287190e9da397559p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287190e9da397558p-4 : inexact-ok
+= log10p1 upward binary128 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287190e9da397559p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287190e9da3975p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287190e9da39758p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287190e9da3975p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f6e989b93bb1cp-4 : 0x1.e0b9a5bf9959287190e9da39758p-4 : inexact-ok
+= log10p1 downward intel96 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8p-4 : inexact-ok
+= log10p1 upward intel96 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ceap-4 : inexact-ok
+= log10p1 downward m68k96 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ceap-4 : inexact-ok
+= log10p1 downward binary128 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8690614bf5678p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8690614bf5678p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8690614bf5678p-4 : inexact-ok
+= log10p1 upward binary128 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8690614bf5679p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8690614bf56p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8690614bf568p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8690614bf56p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.f6e989b93bb1cd78p-4 : 0x1.e0b9a5bf99592ce8690614bf568p-4 : inexact-ok
+log10p1 0x4.ab40181dbc47cdfp-4
+= log10p1 downward binary32 0x4.ab402p-4 : 0x1.c777f2p-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.ab402p-4 : 0x1.c777f2p-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.ab402p-4 : 0x1.c777f2p-4 : inexact-ok
+= log10p1 upward binary32 0x4.ab402p-4 : 0x1.c777f4p-4 : inexact-ok
+= log10p1 downward binary64 0x4.ab402p-4 : 0x1.c777f21f17dfdp-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.ab402p-4 : 0x1.c777f21f17dfep-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.ab402p-4 : 0x1.c777f21f17dfdp-4 : inexact-ok
+= log10p1 upward binary64 0x4.ab402p-4 : 0x1.c777f21f17dfep-4 : inexact-ok
+= log10p1 downward intel96 0x4.ab402p-4 : 0x1.c777f21f17dfdb22p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.ab402p-4 : 0x1.c777f21f17dfdb24p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.ab402p-4 : 0x1.c777f21f17dfdb22p-4 : inexact-ok
+= log10p1 upward intel96 0x4.ab402p-4 : 0x1.c777f21f17dfdb24p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.ab402p-4 : 0x1.c777f21f17dfdb22p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.ab402p-4 : 0x1.c777f21f17dfdb24p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.ab402p-4 : 0x1.c777f21f17dfdb22p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.ab402p-4 : 0x1.c777f21f17dfdb24p-4 : inexact-ok
+= log10p1 downward binary128 0x4.ab402p-4 : 0x1.c777f21f17dfdb23ad3ec32ea76fp-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.ab402p-4 : 0x1.c777f21f17dfdb23ad3ec32ea77p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.ab402p-4 : 0x1.c777f21f17dfdb23ad3ec32ea76fp-4 : inexact-ok
+= log10p1 upward binary128 0x4.ab402p-4 : 0x1.c777f21f17dfdb23ad3ec32ea77p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.ab402p-4 : 0x1.c777f21f17dfdb23ad3ec32ea7p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.ab402p-4 : 0x1.c777f21f17dfdb23ad3ec32ea78p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.ab402p-4 : 0x1.c777f21f17dfdb23ad3ec32ea7p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.ab402p-4 : 0x1.c777f21f17dfdb23ad3ec32ea78p-4 : inexact-ok
+= log10p1 downward binary32 0x4.ab4018p-4 : 0x1.c777eep-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.ab4018p-4 : 0x1.c777fp-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.ab4018p-4 : 0x1.c777eep-4 : inexact-ok
+= log10p1 upward binary32 0x4.ab4018p-4 : 0x1.c777fp-4 : inexact-ok
+= log10p1 downward binary64 0x4.ab4018p-4 : 0x1.c777ef6e93063p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.ab4018p-4 : 0x1.c777ef6e93064p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.ab4018p-4 : 0x1.c777ef6e93063p-4 : inexact-ok
+= log10p1 upward binary64 0x4.ab4018p-4 : 0x1.c777ef6e93064p-4 : inexact-ok
+= log10p1 downward intel96 0x4.ab4018p-4 : 0x1.c777ef6e93063c28p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.ab4018p-4 : 0x1.c777ef6e93063c28p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.ab4018p-4 : 0x1.c777ef6e93063c28p-4 : inexact-ok
+= log10p1 upward intel96 0x4.ab4018p-4 : 0x1.c777ef6e93063c2ap-4 : inexact-ok
+= log10p1 downward m68k96 0x4.ab4018p-4 : 0x1.c777ef6e93063c28p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.ab4018p-4 : 0x1.c777ef6e93063c28p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.ab4018p-4 : 0x1.c777ef6e93063c28p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.ab4018p-4 : 0x1.c777ef6e93063c2ap-4 : inexact-ok
+= log10p1 downward binary128 0x4.ab4018p-4 : 0x1.c777ef6e93063c280d64ea084a97p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.ab4018p-4 : 0x1.c777ef6e93063c280d64ea084a97p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.ab4018p-4 : 0x1.c777ef6e93063c280d64ea084a97p-4 : inexact-ok
+= log10p1 upward binary128 0x4.ab4018p-4 : 0x1.c777ef6e93063c280d64ea084a98p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.ab4018p-4 : 0x1.c777ef6e93063c280d64ea084a8p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.ab4018p-4 : 0x1.c777ef6e93063c280d64ea084a8p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.ab4018p-4 : 0x1.c777ef6e93063c280d64ea084a8p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.ab4018p-4 : 0x1.c777ef6e93063c280d64ea084bp-4 : inexact-ok
+= log10p1 downward binary64 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.ab40181dbc48p-4 : 0x1.c777ef7892344p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343p-4 : inexact-ok
+= log10p1 upward binary64 0x4.ab40181dbc48p-4 : 0x1.c777ef7892344p-4 : inexact-ok
+= log10p1 downward intel96 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343996p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343996p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343996p-4 : inexact-ok
+= log10p1 upward intel96 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343998p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343996p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343996p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343996p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.ab40181dbc48p-4 : 0x1.c777ef7892343998p-4 : inexact-ok
+= log10p1 downward binary128 0x4.ab40181dbc48p-4 : 0x1.c777ef78923439963090fcc2c6c8p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.ab40181dbc48p-4 : 0x1.c777ef78923439963090fcc2c6c8p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.ab40181dbc48p-4 : 0x1.c777ef78923439963090fcc2c6c8p-4 : inexact-ok
+= log10p1 upward binary128 0x4.ab40181dbc48p-4 : 0x1.c777ef78923439963090fcc2c6c9p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.ab40181dbc48p-4 : 0x1.c777ef78923439963090fcc2c68p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.ab40181dbc48p-4 : 0x1.c777ef78923439963090fcc2c7p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.ab40181dbc48p-4 : 0x1.c777ef78923439963090fcc2c68p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.ab40181dbc48p-4 : 0x1.c777ef78923439963090fcc2c7p-4 : inexact-ok
+= log10p1 downward binary64 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342p-4 : inexact-ok
+= log10p1 upward binary64 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892343p-4 : inexact-ok
+= log10p1 downward intel96 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342412p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342412p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342412p-4 : inexact-ok
+= log10p1 upward intel96 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342414p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342412p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342412p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342412p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.ab40181dbc47cp-4 : 0x1.c777ef7892342414p-4 : inexact-ok
+= log10p1 downward binary128 0x4.ab40181dbc47cp-4 : 0x1.c777ef789234241209bff9e0309ep-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.ab40181dbc47cp-4 : 0x1.c777ef789234241209bff9e0309ep-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.ab40181dbc47cp-4 : 0x1.c777ef789234241209bff9e0309ep-4 : inexact-ok
+= log10p1 upward binary128 0x4.ab40181dbc47cp-4 : 0x1.c777ef789234241209bff9e0309fp-4 : inexact-ok
+= log10p1 downward ibm128 0x4.ab40181dbc47cp-4 : 0x1.c777ef789234241209bff9e0308p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.ab40181dbc47cp-4 : 0x1.c777ef789234241209bff9e0308p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.ab40181dbc47cp-4 : 0x1.c777ef789234241209bff9e0308p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.ab40181dbc47cp-4 : 0x1.c777ef789234241209bff9e031p-4 : inexact-ok
+= log10p1 downward intel96 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428cp-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c2p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428cp-4 : inexact-ok
+= log10p1 upward intel96 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c2p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428cp-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c2p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428cp-4 : inexact-ok
+= log10p1 upward m68k96 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c2p-4 : inexact-ok
+= log10p1 downward binary128 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c19133fe4108d7p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c19133fe4108d7p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c19133fe4108d7p-4 : inexact-ok
+= log10p1 upward binary128 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c19133fe4108d8p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c19133fe41088p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c19133fe4109p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c19133fe41088p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.ab40181dbc47cdfp-4 : 0x1.c777ef78923428c19133fe4109p-4 : inexact-ok
+log10p1 0x5.2876604a22752338p-4
+= log10p1 downward binary32 0x5.287668p-4 : 0x1.f112c6p-4 : inexact-ok
+= log10p1 tonearest binary32 0x5.287668p-4 : 0x1.f112c6p-4 : inexact-ok
+= log10p1 towardzero binary32 0x5.287668p-4 : 0x1.f112c6p-4 : inexact-ok
+= log10p1 upward binary32 0x5.287668p-4 : 0x1.f112c8p-4 : inexact-ok
+= log10p1 downward binary64 0x5.287668p-4 : 0x1.f112c617b6601p-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.287668p-4 : 0x1.f112c617b6601p-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.287668p-4 : 0x1.f112c617b6601p-4 : inexact-ok
+= log10p1 upward binary64 0x5.287668p-4 : 0x1.f112c617b6602p-4 : inexact-ok
+= log10p1 downward intel96 0x5.287668p-4 : 0x1.f112c617b6601222p-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.287668p-4 : 0x1.f112c617b6601224p-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.287668p-4 : 0x1.f112c617b6601222p-4 : inexact-ok
+= log10p1 upward intel96 0x5.287668p-4 : 0x1.f112c617b6601224p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.287668p-4 : 0x1.f112c617b6601222p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.287668p-4 : 0x1.f112c617b6601224p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.287668p-4 : 0x1.f112c617b6601222p-4 : inexact-ok
+= log10p1 upward m68k96 0x5.287668p-4 : 0x1.f112c617b6601224p-4 : inexact-ok
+= log10p1 downward binary128 0x5.287668p-4 : 0x1.f112c617b6601223356514e35a4ap-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.287668p-4 : 0x1.f112c617b6601223356514e35a4bp-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.287668p-4 : 0x1.f112c617b6601223356514e35a4ap-4 : inexact-ok
+= log10p1 upward binary128 0x5.287668p-4 : 0x1.f112c617b6601223356514e35a4bp-4 : inexact-ok
+= log10p1 downward ibm128 0x5.287668p-4 : 0x1.f112c617b6601223356514e35ap-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.287668p-4 : 0x1.f112c617b6601223356514e35a8p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.287668p-4 : 0x1.f112c617b6601223356514e35ap-4 : inexact-ok
+= log10p1 upward ibm128 0x5.287668p-4 : 0x1.f112c617b6601223356514e35a8p-4 : inexact-ok
+= log10p1 downward binary32 0x5.28766p-4 : 0x1.f112c2p-4 : inexact-ok
+= log10p1 tonearest binary32 0x5.28766p-4 : 0x1.f112c4p-4 : inexact-ok
+= log10p1 towardzero binary32 0x5.28766p-4 : 0x1.f112c2p-4 : inexact-ok
+= log10p1 upward binary32 0x5.28766p-4 : 0x1.f112c4p-4 : inexact-ok
+= log10p1 downward binary64 0x5.28766p-4 : 0x1.f112c3771c22fp-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.28766p-4 : 0x1.f112c3771c23p-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.28766p-4 : 0x1.f112c3771c22fp-4 : inexact-ok
+= log10p1 upward binary64 0x5.28766p-4 : 0x1.f112c3771c23p-4 : inexact-ok
+= log10p1 downward intel96 0x5.28766p-4 : 0x1.f112c3771c22faap-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.28766p-4 : 0x1.f112c3771c22faap-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.28766p-4 : 0x1.f112c3771c22faap-4 : inexact-ok
+= log10p1 upward intel96 0x5.28766p-4 : 0x1.f112c3771c22faa2p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.28766p-4 : 0x1.f112c3771c22faap-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.28766p-4 : 0x1.f112c3771c22faap-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.28766p-4 : 0x1.f112c3771c22faap-4 : inexact-ok
+= log10p1 upward m68k96 0x5.28766p-4 : 0x1.f112c3771c22faa2p-4 : inexact-ok
+= log10p1 downward binary128 0x5.28766p-4 : 0x1.f112c3771c22faa0af131f5e8a03p-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.28766p-4 : 0x1.f112c3771c22faa0af131f5e8a03p-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.28766p-4 : 0x1.f112c3771c22faa0af131f5e8a03p-4 : inexact-ok
+= log10p1 upward binary128 0x5.28766p-4 : 0x1.f112c3771c22faa0af131f5e8a04p-4 : inexact-ok
+= log10p1 downward ibm128 0x5.28766p-4 : 0x1.f112c3771c22faa0af131f5e8ap-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.28766p-4 : 0x1.f112c3771c22faa0af131f5e8ap-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.28766p-4 : 0x1.f112c3771c22faa0af131f5e8ap-4 : inexact-ok
+= log10p1 upward ibm128 0x5.28766p-4 : 0x1.f112c3771c22faa0af131f5e8a8p-4 : inexact-ok
+= log10p1 downward binary64 0x5.2876604a22754p-4 : 0x1.f112c38f7506cp-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.2876604a22754p-4 : 0x1.f112c38f7506cp-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.2876604a22754p-4 : 0x1.f112c38f7506cp-4 : inexact-ok
+= log10p1 upward binary64 0x5.2876604a22754p-4 : 0x1.f112c38f7506dp-4 : inexact-ok
+= log10p1 downward intel96 0x5.2876604a22754p-4 : 0x1.f112c38f7506c582p-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.2876604a22754p-4 : 0x1.f112c38f7506c582p-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.2876604a22754p-4 : 0x1.f112c38f7506c582p-4 : inexact-ok
+= log10p1 upward intel96 0x5.2876604a22754p-4 : 0x1.f112c38f7506c584p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.2876604a22754p-4 : 0x1.f112c38f7506c582p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.2876604a22754p-4 : 0x1.f112c38f7506c582p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.2876604a22754p-4 : 0x1.f112c38f7506c582p-4 : inexact-ok
+= log10p1 upward m68k96 0x5.2876604a22754p-4 : 0x1.f112c38f7506c584p-4 : inexact-ok
+= log10p1 downward binary128 0x5.2876604a22754p-4 : 0x1.f112c38f7506c5820b54a16686e2p-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.2876604a22754p-4 : 0x1.f112c38f7506c5820b54a16686e3p-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.2876604a22754p-4 : 0x1.f112c38f7506c5820b54a16686e2p-4 : inexact-ok
+= log10p1 upward binary128 0x5.2876604a22754p-4 : 0x1.f112c38f7506c5820b54a16686e3p-4 : inexact-ok
+= log10p1 downward ibm128 0x5.2876604a22754p-4 : 0x1.f112c38f7506c5820b54a166868p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.2876604a22754p-4 : 0x1.f112c38f7506c5820b54a16687p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.2876604a22754p-4 : 0x1.f112c38f7506c5820b54a166868p-4 : inexact-ok
+= log10p1 upward ibm128 0x5.2876604a22754p-4 : 0x1.f112c38f7506c5820b54a16687p-4 : inexact-ok
+= log10p1 downward binary64 0x5.2876604a2275p-4 : 0x1.f112c38f7506bp-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.2876604a2275p-4 : 0x1.f112c38f7506bp-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.2876604a2275p-4 : 0x1.f112c38f7506bp-4 : inexact-ok
+= log10p1 upward binary64 0x5.2876604a2275p-4 : 0x1.f112c38f7506cp-4 : inexact-ok
+= log10p1 downward intel96 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07cp-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07ep-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07cp-4 : inexact-ok
+= log10p1 upward intel96 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07ep-4 : inexact-ok
+= log10p1 downward m68k96 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07cp-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07ep-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07cp-4 : inexact-ok
+= log10p1 upward m68k96 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07ep-4 : inexact-ok
+= log10p1 downward binary128 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07d396835b4e9a2p-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07d396835b4e9a2p-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07d396835b4e9a2p-4 : inexact-ok
+= log10p1 upward binary128 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07d396835b4e9a3p-4 : inexact-ok
+= log10p1 downward ibm128 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07d396835b4e98p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07d396835b4e98p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07d396835b4e98p-4 : inexact-ok
+= log10p1 upward ibm128 0x5.2876604a2275p-4 : 0x1.f112c38f7506b07d396835b4eap-4 : inexact-ok
+= log10p1 downward intel96 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0ep-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0ep-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0ep-4 : inexact-ok
+= log10p1 upward intel96 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc1p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0ep-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0ep-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0ep-4 : inexact-ok
+= log10p1 upward m68k96 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc1p-4 : inexact-ok
+= log10p1 downward binary128 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0e406d2f784713p-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0e406d2f784713p-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0e406d2f784713p-4 : inexact-ok
+= log10p1 upward binary128 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0e406d2f784714p-4 : inexact-ok
+= log10p1 downward ibm128 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0e406d2f7847p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0e406d2f7847p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0e406d2f7847p-4 : inexact-ok
+= log10p1 upward ibm128 0x5.2876604a22752338p-4 : 0x1.f112c38f7506bc0e406d2f78478p-4 : inexact-ok
+log10p1 0x4.a422197a61a14128p-4
+= log10p1 downward binary32 0x4.a4222p-4 : 0x1.c512fep-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.a4222p-4 : 0x1.c512fep-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.a4222p-4 : 0x1.c512fep-4 : inexact-ok
+= log10p1 upward binary32 0x4.a4222p-4 : 0x1.c513p-4 : inexact-ok
+= log10p1 downward binary64 0x4.a4222p-4 : 0x1.c512fe608ba88p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.a4222p-4 : 0x1.c512fe608ba88p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.a4222p-4 : 0x1.c512fe608ba88p-4 : inexact-ok
+= log10p1 upward binary64 0x4.a4222p-4 : 0x1.c512fe608ba89p-4 : inexact-ok
+= log10p1 downward intel96 0x4.a4222p-4 : 0x1.c512fe608ba8814ap-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a4222p-4 : 0x1.c512fe608ba8814cp-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a4222p-4 : 0x1.c512fe608ba8814ap-4 : inexact-ok
+= log10p1 upward intel96 0x4.a4222p-4 : 0x1.c512fe608ba8814cp-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a4222p-4 : 0x1.c512fe608ba8814ap-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a4222p-4 : 0x1.c512fe608ba8814cp-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a4222p-4 : 0x1.c512fe608ba8814ap-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a4222p-4 : 0x1.c512fe608ba8814cp-4 : inexact-ok
+= log10p1 downward binary128 0x4.a4222p-4 : 0x1.c512fe608ba8814be2a2427f9523p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a4222p-4 : 0x1.c512fe608ba8814be2a2427f9523p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a4222p-4 : 0x1.c512fe608ba8814be2a2427f9523p-4 : inexact-ok
+= log10p1 upward binary128 0x4.a4222p-4 : 0x1.c512fe608ba8814be2a2427f9524p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a4222p-4 : 0x1.c512fe608ba8814be2a2427f95p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a4222p-4 : 0x1.c512fe608ba8814be2a2427f95p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a4222p-4 : 0x1.c512fe608ba8814be2a2427f95p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a4222p-4 : 0x1.c512fe608ba8814be2a2427f958p-4 : inexact-ok
+= log10p1 downward binary32 0x4.a42218p-4 : 0x1.c512fap-4 : inexact-ok
+= log10p1 tonearest binary32 0x4.a42218p-4 : 0x1.c512fcp-4 : inexact-ok
+= log10p1 towardzero binary32 0x4.a42218p-4 : 0x1.c512fap-4 : inexact-ok
+= log10p1 upward binary32 0x4.a42218p-4 : 0x1.c512fcp-4 : inexact-ok
+= log10p1 downward binary64 0x4.a42218p-4 : 0x1.c512fbaf19671p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.a42218p-4 : 0x1.c512fbaf19672p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.a42218p-4 : 0x1.c512fbaf19671p-4 : inexact-ok
+= log10p1 upward binary64 0x4.a42218p-4 : 0x1.c512fbaf19672p-4 : inexact-ok
+= log10p1 downward intel96 0x4.a42218p-4 : 0x1.c512fbaf19671d12p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a42218p-4 : 0x1.c512fbaf19671d14p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a42218p-4 : 0x1.c512fbaf19671d12p-4 : inexact-ok
+= log10p1 upward intel96 0x4.a42218p-4 : 0x1.c512fbaf19671d14p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a42218p-4 : 0x1.c512fbaf19671d12p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a42218p-4 : 0x1.c512fbaf19671d14p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a42218p-4 : 0x1.c512fbaf19671d12p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a42218p-4 : 0x1.c512fbaf19671d14p-4 : inexact-ok
+= log10p1 downward binary128 0x4.a42218p-4 : 0x1.c512fbaf19671d138230de4eefbcp-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a42218p-4 : 0x1.c512fbaf19671d138230de4eefbcp-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a42218p-4 : 0x1.c512fbaf19671d138230de4eefbcp-4 : inexact-ok
+= log10p1 upward binary128 0x4.a42218p-4 : 0x1.c512fbaf19671d138230de4eefbdp-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a42218p-4 : 0x1.c512fbaf19671d138230de4eef8p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a42218p-4 : 0x1.c512fbaf19671d138230de4eef8p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a42218p-4 : 0x1.c512fbaf19671d138230de4eef8p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a42218p-4 : 0x1.c512fbaf19671d138230de4efp-4 : inexact-ok
+= log10p1 downward binary64 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9bap-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9bbp-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9bap-4 : inexact-ok
+= log10p1 upward binary64 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9bbp-4 : inexact-ok
+= log10p1 downward intel96 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7ep-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7ep-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7ep-4 : inexact-ok
+= log10p1 upward intel96 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa8p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7ep-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7ep-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7ep-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa8p-4 : inexact-ok
+= log10p1 downward binary128 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7e0e1799a85f59p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7e0e1799a85f59p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7e0e1799a85f59p-4 : inexact-ok
+= log10p1 upward binary128 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7e0e1799a85f5ap-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7e0e1799a85fp-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7e0e1799a85f8p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7e0e1799a85fp-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a422197a61a18p-4 : 0x1.c512fc2e7a9baa7e0e1799a85f8p-4 : inexact-ok
+= log10p1 downward binary64 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b9p-4 : inexact-ok
+= log10p1 tonearest binary64 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b9p-4 : inexact-ok
+= log10p1 towardzero binary64 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b9p-4 : inexact-ok
+= log10p1 upward binary64 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9bap-4 : inexact-ok
+= log10p1 downward intel96 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f2p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f2p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f2p-4 : inexact-ok
+= log10p1 upward intel96 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f4p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f2p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f2p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f2p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f4p-4 : inexact-ok
+= log10p1 downward binary128 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f27c09d6000a3ap-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f27c09d6000a3ap-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f27c09d6000a3ap-4 : inexact-ok
+= log10p1 upward binary128 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f27c09d6000a3bp-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f27c09d6000ap-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f27c09d6000ap-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f27c09d6000ap-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a422197a61a14p-4 : 0x1.c512fc2e7a9b94f27c09d6000a8p-4 : inexact-ok
+= log10p1 downward intel96 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556p-4 : inexact-ok
+= log10p1 tonearest intel96 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556p-4 : inexact-ok
+= log10p1 towardzero intel96 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556p-4 : inexact-ok
+= log10p1 upward intel96 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9558p-4 : inexact-ok
+= log10p1 downward m68k96 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556p-4 : inexact-ok
+= log10p1 tonearest m68k96 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556p-4 : inexact-ok
+= log10p1 upward m68k96 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9558p-4 : inexact-ok
+= log10p1 downward binary128 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556218d55a8f4c4p-4 : inexact-ok
+= log10p1 tonearest binary128 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556218d55a8f4c5p-4 : inexact-ok
+= log10p1 towardzero binary128 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556218d55a8f4c4p-4 : inexact-ok
+= log10p1 upward binary128 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556218d55a8f4c5p-4 : inexact-ok
+= log10p1 downward ibm128 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556218d55a8f48p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556218d55a8f5p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556218d55a8f48p-4 : inexact-ok
+= log10p1 upward ibm128 0x4.a422197a61a14128p-4 : 0x1.c512fc2e7a9b9556218d55a8f5p-4 : inexact-ok
+log10p1 0x5.48bb2c181e72e838p-4
+= log10p1 downward binary32 0x5.48bb3p-4 : 0x1.fba3b8p-4 : inexact-ok
+= log10p1 tonearest binary32 0x5.48bb3p-4 : 0x1.fba3bap-4 : inexact-ok
+= log10p1 towardzero binary32 0x5.48bb3p-4 : 0x1.fba3b8p-4 : inexact-ok
+= log10p1 upward binary32 0x5.48bb3p-4 : 0x1.fba3bap-4 : inexact-ok
+= log10p1 downward binary64 0x5.48bb3p-4 : 0x1.fba3b9318d56bp-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.48bb3p-4 : 0x1.fba3b9318d56cp-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.48bb3p-4 : 0x1.fba3b9318d56bp-4 : inexact-ok
+= log10p1 upward binary64 0x5.48bb3p-4 : 0x1.fba3b9318d56cp-4 : inexact-ok
+= log10p1 downward intel96 0x5.48bb3p-4 : 0x1.fba3b9318d56baaap-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.48bb3p-4 : 0x1.fba3b9318d56baaap-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.48bb3p-4 : 0x1.fba3b9318d56baaap-4 : inexact-ok
+= log10p1 upward intel96 0x5.48bb3p-4 : 0x1.fba3b9318d56baacp-4 : inexact-ok
+= log10p1 downward m68k96 0x5.48bb3p-4 : 0x1.fba3b9318d56baaap-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.48bb3p-4 : 0x1.fba3b9318d56baaap-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.48bb3p-4 : 0x1.fba3b9318d56baaap-4 : inexact-ok
+= log10p1 upward m68k96 0x5.48bb3p-4 : 0x1.fba3b9318d56baacp-4 : inexact-ok
+= log10p1 downward binary128 0x5.48bb3p-4 : 0x1.fba3b9318d56baaa7e48036ef2aep-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.48bb3p-4 : 0x1.fba3b9318d56baaa7e48036ef2afp-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.48bb3p-4 : 0x1.fba3b9318d56baaa7e48036ef2aep-4 : inexact-ok
+= log10p1 upward binary128 0x5.48bb3p-4 : 0x1.fba3b9318d56baaa7e48036ef2afp-4 : inexact-ok
+= log10p1 downward ibm128 0x5.48bb3p-4 : 0x1.fba3b9318d56baaa7e48036ef28p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.48bb3p-4 : 0x1.fba3b9318d56baaa7e48036ef28p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.48bb3p-4 : 0x1.fba3b9318d56baaa7e48036ef28p-4 : inexact-ok
+= log10p1 upward ibm128 0x5.48bb3p-4 : 0x1.fba3b9318d56baaa7e48036ef3p-4 : inexact-ok
+= log10p1 downward binary32 0x5.48bb28p-4 : 0x1.fba3b6p-4 : inexact-ok
+= log10p1 tonearest binary32 0x5.48bb28p-4 : 0x1.fba3b6p-4 : inexact-ok
+= log10p1 towardzero binary32 0x5.48bb28p-4 : 0x1.fba3b6p-4 : inexact-ok
+= log10p1 upward binary32 0x5.48bb28p-4 : 0x1.fba3b8p-4 : inexact-ok
+= log10p1 downward binary64 0x5.48bb28p-4 : 0x1.fba3b694eed3ep-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.48bb28p-4 : 0x1.fba3b694eed3fp-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.48bb28p-4 : 0x1.fba3b694eed3ep-4 : inexact-ok
+= log10p1 upward binary64 0x5.48bb28p-4 : 0x1.fba3b694eed3fp-4 : inexact-ok
+= log10p1 downward intel96 0x5.48bb28p-4 : 0x1.fba3b694eed3edbep-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.48bb28p-4 : 0x1.fba3b694eed3edbep-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.48bb28p-4 : 0x1.fba3b694eed3edbep-4 : inexact-ok
+= log10p1 upward intel96 0x5.48bb28p-4 : 0x1.fba3b694eed3edcp-4 : inexact-ok
+= log10p1 downward m68k96 0x5.48bb28p-4 : 0x1.fba3b694eed3edbep-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.48bb28p-4 : 0x1.fba3b694eed3edbep-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.48bb28p-4 : 0x1.fba3b694eed3edbep-4 : inexact-ok
+= log10p1 upward m68k96 0x5.48bb28p-4 : 0x1.fba3b694eed3edcp-4 : inexact-ok
+= log10p1 downward binary128 0x5.48bb28p-4 : 0x1.fba3b694eed3edbe6b6b9bc9cb1fp-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.48bb28p-4 : 0x1.fba3b694eed3edbe6b6b9bc9cb2p-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.48bb28p-4 : 0x1.fba3b694eed3edbe6b6b9bc9cb1fp-4 : inexact-ok
+= log10p1 upward binary128 0x5.48bb28p-4 : 0x1.fba3b694eed3edbe6b6b9bc9cb2p-4 : inexact-ok
+= log10p1 downward ibm128 0x5.48bb28p-4 : 0x1.fba3b694eed3edbe6b6b9bc9cbp-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.48bb28p-4 : 0x1.fba3b694eed3edbe6b6b9bc9cbp-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.48bb28p-4 : 0x1.fba3b694eed3edbe6b6b9bc9cbp-4 : inexact-ok
+= log10p1 upward ibm128 0x5.48bb28p-4 : 0x1.fba3b694eed3edbe6b6b9bc9cb8p-4 : inexact-ok
+= log10p1 downward binary64 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1dp-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1ep-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1dp-4 : inexact-ok
+= log10p1 upward binary64 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1ep-4 : inexact-ok
+= log10p1 downward intel96 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9dp-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d2p-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9dp-4 : inexact-ok
+= log10p1 upward intel96 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d2p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9dp-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d2p-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9dp-4 : inexact-ok
+= log10p1 upward m68k96 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d2p-4 : inexact-ok
+= log10p1 downward binary128 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d1d866d315feffp-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d1d866d315feffp-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d1d866d315feffp-4 : inexact-ok
+= log10p1 upward binary128 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d1d866d315ffp-4 : inexact-ok
+= log10p1 downward ibm128 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d1d866d315fe8p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d1d866d315ffp-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d1d866d315fe8p-4 : inexact-ok
+= log10p1 upward ibm128 0x5.48bb2c181e73p-4 : 0x1.fba3b7eb1de1d9d1d866d315ffp-4 : inexact-ok
+= log10p1 downward binary64 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1cp-4 : inexact-ok
+= log10p1 tonearest binary64 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1cp-4 : inexact-ok
+= log10p1 towardzero binary64 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1cp-4 : inexact-ok
+= log10p1 upward binary64 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1dp-4 : inexact-ok
+= log10p1 downward intel96 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ecp-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ecp-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ecp-4 : inexact-ok
+= log10p1 upward intel96 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4eep-4 : inexact-ok
+= log10p1 downward m68k96 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ecp-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ecp-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ecp-4 : inexact-ok
+= log10p1 upward m68k96 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4eep-4 : inexact-ok
+= log10p1 downward binary128 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ece4508362ca0ep-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ece4508362ca0fp-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ece4508362ca0ep-4 : inexact-ok
+= log10p1 upward binary128 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ece4508362ca0fp-4 : inexact-ok
+= log10p1 downward ibm128 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ece4508362cap-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ece4508362cap-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ece4508362cap-4 : inexact-ok
+= log10p1 upward ibm128 0x5.48bb2c181e72cp-4 : 0x1.fba3b7eb1de1c4ece4508362ca8p-4 : inexact-ok
+= log10p1 downward intel96 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20ep-4 : inexact-ok
+= log10p1 tonearest intel96 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20ep-4 : inexact-ok
+= log10p1 towardzero intel96 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20ep-4 : inexact-ok
+= log10p1 upward intel96 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d21p-4 : inexact-ok
+= log10p1 downward m68k96 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20ep-4 : inexact-ok
+= log10p1 tonearest m68k96 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20ep-4 : inexact-ok
+= log10p1 towardzero m68k96 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20ep-4 : inexact-ok
+= log10p1 upward m68k96 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d21p-4 : inexact-ok
+= log10p1 downward binary128 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20e453408b887fap-4 : inexact-ok
+= log10p1 tonearest binary128 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20e453408b887fbp-4 : inexact-ok
+= log10p1 towardzero binary128 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20e453408b887fap-4 : inexact-ok
+= log10p1 upward binary128 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20e453408b887fbp-4 : inexact-ok
+= log10p1 downward ibm128 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20e453408b8878p-4 : inexact-ok
+= log10p1 tonearest ibm128 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20e453408b888p-4 : inexact-ok
+= log10p1 towardzero ibm128 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20e453408b8878p-4 : inexact-ok
+= log10p1 upward ibm128 0x5.48bb2c181e72e838p-4 : 0x1.fba3b7eb1de1d20e453408b888p-4 : inexact-ok
+log10p1 -0x6.eec527c6a8d6e31ca9f0dcdd747cp-4
+= log10p1 downward binary32 -0x6.eec52p-4 : -0x3.f23ea8p-4 : inexact-ok
+= log10p1 tonearest binary32 -0x6.eec52p-4 : -0x3.f23ea4p-4 : inexact-ok
+= log10p1 towardzero binary32 -0x6.eec52p-4 : -0x3.f23ea4p-4 : inexact-ok
+= log10p1 upward binary32 -0x6.eec52p-4 : -0x3.f23ea4p-4 : inexact-ok
+= log10p1 downward binary64 -0x6.eec52p-4 : -0x3.f23ea5d2646bap-4 : inexact-ok
+= log10p1 tonearest binary64 -0x6.eec52p-4 : -0x3.f23ea5d2646bap-4 : inexact-ok
+= log10p1 towardzero binary64 -0x6.eec52p-4 : -0x3.f23ea5d2646b8p-4 : inexact-ok
+= log10p1 upward binary64 -0x6.eec52p-4 : -0x3.f23ea5d2646b8p-4 : inexact-ok
+= log10p1 downward intel96 -0x6.eec52p-4 : -0x3.f23ea5d2646b92dp-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.eec52p-4 : -0x3.f23ea5d2646b92ccp-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.eec52p-4 : -0x3.f23ea5d2646b92ccp-4 : inexact-ok
+= log10p1 upward intel96 -0x6.eec52p-4 : -0x3.f23ea5d2646b92ccp-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.eec52p-4 : -0x3.f23ea5d2646b92dp-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.eec52p-4 : -0x3.f23ea5d2646b92ccp-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.eec52p-4 : -0x3.f23ea5d2646b92ccp-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.eec52p-4 : -0x3.f23ea5d2646b92ccp-4 : inexact-ok
+= log10p1 downward binary128 -0x6.eec52p-4 : -0x3.f23ea5d2646b92cc62452aedff0ap-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.eec52p-4 : -0x3.f23ea5d2646b92cc62452aedff0ap-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.eec52p-4 : -0x3.f23ea5d2646b92cc62452aedff08p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.eec52p-4 : -0x3.f23ea5d2646b92cc62452aedff08p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.eec52p-4 : -0x3.f23ea5d2646b92cc62452aeep-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.eec52p-4 : -0x3.f23ea5d2646b92cc62452aedffp-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.eec52p-4 : -0x3.f23ea5d2646b92cc62452aedffp-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.eec52p-4 : -0x3.f23ea5d2646b92cc62452aedffp-4 : inexact-ok
+= log10p1 downward binary32 -0x6.eec528p-4 : -0x3.f23eacp-4 : inexact-ok
+= log10p1 tonearest binary32 -0x6.eec528p-4 : -0x3.f23eacp-4 : inexact-ok
+= log10p1 towardzero binary32 -0x6.eec528p-4 : -0x3.f23ea8p-4 : inexact-ok
+= log10p1 upward binary32 -0x6.eec528p-4 : -0x3.f23ea8p-4 : inexact-ok
+= log10p1 downward binary64 -0x6.eec528p-4 : -0x3.f23eabf3df8bep-4 : inexact-ok
+= log10p1 tonearest binary64 -0x6.eec528p-4 : -0x3.f23eabf3df8bep-4 : inexact-ok
+= log10p1 towardzero binary64 -0x6.eec528p-4 : -0x3.f23eabf3df8bcp-4 : inexact-ok
+= log10p1 upward binary64 -0x6.eec528p-4 : -0x3.f23eabf3df8bcp-4 : inexact-ok
+= log10p1 downward intel96 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9bp-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9bp-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9acp-4 : inexact-ok
+= log10p1 upward intel96 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9acp-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9bp-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9bp-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9acp-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9acp-4 : inexact-ok
+= log10p1 downward binary128 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9aec00032ab17a4p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9aec00032ab17a4p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9aec00032ab17a2p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9aec00032ab17a2p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9aec00032ab18p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9aec00032ab18p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9aec00032ab17p-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.eec528p-4 : -0x3.f23eabf3df8bd9aec00032ab17p-4 : inexact-ok
+= log10p1 downward binary64 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32ep-4 : inexact-ok
+= log10p1 tonearest binary64 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32cp-4 : inexact-ok
+= log10p1 towardzero binary64 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32cp-4 : inexact-ok
+= log10p1 upward binary64 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32cp-4 : inexact-ok
+= log10p1 downward intel96 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c94p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93cp-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93cp-4 : inexact-ok
+= log10p1 upward intel96 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93cp-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c94p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93cp-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93cp-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93cp-4 : inexact-ok
+= log10p1 downward binary128 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93c2a58b5639944p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93c2a58b5639944p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93c2a58b5639942p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93c2a58b5639942p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93c2a58b5639ap-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93c2a58b56399p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93c2a58b56399p-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.eec527c6a8d6cp-4 : -0x3.f23eabc7ee32c93c2a58b56399p-4 : inexact-ok
+= log10p1 downward binary64 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee33p-4 : inexact-ok
+= log10p1 tonearest binary64 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee33p-4 : inexact-ok
+= log10p1 towardzero binary64 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32ep-4 : inexact-ok
+= log10p1 upward binary64 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32ep-4 : inexact-ok
+= log10p1 downward intel96 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa4cp-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48p-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48p-4 : inexact-ok
+= log10p1 upward intel96 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48p-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa4cp-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48p-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48p-4 : inexact-ok
+= log10p1 downward binary128 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48036f594173dcp-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48036f594173dap-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48036f594173dap-4 : inexact-ok
+= log10p1 upward binary128 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48036f594173dap-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48036f594174p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48036f594174p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48036f594173p-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.eec527c6a8d7p-4 : -0x3.f23eabc7ee32fa48036f594173p-4 : inexact-ok
+= log10p1 downward intel96 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e424p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42p-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42p-4 : inexact-ok
+= log10p1 upward intel96 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42p-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e424p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42p-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42p-4 : inexact-ok
+= log10p1 downward binary128 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42109827f7e5fd6p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42109827f7e5fd6p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42109827f7e5fd4p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42109827f7e5fd4p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42109827f7e6p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42109827f7e6p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42109827f7e5fp-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.eec527c6a8d6e318p-4 : -0x3.f23eabc7ee32e42109827f7e5fp-4 : inexact-ok
+= log10p1 downward intel96 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e428p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e428p-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e424p-4 : inexact-ok
+= log10p1 upward intel96 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e424p-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e428p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e428p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e424p-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e424p-4 : inexact-ok
+= log10p1 downward binary128 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e4272afda252db92p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e4272afda252db9p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e4272afda252db9p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e4272afda252db9p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e4272afda252dcp-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e4272afda252dcp-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e4272afda252dbp-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.eec527c6a8d6e32p-4 : -0x3.f23eabc7ee32e4272afda252dbp-4 : inexact-ok
+= log10p1 downward binary128 -0x6.eec527c6a8d6e31ca9f0dcdd747cp-4 : -0x3.f23eabc7ee32e4249c7befd8ebbcp-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.eec527c6a8d6e31ca9f0dcdd747cp-4 : -0x3.f23eabc7ee32e4249c7befd8ebbcp-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.eec527c6a8d6e31ca9f0dcdd747cp-4 : -0x3.f23eabc7ee32e4249c7befd8ebbap-4 : inexact-ok
+= log10p1 upward binary128 -0x6.eec527c6a8d6e31ca9f0dcdd747cp-4 : -0x3.f23eabc7ee32e4249c7befd8ebbap-4 : inexact-ok
+= log10p1 downward binary128 -0x6.eec527c6a8d6e31ca9f0dcdd74p-4 : -0x3.f23eabc7ee32e4249c7befd8eb5ep-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.eec527c6a8d6e31ca9f0dcdd74p-4 : -0x3.f23eabc7ee32e4249c7befd8eb5cp-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.eec527c6a8d6e31ca9f0dcdd74p-4 : -0x3.f23eabc7ee32e4249c7befd8eb5cp-4 : inexact-ok
+= log10p1 upward binary128 -0x6.eec527c6a8d6e31ca9f0dcdd74p-4 : -0x3.f23eabc7ee32e4249c7befd8eb5cp-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.eec527c6a8d6e31ca9f0dcdd74p-4 : -0x3.f23eabc7ee32e4249c7befd8ecp-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.eec527c6a8d6e31ca9f0dcdd74p-4 : -0x3.f23eabc7ee32e4249c7befd8ebp-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.eec527c6a8d6e31ca9f0dcdd74p-4 : -0x3.f23eabc7ee32e4249c7befd8ebp-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.eec527c6a8d6e31ca9f0dcdd74p-4 : -0x3.f23eabc7ee32e4249c7befd8ebp-4 : inexact-ok
+= log10p1 downward binary128 -0x6.eec527c6a8d6e31ca9f0dcdd76p-4 : -0x3.f23eabc7ee32e4249c7befd8ece6p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.eec527c6a8d6e31ca9f0dcdd76p-4 : -0x3.f23eabc7ee32e4249c7befd8ece4p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.eec527c6a8d6e31ca9f0dcdd76p-4 : -0x3.f23eabc7ee32e4249c7befd8ece4p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.eec527c6a8d6e31ca9f0dcdd76p-4 : -0x3.f23eabc7ee32e4249c7befd8ece4p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.eec527c6a8d6e31ca9f0dcdd76p-4 : -0x3.f23eabc7ee32e4249c7befd8edp-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.eec527c6a8d6e31ca9f0dcdd76p-4 : -0x3.f23eabc7ee32e4249c7befd8edp-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.eec527c6a8d6e31ca9f0dcdd76p-4 : -0x3.f23eabc7ee32e4249c7befd8ecp-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.eec527c6a8d6e31ca9f0dcdd76p-4 : -0x3.f23eabc7ee32e4249c7befd8ecp-4 : inexact-ok
+log10p1 0xc.42dd6485aeceeca7f23b39ad0518p-4
+= log10p1 downward binary32 0xc.42dd7p-4 : 0x3.f4002cp-4 : inexact-ok
+= log10p1 tonearest binary32 0xc.42dd7p-4 : 0x3.f4002cp-4 : inexact-ok
+= log10p1 towardzero binary32 0xc.42dd7p-4 : 0x3.f4002cp-4 : inexact-ok
+= log10p1 upward binary32 0xc.42dd7p-4 : 0x3.f4003p-4 : inexact-ok
+= log10p1 downward binary64 0xc.42dd7p-4 : 0x3.f4002dd22dd4cp-4 : inexact-ok
+= log10p1 tonearest binary64 0xc.42dd7p-4 : 0x3.f4002dd22dd4cp-4 : inexact-ok
+= log10p1 towardzero binary64 0xc.42dd7p-4 : 0x3.f4002dd22dd4cp-4 : inexact-ok
+= log10p1 upward binary64 0xc.42dd7p-4 : 0x3.f4002dd22dd4ep-4 : inexact-ok
+= log10p1 downward intel96 0xc.42dd7p-4 : 0x3.f4002dd22dd4c038p-4 : inexact-ok
+= log10p1 tonearest intel96 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03cp-4 : inexact-ok
+= log10p1 towardzero intel96 0xc.42dd7p-4 : 0x3.f4002dd22dd4c038p-4 : inexact-ok
+= log10p1 upward intel96 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03cp-4 : inexact-ok
+= log10p1 downward m68k96 0xc.42dd7p-4 : 0x3.f4002dd22dd4c038p-4 : inexact-ok
+= log10p1 tonearest m68k96 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03cp-4 : inexact-ok
+= log10p1 towardzero m68k96 0xc.42dd7p-4 : 0x3.f4002dd22dd4c038p-4 : inexact-ok
+= log10p1 upward m68k96 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03cp-4 : inexact-ok
+= log10p1 downward binary128 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03af3876a46b9eap-4 : inexact-ok
+= log10p1 tonearest binary128 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03af3876a46b9ecp-4 : inexact-ok
+= log10p1 towardzero binary128 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03af3876a46b9eap-4 : inexact-ok
+= log10p1 upward binary128 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03af3876a46b9ecp-4 : inexact-ok
+= log10p1 downward ibm128 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03af3876a46b9p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03af3876a46bap-4 : inexact-ok
+= log10p1 towardzero ibm128 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03af3876a46b9p-4 : inexact-ok
+= log10p1 upward ibm128 0xc.42dd7p-4 : 0x3.f4002dd22dd4c03af3876a46bap-4 : inexact-ok
+= log10p1 downward binary32 0xc.42dd6p-4 : 0x3.f40028p-4 : inexact-ok
+= log10p1 tonearest binary32 0xc.42dd6p-4 : 0x3.f40028p-4 : inexact-ok
+= log10p1 towardzero binary32 0xc.42dd6p-4 : 0x3.f40028p-4 : inexact-ok
+= log10p1 upward binary32 0xc.42dd6p-4 : 0x3.f4002cp-4 : inexact-ok
+= log10p1 downward binary64 0xc.42dd6p-4 : 0x3.f40029e31386ap-4 : inexact-ok
+= log10p1 tonearest binary64 0xc.42dd6p-4 : 0x3.f40029e31386cp-4 : inexact-ok
+= log10p1 towardzero binary64 0xc.42dd6p-4 : 0x3.f40029e31386ap-4 : inexact-ok
+= log10p1 upward binary64 0xc.42dd6p-4 : 0x3.f40029e31386cp-4 : inexact-ok
+= log10p1 downward intel96 0xc.42dd6p-4 : 0x3.f40029e31386b13cp-4 : inexact-ok
+= log10p1 tonearest intel96 0xc.42dd6p-4 : 0x3.f40029e31386b14p-4 : inexact-ok
+= log10p1 towardzero intel96 0xc.42dd6p-4 : 0x3.f40029e31386b13cp-4 : inexact-ok
+= log10p1 upward intel96 0xc.42dd6p-4 : 0x3.f40029e31386b14p-4 : inexact-ok
+= log10p1 downward m68k96 0xc.42dd6p-4 : 0x3.f40029e31386b13cp-4 : inexact-ok
+= log10p1 tonearest m68k96 0xc.42dd6p-4 : 0x3.f40029e31386b14p-4 : inexact-ok
+= log10p1 towardzero m68k96 0xc.42dd6p-4 : 0x3.f40029e31386b13cp-4 : inexact-ok
+= log10p1 upward m68k96 0xc.42dd6p-4 : 0x3.f40029e31386b14p-4 : inexact-ok
+= log10p1 downward binary128 0xc.42dd6p-4 : 0x3.f40029e31386b13e38c44018f8eep-4 : inexact-ok
+= log10p1 tonearest binary128 0xc.42dd6p-4 : 0x3.f40029e31386b13e38c44018f8fp-4 : inexact-ok
+= log10p1 towardzero binary128 0xc.42dd6p-4 : 0x3.f40029e31386b13e38c44018f8eep-4 : inexact-ok
+= log10p1 upward binary128 0xc.42dd6p-4 : 0x3.f40029e31386b13e38c44018f8fp-4 : inexact-ok
+= log10p1 downward ibm128 0xc.42dd6p-4 : 0x3.f40029e31386b13e38c44018f8p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xc.42dd6p-4 : 0x3.f40029e31386b13e38c44018f9p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xc.42dd6p-4 : 0x3.f40029e31386b13e38c44018f8p-4 : inexact-ok
+= log10p1 upward ibm128 0xc.42dd6p-4 : 0x3.f40029e31386b13e38c44018f9p-4 : inexact-ok
+= log10p1 downward binary64 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a02p-4 : inexact-ok
+= log10p1 tonearest binary64 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a04p-4 : inexact-ok
+= log10p1 towardzero binary64 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a02p-4 : inexact-ok
+= log10p1 upward binary64 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a04p-4 : inexact-ok
+= log10p1 downward intel96 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1cp-4 : inexact-ok
+= log10p1 tonearest intel96 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1cp-4 : inexact-ok
+= log10p1 towardzero intel96 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1cp-4 : inexact-ok
+= log10p1 upward intel96 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b2p-4 : inexact-ok
+= log10p1 downward m68k96 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1cp-4 : inexact-ok
+= log10p1 tonearest m68k96 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1cp-4 : inexact-ok
+= log10p1 towardzero m68k96 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1cp-4 : inexact-ok
+= log10p1 upward m68k96 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b2p-4 : inexact-ok
+= log10p1 downward binary128 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1c76babdd2c14p-4 : inexact-ok
+= log10p1 tonearest binary128 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1c76babdd2c142p-4 : inexact-ok
+= log10p1 towardzero binary128 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1c76babdd2c14p-4 : inexact-ok
+= log10p1 upward binary128 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1c76babdd2c142p-4 : inexact-ok
+= log10p1 downward ibm128 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1c76babdd2c1p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1c76babdd2c1p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1c76babdd2c1p-4 : inexact-ok
+= log10p1 upward ibm128 0xc.42dd6485aecfp-4 : 0x3.f4002affb8a03b1c76babdd2c2p-4 : inexact-ok
+= log10p1 downward binary64 0xc.42dd6485aece8p-4 : 0x3.f4002affb8ap-4 : inexact-ok
+= log10p1 tonearest binary64 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a02p-4 : inexact-ok
+= log10p1 towardzero binary64 0xc.42dd6485aece8p-4 : 0x3.f4002affb8ap-4 : inexact-ok
+= log10p1 upward binary64 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a02p-4 : inexact-ok
+= log10p1 downward intel96 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01bap-4 : inexact-ok
+= log10p1 tonearest intel96 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba4p-4 : inexact-ok
+= log10p1 towardzero intel96 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01bap-4 : inexact-ok
+= log10p1 upward intel96 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba4p-4 : inexact-ok
+= log10p1 downward m68k96 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01bap-4 : inexact-ok
+= log10p1 tonearest m68k96 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba4p-4 : inexact-ok
+= log10p1 towardzero m68k96 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01bap-4 : inexact-ok
+= log10p1 upward m68k96 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba4p-4 : inexact-ok
+= log10p1 downward binary128 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba3a44666757846p-4 : inexact-ok
+= log10p1 tonearest binary128 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba3a44666757846p-4 : inexact-ok
+= log10p1 towardzero binary128 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba3a44666757846p-4 : inexact-ok
+= log10p1 upward binary128 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba3a44666757848p-4 : inexact-ok
+= log10p1 downward ibm128 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba3a446667578p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba3a446667578p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba3a446667578p-4 : inexact-ok
+= log10p1 upward ibm128 0xc.42dd6485aece8p-4 : 0x3.f4002affb8a01ba3a446667579p-4 : inexact-ok
+= log10p1 downward intel96 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cp-4 : inexact-ok
+= log10p1 tonearest intel96 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cp-4 : inexact-ok
+= log10p1 towardzero intel96 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cp-4 : inexact-ok
+= log10p1 upward intel96 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0366p-4 : inexact-ok
+= log10p1 downward m68k96 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cp-4 : inexact-ok
+= log10p1 tonearest m68k96 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cp-4 : inexact-ok
+= log10p1 towardzero m68k96 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cp-4 : inexact-ok
+= log10p1 upward m68k96 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0366p-4 : inexact-ok
+= log10p1 downward binary128 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cdbf9f0244e26p-4 : inexact-ok
+= log10p1 tonearest binary128 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cdbf9f0244e28p-4 : inexact-ok
+= log10p1 towardzero binary128 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cdbf9f0244e26p-4 : inexact-ok
+= log10p1 upward binary128 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cdbf9f0244e28p-4 : inexact-ok
+= log10p1 downward ibm128 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cdbf9f0244ep-4 : inexact-ok
+= log10p1 tonearest ibm128 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cdbf9f0244ep-4 : inexact-ok
+= log10p1 towardzero ibm128 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cdbf9f0244ep-4 : inexact-ok
+= log10p1 upward ibm128 0xc.42dd6485aeceecbp-4 : 0x3.f4002affb8a0365cdbf9f0244fp-4 : inexact-ok
+= log10p1 downward intel96 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658p-4 : inexact-ok
+= log10p1 tonearest intel96 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658p-4 : inexact-ok
+= log10p1 towardzero intel96 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658p-4 : inexact-ok
+= log10p1 upward intel96 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a0365cp-4 : inexact-ok
+= log10p1 downward m68k96 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658p-4 : inexact-ok
+= log10p1 tonearest m68k96 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658p-4 : inexact-ok
+= log10p1 towardzero m68k96 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658p-4 : inexact-ok
+= log10p1 upward m68k96 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a0365cp-4 : inexact-ok
+= log10p1 downward binary128 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658ecdfa199627ep-4 : inexact-ok
+= log10p1 tonearest binary128 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658ecdfa199627ep-4 : inexact-ok
+= log10p1 towardzero binary128 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658ecdfa199627ep-4 : inexact-ok
+= log10p1 upward binary128 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658ecdfa199628p-4 : inexact-ok
+= log10p1 downward ibm128 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658ecdfa19962p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658ecdfa19962p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658ecdfa19962p-4 : inexact-ok
+= log10p1 upward ibm128 0xc.42dd6485aeceecap-4 : 0x3.f4002affb8a03658ecdfa19963p-4 : inexact-ok
+= log10p1 downward binary128 0xc.42dd6485aeceeca7f23b39ad0518p-4 : 0x3.f4002affb8a0365ae10a21b978aap-4 : inexact-ok
+= log10p1 tonearest binary128 0xc.42dd6485aeceeca7f23b39ad0518p-4 : 0x3.f4002affb8a0365ae10a21b978aap-4 : inexact-ok
+= log10p1 towardzero binary128 0xc.42dd6485aeceeca7f23b39ad0518p-4 : 0x3.f4002affb8a0365ae10a21b978aap-4 : inexact-ok
+= log10p1 upward binary128 0xc.42dd6485aeceeca7f23b39ad0518p-4 : 0x3.f4002affb8a0365ae10a21b978acp-4 : inexact-ok
+= log10p1 downward binary128 0xc.42dd6485aeceeca7f23b39ad08p-4 : 0x3.f4002affb8a0365ae10a21b9796p-4 : inexact-ok
+= log10p1 tonearest binary128 0xc.42dd6485aeceeca7f23b39ad08p-4 : 0x3.f4002affb8a0365ae10a21b97962p-4 : inexact-ok
+= log10p1 towardzero binary128 0xc.42dd6485aeceeca7f23b39ad08p-4 : 0x3.f4002affb8a0365ae10a21b9796p-4 : inexact-ok
+= log10p1 upward binary128 0xc.42dd6485aeceeca7f23b39ad08p-4 : 0x3.f4002affb8a0365ae10a21b97962p-4 : inexact-ok
+= log10p1 downward ibm128 0xc.42dd6485aeceeca7f23b39ad08p-4 : 0x3.f4002affb8a0365ae10a21b979p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xc.42dd6485aeceeca7f23b39ad08p-4 : 0x3.f4002affb8a0365ae10a21b979p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xc.42dd6485aeceeca7f23b39ad08p-4 : 0x3.f4002affb8a0365ae10a21b979p-4 : inexact-ok
+= log10p1 upward ibm128 0xc.42dd6485aeceeca7f23b39ad08p-4 : 0x3.f4002affb8a0365ae10a21b97ap-4 : inexact-ok
+= log10p1 downward binary128 0xc.42dd6485aeceeca7f23b39ad04p-4 : 0x3.f4002affb8a0365ae10a21b97864p-4 : inexact-ok
+= log10p1 tonearest binary128 0xc.42dd6485aeceeca7f23b39ad04p-4 : 0x3.f4002affb8a0365ae10a21b97866p-4 : inexact-ok
+= log10p1 towardzero binary128 0xc.42dd6485aeceeca7f23b39ad04p-4 : 0x3.f4002affb8a0365ae10a21b97864p-4 : inexact-ok
+= log10p1 upward binary128 0xc.42dd6485aeceeca7f23b39ad04p-4 : 0x3.f4002affb8a0365ae10a21b97866p-4 : inexact-ok
+= log10p1 downward ibm128 0xc.42dd6485aeceeca7f23b39ad04p-4 : 0x3.f4002affb8a0365ae10a21b978p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xc.42dd6485aeceeca7f23b39ad04p-4 : 0x3.f4002affb8a0365ae10a21b978p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xc.42dd6485aeceeca7f23b39ad04p-4 : 0x3.f4002affb8a0365ae10a21b978p-4 : inexact-ok
+= log10p1 upward ibm128 0xc.42dd6485aeceeca7f23b39ad04p-4 : 0x3.f4002affb8a0365ae10a21b979p-4 : inexact-ok
+log10p1 0xa.78451e366c2303f4f67b1178e628p-4
+= log10p1 downward binary32 0xa.78452p-4 : 0x3.7f82f4p-4 : inexact-ok
+= log10p1 tonearest binary32 0xa.78452p-4 : 0x3.7f82f8p-4 : inexact-ok
+= log10p1 towardzero binary32 0xa.78452p-4 : 0x3.7f82f4p-4 : inexact-ok
+= log10p1 upward binary32 0xa.78452p-4 : 0x3.7f82f8p-4 : inexact-ok
+= log10p1 downward binary64 0xa.78452p-4 : 0x3.7f82f6846954p-4 : inexact-ok
+= log10p1 tonearest binary64 0xa.78452p-4 : 0x3.7f82f6846954p-4 : inexact-ok
+= log10p1 towardzero binary64 0xa.78452p-4 : 0x3.7f82f6846954p-4 : inexact-ok
+= log10p1 upward binary64 0xa.78452p-4 : 0x3.7f82f68469542p-4 : inexact-ok
+= log10p1 downward intel96 0xa.78452p-4 : 0x3.7f82f68469540c2cp-4 : inexact-ok
+= log10p1 tonearest intel96 0xa.78452p-4 : 0x3.7f82f68469540c2cp-4 : inexact-ok
+= log10p1 towardzero intel96 0xa.78452p-4 : 0x3.7f82f68469540c2cp-4 : inexact-ok
+= log10p1 upward intel96 0xa.78452p-4 : 0x3.7f82f68469540c3p-4 : inexact-ok
+= log10p1 downward m68k96 0xa.78452p-4 : 0x3.7f82f68469540c2cp-4 : inexact-ok
+= log10p1 tonearest m68k96 0xa.78452p-4 : 0x3.7f82f68469540c2cp-4 : inexact-ok
+= log10p1 towardzero m68k96 0xa.78452p-4 : 0x3.7f82f68469540c2cp-4 : inexact-ok
+= log10p1 upward m68k96 0xa.78452p-4 : 0x3.7f82f68469540c3p-4 : inexact-ok
+= log10p1 downward binary128 0xa.78452p-4 : 0x3.7f82f68469540c2c6833dfb30b9ap-4 : inexact-ok
+= log10p1 tonearest binary128 0xa.78452p-4 : 0x3.7f82f68469540c2c6833dfb30b9ap-4 : inexact-ok
+= log10p1 towardzero binary128 0xa.78452p-4 : 0x3.7f82f68469540c2c6833dfb30b9ap-4 : inexact-ok
+= log10p1 upward binary128 0xa.78452p-4 : 0x3.7f82f68469540c2c6833dfb30b9cp-4 : inexact-ok
+= log10p1 downward ibm128 0xa.78452p-4 : 0x3.7f82f68469540c2c6833dfb30bp-4 : inexact-ok
+= log10p1 tonearest ibm128 0xa.78452p-4 : 0x3.7f82f68469540c2c6833dfb30cp-4 : inexact-ok
+= log10p1 towardzero ibm128 0xa.78452p-4 : 0x3.7f82f68469540c2c6833dfb30bp-4 : inexact-ok
+= log10p1 upward ibm128 0xa.78452p-4 : 0x3.7f82f68469540c2c6833dfb30cp-4 : inexact-ok
+= log10p1 downward binary32 0xa.78451p-4 : 0x3.7f82fp-4 : inexact-ok
+= log10p1 tonearest binary32 0xa.78451p-4 : 0x3.7f82f4p-4 : inexact-ok
+= log10p1 towardzero binary32 0xa.78451p-4 : 0x3.7f82fp-4 : inexact-ok
+= log10p1 upward binary32 0xa.78451p-4 : 0x3.7f82f4p-4 : inexact-ok
+= log10p1 downward binary64 0xa.78451p-4 : 0x3.7f82f25126c12p-4 : inexact-ok
+= log10p1 tonearest binary64 0xa.78451p-4 : 0x3.7f82f25126c14p-4 : inexact-ok
+= log10p1 towardzero binary64 0xa.78451p-4 : 0x3.7f82f25126c12p-4 : inexact-ok
+= log10p1 upward binary64 0xa.78451p-4 : 0x3.7f82f25126c14p-4 : inexact-ok
+= log10p1 downward intel96 0xa.78451p-4 : 0x3.7f82f25126c1335p-4 : inexact-ok
+= log10p1 tonearest intel96 0xa.78451p-4 : 0x3.7f82f25126c13354p-4 : inexact-ok
+= log10p1 towardzero intel96 0xa.78451p-4 : 0x3.7f82f25126c1335p-4 : inexact-ok
+= log10p1 upward intel96 0xa.78451p-4 : 0x3.7f82f25126c13354p-4 : inexact-ok
+= log10p1 downward m68k96 0xa.78451p-4 : 0x3.7f82f25126c1335p-4 : inexact-ok
+= log10p1 tonearest m68k96 0xa.78451p-4 : 0x3.7f82f25126c13354p-4 : inexact-ok
+= log10p1 towardzero m68k96 0xa.78451p-4 : 0x3.7f82f25126c1335p-4 : inexact-ok
+= log10p1 upward m68k96 0xa.78451p-4 : 0x3.7f82f25126c13354p-4 : inexact-ok
+= log10p1 downward binary128 0xa.78451p-4 : 0x3.7f82f25126c13352b731e7e0172p-4 : inexact-ok
+= log10p1 tonearest binary128 0xa.78451p-4 : 0x3.7f82f25126c13352b731e7e0172p-4 : inexact-ok
+= log10p1 towardzero binary128 0xa.78451p-4 : 0x3.7f82f25126c13352b731e7e0172p-4 : inexact-ok
+= log10p1 upward binary128 0xa.78451p-4 : 0x3.7f82f25126c13352b731e7e01722p-4 : inexact-ok
+= log10p1 downward ibm128 0xa.78451p-4 : 0x3.7f82f25126c13352b731e7e017p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xa.78451p-4 : 0x3.7f82f25126c13352b731e7e017p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xa.78451p-4 : 0x3.7f82f25126c13352b731e7e017p-4 : inexact-ok
+= log10p1 upward ibm128 0xa.78451p-4 : 0x3.7f82f25126c13352b731e7e018p-4 : inexact-ok
+= log10p1 downward binary64 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65cp-4 : inexact-ok
+= log10p1 tonearest binary64 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65ep-4 : inexact-ok
+= log10p1 towardzero binary64 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65cp-4 : inexact-ok
+= log10p1 upward binary64 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65ep-4 : inexact-ok
+= log10p1 downward intel96 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d404p-4 : inexact-ok
+= log10p1 tonearest intel96 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d408p-4 : inexact-ok
+= log10p1 towardzero intel96 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d404p-4 : inexact-ok
+= log10p1 upward intel96 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d408p-4 : inexact-ok
+= log10p1 downward m68k96 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d404p-4 : inexact-ok
+= log10p1 tonearest m68k96 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d408p-4 : inexact-ok
+= log10p1 towardzero m68k96 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d404p-4 : inexact-ok
+= log10p1 upward m68k96 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d408p-4 : inexact-ok
+= log10p1 downward binary128 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d407a1eb99f105c4p-4 : inexact-ok
+= log10p1 tonearest binary128 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d407a1eb99f105c4p-4 : inexact-ok
+= log10p1 towardzero binary128 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d407a1eb99f105c4p-4 : inexact-ok
+= log10p1 upward binary128 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d407a1eb99f105c6p-4 : inexact-ok
+= log10p1 downward ibm128 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d407a1eb99f105p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d407a1eb99f106p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d407a1eb99f105p-4 : inexact-ok
+= log10p1 upward ibm128 0xa.78451e366c238p-4 : 0x3.7f82f60c4a65d407a1eb99f106p-4 : inexact-ok
+= log10p1 downward binary64 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65ap-4 : inexact-ok
+= log10p1 tonearest binary64 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65cp-4 : inexact-ok
+= log10p1 towardzero binary64 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65ap-4 : inexact-ok
+= log10p1 upward binary64 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65cp-4 : inexact-ok
+= log10p1 downward intel96 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26cp-4 : inexact-ok
+= log10p1 tonearest intel96 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26cp-4 : inexact-ok
+= log10p1 towardzero intel96 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26cp-4 : inexact-ok
+= log10p1 upward intel96 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b27p-4 : inexact-ok
+= log10p1 downward m68k96 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26cp-4 : inexact-ok
+= log10p1 tonearest m68k96 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26cp-4 : inexact-ok
+= log10p1 towardzero m68k96 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26cp-4 : inexact-ok
+= log10p1 upward m68k96 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b27p-4 : inexact-ok
+= log10p1 downward binary128 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26d8d5cb6165cdep-4 : inexact-ok
+= log10p1 tonearest binary128 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26d8d5cb6165cep-4 : inexact-ok
+= log10p1 towardzero binary128 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26d8d5cb6165cdep-4 : inexact-ok
+= log10p1 upward binary128 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26d8d5cb6165cep-4 : inexact-ok
+= log10p1 downward ibm128 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26d8d5cb6165cp-4 : inexact-ok
+= log10p1 tonearest ibm128 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26d8d5cb6165dp-4 : inexact-ok
+= log10p1 towardzero ibm128 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26d8d5cb6165cp-4 : inexact-ok
+= log10p1 upward ibm128 0xa.78451e366c23p-4 : 0x3.7f82f60c4a65b26d8d5cb6165dp-4 : inexact-ok
+= log10p1 downward intel96 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b378p-4 : inexact-ok
+= log10p1 tonearest intel96 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37cp-4 : inexact-ok
+= log10p1 towardzero intel96 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b378p-4 : inexact-ok
+= log10p1 upward intel96 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37cp-4 : inexact-ok
+= log10p1 downward m68k96 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b378p-4 : inexact-ok
+= log10p1 tonearest m68k96 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37cp-4 : inexact-ok
+= log10p1 towardzero m68k96 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b378p-4 : inexact-ok
+= log10p1 upward m68k96 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37cp-4 : inexact-ok
+= log10p1 downward binary128 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37a5e012d353228p-4 : inexact-ok
+= log10p1 tonearest binary128 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37a5e012d353228p-4 : inexact-ok
+= log10p1 towardzero binary128 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37a5e012d353228p-4 : inexact-ok
+= log10p1 upward binary128 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37a5e012d35322ap-4 : inexact-ok
+= log10p1 downward ibm128 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37a5e012d3532p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37a5e012d3532p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37a5e012d3532p-4 : inexact-ok
+= log10p1 upward ibm128 0xa.78451e366c2304p-4 : 0x3.7f82f60c4a65b37a5e012d3533p-4 : inexact-ok
+= log10p1 downward intel96 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b374p-4 : inexact-ok
+= log10p1 tonearest intel96 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b378p-4 : inexact-ok
+= log10p1 towardzero intel96 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b374p-4 : inexact-ok
+= log10p1 upward intel96 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b378p-4 : inexact-ok
+= log10p1 downward m68k96 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b374p-4 : inexact-ok
+= log10p1 tonearest m68k96 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b378p-4 : inexact-ok
+= log10p1 towardzero m68k96 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b374p-4 : inexact-ok
+= log10p1 upward m68k96 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b378p-4 : inexact-ok
+= log10p1 downward binary128 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b3762abe9b58b6d2p-4 : inexact-ok
+= log10p1 tonearest binary128 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b3762abe9b58b6d4p-4 : inexact-ok
+= log10p1 towardzero binary128 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b3762abe9b58b6d2p-4 : inexact-ok
+= log10p1 upward binary128 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b3762abe9b58b6d4p-4 : inexact-ok
+= log10p1 downward ibm128 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b3762abe9b58b6p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b3762abe9b58b7p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b3762abe9b58b6p-4 : inexact-ok
+= log10p1 upward ibm128 0xa.78451e366c2303fp-4 : 0x3.7f82f60c4a65b3762abe9b58b7p-4 : inexact-ok
+= log10p1 downward binary128 0xa.78451e366c2303f4f67b1178e628p-4 : 0x3.7f82f60c4a65b3777843adf86878p-4 : inexact-ok
+= log10p1 tonearest binary128 0xa.78451e366c2303f4f67b1178e628p-4 : 0x3.7f82f60c4a65b3777843adf8687ap-4 : inexact-ok
+= log10p1 towardzero binary128 0xa.78451e366c2303f4f67b1178e628p-4 : 0x3.7f82f60c4a65b3777843adf86878p-4 : inexact-ok
+= log10p1 upward binary128 0xa.78451e366c2303f4f67b1178e628p-4 : 0x3.7f82f60c4a65b3777843adf8687ap-4 : inexact-ok
+= log10p1 downward binary128 0xa.78451e366c2303f4f67b1178e8p-4 : 0x3.7f82f60c4a65b3777843adf868f4p-4 : inexact-ok
+= log10p1 tonearest binary128 0xa.78451e366c2303f4f67b1178e8p-4 : 0x3.7f82f60c4a65b3777843adf868f6p-4 : inexact-ok
+= log10p1 towardzero binary128 0xa.78451e366c2303f4f67b1178e8p-4 : 0x3.7f82f60c4a65b3777843adf868f4p-4 : inexact-ok
+= log10p1 upward binary128 0xa.78451e366c2303f4f67b1178e8p-4 : 0x3.7f82f60c4a65b3777843adf868f6p-4 : inexact-ok
+= log10p1 downward ibm128 0xa.78451e366c2303f4f67b1178e8p-4 : 0x3.7f82f60c4a65b3777843adf868p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xa.78451e366c2303f4f67b1178e8p-4 : 0x3.7f82f60c4a65b3777843adf869p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xa.78451e366c2303f4f67b1178e8p-4 : 0x3.7f82f60c4a65b3777843adf868p-4 : inexact-ok
+= log10p1 upward ibm128 0xa.78451e366c2303f4f67b1178e8p-4 : 0x3.7f82f60c4a65b3777843adf869p-4 : inexact-ok
+= log10p1 downward binary128 0xa.78451e366c2303f4f67b1178e4p-4 : 0x3.7f82f60c4a65b3777843adf867e8p-4 : inexact-ok
+= log10p1 tonearest binary128 0xa.78451e366c2303f4f67b1178e4p-4 : 0x3.7f82f60c4a65b3777843adf867e8p-4 : inexact-ok
+= log10p1 towardzero binary128 0xa.78451e366c2303f4f67b1178e4p-4 : 0x3.7f82f60c4a65b3777843adf867e8p-4 : inexact-ok
+= log10p1 upward binary128 0xa.78451e366c2303f4f67b1178e4p-4 : 0x3.7f82f60c4a65b3777843adf867eap-4 : inexact-ok
+= log10p1 downward ibm128 0xa.78451e366c2303f4f67b1178e4p-4 : 0x3.7f82f60c4a65b3777843adf867p-4 : inexact-ok
+= log10p1 tonearest ibm128 0xa.78451e366c2303f4f67b1178e4p-4 : 0x3.7f82f60c4a65b3777843adf868p-4 : inexact-ok
+= log10p1 towardzero ibm128 0xa.78451e366c2303f4f67b1178e4p-4 : 0x3.7f82f60c4a65b3777843adf867p-4 : inexact-ok
+= log10p1 upward ibm128 0xa.78451e366c2303f4f67b1178e4p-4 : 0x3.7f82f60c4a65b3777843adf868p-4 : inexact-ok
+log10p1 -0x6.fe3adf062a38696216fa72657104p-4
+= log10p1 downward binary32 -0x6.fe3ad8p-4 : -0x3.fe21ccp-4 : inexact-ok
+= log10p1 tonearest binary32 -0x6.fe3ad8p-4 : -0x3.fe21c8p-4 : inexact-ok
+= log10p1 towardzero binary32 -0x6.fe3ad8p-4 : -0x3.fe21c8p-4 : inexact-ok
+= log10p1 upward binary32 -0x6.fe3ad8p-4 : -0x3.fe21c8p-4 : inexact-ok
+= log10p1 downward binary64 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c6p-4 : inexact-ok
+= log10p1 tonearest binary64 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c6p-4 : inexact-ok
+= log10p1 towardzero binary64 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c4p-4 : inexact-ok
+= log10p1 upward binary64 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c4p-4 : inexact-ok
+= log10p1 downward intel96 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5718p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5718p-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5714p-4 : inexact-ok
+= log10p1 upward intel96 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5714p-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5718p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5718p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5714p-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5714p-4 : inexact-ok
+= log10p1 downward binary128 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5716fa7b24f5d89cp-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5716fa7b24f5d89cp-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5716fa7b24f5d89ap-4 : inexact-ok
+= log10p1 upward binary128 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5716fa7b24f5d89ap-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5716fa7b24f5d9p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5716fa7b24f5d9p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5716fa7b24f5d8p-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.fe3ad8p-4 : -0x3.fe21c881aa0c5716fa7b24f5d8p-4 : inexact-ok
+= log10p1 downward binary32 -0x6.fe3aep-4 : -0x3.fe21dp-4 : inexact-ok
+= log10p1 tonearest binary32 -0x6.fe3aep-4 : -0x3.fe21dp-4 : inexact-ok
+= log10p1 towardzero binary32 -0x6.fe3aep-4 : -0x3.fe21ccp-4 : inexact-ok
+= log10p1 upward binary32 -0x6.fe3aep-4 : -0x3.fe21ccp-4 : inexact-ok
+= log10p1 downward binary64 -0x6.fe3aep-4 : -0x3.fe21ceadab18ap-4 : inexact-ok
+= log10p1 tonearest binary64 -0x6.fe3aep-4 : -0x3.fe21ceadab18ap-4 : inexact-ok
+= log10p1 towardzero binary64 -0x6.fe3aep-4 : -0x3.fe21ceadab188p-4 : inexact-ok
+= log10p1 upward binary64 -0x6.fe3aep-4 : -0x3.fe21ceadab188p-4 : inexact-ok
+= log10p1 downward intel96 -0x6.fe3aep-4 : -0x3.fe21ceadab18976cp-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.fe3aep-4 : -0x3.fe21ceadab18976cp-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.fe3aep-4 : -0x3.fe21ceadab189768p-4 : inexact-ok
+= log10p1 upward intel96 -0x6.fe3aep-4 : -0x3.fe21ceadab189768p-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.fe3aep-4 : -0x3.fe21ceadab18976cp-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.fe3aep-4 : -0x3.fe21ceadab18976cp-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.fe3aep-4 : -0x3.fe21ceadab189768p-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.fe3aep-4 : -0x3.fe21ceadab189768p-4 : inexact-ok
+= log10p1 downward binary128 -0x6.fe3aep-4 : -0x3.fe21ceadab18976b43938dc6772p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.fe3aep-4 : -0x3.fe21ceadab18976b43938dc6771ep-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.fe3aep-4 : -0x3.fe21ceadab18976b43938dc6771ep-4 : inexact-ok
+= log10p1 upward binary128 -0x6.fe3aep-4 : -0x3.fe21ceadab18976b43938dc6771ep-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.fe3aep-4 : -0x3.fe21ceadab18976b43938dc678p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.fe3aep-4 : -0x3.fe21ceadab18976b43938dc677p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.fe3aep-4 : -0x3.fe21ceadab18976b43938dc677p-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.fe3aep-4 : -0x3.fe21ceadab18976b43938dc677p-4 : inexact-ok
+= log10p1 downward binary64 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec8ap-4 : inexact-ok
+= log10p1 tonearest binary64 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec8ap-4 : inexact-ok
+= log10p1 towardzero binary64 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89ep-4 : inexact-ok
+= log10p1 upward binary64 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89ep-4 : inexact-ok
+= log10p1 downward intel96 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f854p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f85p-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f85p-4 : inexact-ok
+= log10p1 upward intel96 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f85p-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f854p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f85p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f85p-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f85p-4 : inexact-ok
+= log10p1 downward binary128 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f850a851576a9aa4p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f850a851576a9aa2p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f850a851576a9aa2p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f850a851576a9aa2p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f850a851576a9bp-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f850a851576a9bp-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f850a851576a9ap-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.fe3adf062a384p-4 : -0x3.fe21cdecec89f850a851576a9ap-4 : inexact-ok
+= log10p1 downward binary64 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a4p-4 : inexact-ok
+= log10p1 tonearest binary64 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a2p-4 : inexact-ok
+= log10p1 towardzero binary64 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a2p-4 : inexact-ok
+= log10p1 upward binary64 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a2p-4 : inexact-ok
+= log10p1 downward intel96 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b4p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29bp-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29bp-4 : inexact-ok
+= log10p1 upward intel96 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29bp-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b4p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29bp-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29bp-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29bp-4 : inexact-ok
+= log10p1 downward binary128 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b0b0c3edf4aa88p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b0b0c3edf4aa88p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b0b0c3edf4aa86p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b0b0c3edf4aa86p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b0b0c3edf4abp-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b0b0c3edf4abp-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b0b0c3edf4aap-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.fe3adf062a388p-4 : -0x3.fe21cdecec8a29b0b0c3edf4aap-4 : inexact-ok
+= log10p1 downward intel96 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a184p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183cp-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183cp-4 : inexact-ok
+= log10p1 upward intel96 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183cp-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a184p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183cp-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183cp-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183cp-4 : inexact-ok
+= log10p1 downward binary128 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183c3dc76bbcdbc2p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183c3dc76bbcdbcp-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183c3dc76bbcdbcp-4 : inexact-ok
+= log10p1 upward binary128 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183c3dc76bbcdbcp-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183c3dc76bbcdcp-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183c3dc76bbcdcp-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183c3dc76bbcdbp-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.fe3adf062a38696p-4 : -0x3.fe21cdecec8a183c3dc76bbcdbp-4 : inexact-ok
+= log10p1 downward intel96 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a1844p-4 : inexact-ok
+= log10p1 tonearest intel96 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a1844p-4 : inexact-ok
+= log10p1 towardzero intel96 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184p-4 : inexact-ok
+= log10p1 upward intel96 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184p-4 : inexact-ok
+= log10p1 downward m68k96 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a1844p-4 : inexact-ok
+= log10p1 tonearest m68k96 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a1844p-4 : inexact-ok
+= log10p1 towardzero m68k96 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184p-4 : inexact-ok
+= log10p1 upward m68k96 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184p-4 : inexact-ok
+= log10p1 downward binary128 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184269c87a0fad04p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184269c87a0fad02p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184269c87a0fad02p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184269c87a0fad02p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184269c87a0faep-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184269c87a0fadp-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184269c87a0fadp-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.fe3adf062a386968p-4 : -0x3.fe21cdecec8a184269c87a0fadp-4 : inexact-ok
+= log10p1 downward binary128 -0x6.fe3adf062a38696216fa72657104p-4 : -0x3.fe21cdecec8a183dda81e99b4538p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.fe3adf062a38696216fa72657104p-4 : -0x3.fe21cdecec8a183dda81e99b4536p-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.fe3adf062a38696216fa72657104p-4 : -0x3.fe21cdecec8a183dda81e99b4536p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.fe3adf062a38696216fa72657104p-4 : -0x3.fe21cdecec8a183dda81e99b4536p-4 : inexact-ok
+= log10p1 downward binary128 -0x6.fe3adf062a38696216fa72657p-4 : -0x3.fe21cdecec8a183dda81e99b447p-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.fe3adf062a38696216fa72657p-4 : -0x3.fe21cdecec8a183dda81e99b446ep-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.fe3adf062a38696216fa72657p-4 : -0x3.fe21cdecec8a183dda81e99b446ep-4 : inexact-ok
+= log10p1 upward binary128 -0x6.fe3adf062a38696216fa72657p-4 : -0x3.fe21cdecec8a183dda81e99b446ep-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.fe3adf062a38696216fa72657p-4 : -0x3.fe21cdecec8a183dda81e99b45p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.fe3adf062a38696216fa72657p-4 : -0x3.fe21cdecec8a183dda81e99b44p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.fe3adf062a38696216fa72657p-4 : -0x3.fe21cdecec8a183dda81e99b44p-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.fe3adf062a38696216fa72657p-4 : -0x3.fe21cdecec8a183dda81e99b44p-4 : inexact-ok
+= log10p1 downward binary128 -0x6.fe3adf062a38696216fa726572p-4 : -0x3.fe21cdecec8a183dda81e99b45fap-4 : inexact-ok
+= log10p1 tonearest binary128 -0x6.fe3adf062a38696216fa726572p-4 : -0x3.fe21cdecec8a183dda81e99b45fap-4 : inexact-ok
+= log10p1 towardzero binary128 -0x6.fe3adf062a38696216fa726572p-4 : -0x3.fe21cdecec8a183dda81e99b45f8p-4 : inexact-ok
+= log10p1 upward binary128 -0x6.fe3adf062a38696216fa726572p-4 : -0x3.fe21cdecec8a183dda81e99b45f8p-4 : inexact-ok
+= log10p1 downward ibm128 -0x6.fe3adf062a38696216fa726572p-4 : -0x3.fe21cdecec8a183dda81e99b46p-4 : inexact-ok
+= log10p1 tonearest ibm128 -0x6.fe3adf062a38696216fa726572p-4 : -0x3.fe21cdecec8a183dda81e99b46p-4 : inexact-ok
+= log10p1 towardzero ibm128 -0x6.fe3adf062a38696216fa726572p-4 : -0x3.fe21cdecec8a183dda81e99b45p-4 : inexact-ok
+= log10p1 upward ibm128 -0x6.fe3adf062a38696216fa726572p-4 : -0x3.fe21cdecec8a183dda81e99b45p-4 : inexact-ok
diff --git a/math/auto-libm-test-out-log2p1 b/math/auto-libm-test-out-log2p1
index c8ec972d6f..5996315418 100644
--- a/math/auto-libm-test-out-log2p1
+++ b/math/auto-libm-test-out-log2p1
@@ -1439,6 +1439,346 @@ log2p1 max
 = log2p1 tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b51fp+8 : inexact-ok
 = log2p1 towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b51fp+8 : inexact-ok
 = log2p1 upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b52p+8 : inexact-ok
+log2p1 0x1.a69b4ap-2
+= log2p1 downward binary32 0x6.9a6d28p-4 : 0x7.f9adfp-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.9a6d28p-4 : 0x7.f9adf8p-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.9a6d28p-4 : 0x7.f9adfp-4 : inexact-ok
+= log2p1 upward binary32 0x6.9a6d28p-4 : 0x7.f9adf8p-4 : inexact-ok
+= log2p1 downward binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a88p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a88p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a88p-4 : inexact-ok
+= log2p1 upward binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a8cp-4 : inexact-ok
+= log2p1 downward intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
+= log2p1 upward intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
+= log2p1 downward binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02544p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02544p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02544p-4 : inexact-ok
+= log2p1 upward binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02548p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b024p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b026p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b024p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b026p-4 : inexact-ok
+log2p1 0x1.a7b725780ff2cp-2
+= log2p1 downward binary32 0x6.9edc98p-4 : 0x7.fe351p-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.9edc98p-4 : 0x7.fe351p-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.9edc98p-4 : 0x7.fe351p-4 : inexact-ok
+= log2p1 upward binary32 0x6.9edc98p-4 : 0x7.fe3518p-4 : inexact-ok
+= log2p1 downward binary64 0x6.9edc98p-4 : 0x7.fe35109dc38fcp-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.9edc98p-4 : 0x7.fe35109dc38fcp-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.9edc98p-4 : 0x7.fe35109dc38fcp-4 : inexact-ok
+= log2p1 upward binary64 0x6.9edc98p-4 : 0x7.fe35109dc39p-4 : inexact-ok
+= log2p1 downward intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
+= log2p1 upward intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
+= log2p1 downward binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194664p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194664p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194664p-4 : inexact-ok
+= log2p1 upward binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194668p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91946p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91946p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91946p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91948p-4 : inexact-ok
+= log2p1 downward binary32 0x6.9edc9p-4 : 0x7.fe3508p-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.9edc9p-4 : 0x7.fe3508p-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.9edc9p-4 : 0x7.fe3508p-4 : inexact-ok
+= log2p1 upward binary32 0x6.9edc9p-4 : 0x7.fe351p-4 : inexact-ok
+= log2p1 downward binary64 0x6.9edc9p-4 : 0x7.fe350873e267p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.9edc9p-4 : 0x7.fe350873e2674p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.9edc9p-4 : 0x7.fe350873e267p-4 : inexact-ok
+= log2p1 upward binary64 0x6.9edc9p-4 : 0x7.fe350873e2674p-4 : inexact-ok
+= log2p1 downward intel96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
+= log2p1 upward intel96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
+= log2p1 downward binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d04p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d04p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d04p-4 : inexact-ok
+= log2p1 upward binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d08p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170ep-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170cp-4 : inexact-ok
+= log2p1 upward ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170ep-4 : inexact-ok
+= log2p1 downward binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4dap-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da4p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4dap-4 : inexact-ok
+= log2p1 upward binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da4p-4 : inexact-ok
+= log2p1 downward intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
+= log2p1 upward intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
+= log2p1 downward binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613f8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613fcp-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613f8p-4 : inexact-ok
+= log2p1 upward binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613fcp-4 : inexact-ok
+= log2p1 downward ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd612p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd614p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd612p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd614p-4 : inexact-ok
+log2p1 0x5.dda3a1f4c4020ebp-4
+= log2p1 downward binary32 0x5.dda3a8p-4 : 0x7.35ab48p-4 : inexact-ok
+= log2p1 tonearest binary32 0x5.dda3a8p-4 : 0x7.35ab48p-4 : inexact-ok
+= log2p1 towardzero binary32 0x5.dda3a8p-4 : 0x7.35ab48p-4 : inexact-ok
+= log2p1 upward binary32 0x5.dda3a8p-4 : 0x7.35ab5p-4 : inexact-ok
+= log2p1 downward binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be4p-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be4p-4 : inexact-ok
+= log2p1 upward binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be8p-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde74p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde74p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde74p-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde78p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacddep-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacddep-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacddep-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdep-4 : inexact-ok
+= log2p1 downward binary32 0x5.dda3ap-4 : 0x7.35ab4p-4 : inexact-ok
+= log2p1 tonearest binary32 0x5.dda3ap-4 : 0x7.35ab4p-4 : inexact-ok
+= log2p1 towardzero binary32 0x5.dda3ap-4 : 0x7.35ab4p-4 : inexact-ok
+= log2p1 upward binary32 0x5.dda3ap-4 : 0x7.35ab48p-4 : inexact-ok
+= log2p1 downward binary64 0x5.dda3ap-4 : 0x7.35ab4132efd7cp-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.dda3ap-4 : 0x7.35ab4132efd7cp-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.dda3ap-4 : 0x7.35ab4132efd7cp-4 : inexact-ok
+= log2p1 upward binary64 0x5.dda3ap-4 : 0x7.35ab4132efd8p-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d98p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d9cp-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d98p-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d9cp-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38ep-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38cp-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38ep-4 : inexact-ok
+= log2p1 downward binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f6p-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f64p-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f6p-4 : inexact-ok
+= log2p1 upward binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f64p-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f8509905p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099054p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f8509905p-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099054p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099p-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f850992p-4 : inexact-ok
+= log2p1 downward binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5cp-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f6p-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5cp-4 : inexact-ok
+= log2p1 upward binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f6p-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc4p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc4p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc4p-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc8p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cp-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53ep-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3fp-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3f04p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3fp-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3f04p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3ep-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a4p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3ep-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a4p-4 : inexact-ok
+log2p1 -0x7.fff3a57fdd2666bcecba33bd89f4p-4
+= log2p1 downward binary32 -0x7.fff3ap-4 : -0xf.ffdc5p-4 : inexact-ok
+= log2p1 tonearest binary32 -0x7.fff3ap-4 : -0xf.ffdc5p-4 : inexact-ok
+= log2p1 towardzero binary32 -0x7.fff3ap-4 : -0xf.ffdc4p-4 : inexact-ok
+= log2p1 upward binary32 -0x7.fff3ap-4 : -0xf.ffdc4p-4 : inexact-ok
+= log2p1 downward binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d52p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d518p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d518p-4 : inexact-ok
+= log2p1 upward binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d518p-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189bp-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189bp-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad68p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad6p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad6p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad6p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cbp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cacp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cacp-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cacp-4 : inexact-ok
+= log2p1 downward binary32 -0x7.fff3a8p-4 : -0xf.ffdc7p-4 : inexact-ok
+= log2p1 tonearest binary32 -0x7.fff3a8p-4 : -0xf.ffdc6p-4 : inexact-ok
+= log2p1 towardzero binary32 -0x7.fff3a8p-4 : -0xf.ffdc6p-4 : inexact-ok
+= log2p1 upward binary32 -0x7.fff3a8p-4 : -0xf.ffdc6p-4 : inexact-ok
+= log2p1 downward binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510ep-4 : inexact-ok
+= log2p1 tonearest binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8p-4 : inexact-ok
+= log2p1 upward binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8p-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c8p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c8p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb5p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb48p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb48p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb48p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bcp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bcp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4b8p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4b8p-4 : inexact-ok
+= log2p1 downward binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f51528p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152p-4 : inexact-ok
+= log2p1 upward binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152p-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a87p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a87p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a868p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a868p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372acp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a8p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a8p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a8p-4 : inexact-ok
+= log2p1 downward binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5153p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5153p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f51528p-4 : inexact-ok
+= log2p1 upward binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f51528p-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea3p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea3p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea06p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea058p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea058p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea058p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea4p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363eap-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363eap-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363eap-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd6p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd58p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd58p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd58p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655ddp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dccp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dccp-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dccp-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426ep-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426d8p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426d8p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426d8p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b428p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b428p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b424p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b424p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaa8p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaap-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaap-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaap-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc508p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc5p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc5p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc5p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc8p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc4p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc4p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc4p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcac8p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcac8p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcacp-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcacp-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbccp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbccp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbc8p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbc8p-4 : inexact-ok
 log2p1 0x7.2a4368p-4
 = log2p1 downward binary32 0x7.2a4368p-4 : 0x8.8ac63p-4 : inexact-ok
 = log2p1 tonearest binary32 0x7.2a4368p-4 : 0x8.8ac64p-4 : inexact-ok
diff --git a/math/test-nan-payload.c b/math/test-nan-payload.c
index 4a81dc348b..413791e09f 100644
--- a/math/test-nan-payload.c
+++ b/math/test-nan-payload.c
@@ -16,6 +16,9 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+#define _LIBC_TEST 1
+#define __STDC_WANT_IEC_60559_TYPES_EXT__
+#include <errno.h>
 #include <float.h>
 #include <math.h>
 #include <stdio.h>
@@ -31,7 +34,7 @@
 #define CHECK_IS_NAN(TYPE, A)			\
   do						\
     {						\
-      if (isnan (A))				\
+      if (isnan (A) && !issignaling (A))	\
 	puts ("PASS: " #TYPE " " #A);		\
       else					\
 	{					\
@@ -41,6 +44,19 @@
     }						\
   while (0)
 
+#define CHECK_PAYLOAD(TYPE, FUNC, A, P)		\
+  do						\
+    {						\
+      if (FUNC (&(A)) == (P))			\
+	puts ("PASS: " #TYPE " payload " #A);	\
+      else					\
+	{					\
+	  puts ("FAIL: " #TYPE " payload " #A);	\
+	  result = 1;				\
+	}					\
+    }						\
+  while (0)
+
 #define CHECK_SAME_NAN(TYPE, A, B)			\
   do							\
     {							\
@@ -67,33 +83,97 @@
     }							\
   while (0)
 
+#define CLEAR_ERRNO				\
+  do						\
+    {						\
+      errno = 12345;				\
+    }						\
+  while (0)
+
+#define CHECK_ERRNO(TYPE, A)				\
+  do							\
+    {							\
+      if (errno == 12345)				\
+	puts ("PASS: " #TYPE " " #A " errno");		\
+      else						\
+	{						\
+	  puts ("FAIL: " #TYPE " " #A " errno");	\
+	  result = 1;					\
+	}						\
+    }							\
+  while (0)
+
 /* Cannot test payloads by memcmp for formats where NaNs have padding
    bits.  */
 #define CAN_TEST_EQ(MANT_DIG) ((MANT_DIG) != 64 && (MANT_DIG) != 106)
 
-#define RUN_TESTS(TYPE, SFUNC, FUNC, MANT_DIG)		\
+#define RUN_TESTS(TYPE, SFUNC, FUNC, PLFUNC, MANT_DIG)	\
   do							\
     {							\
+     CLEAR_ERRNO;					\
      TYPE n123 = WRAP_NAN (FUNC, "123");		\
+     CHECK_ERRNO (TYPE, n123);				\
      CHECK_IS_NAN (TYPE, n123);				\
+     CLEAR_ERRNO;					\
      TYPE s123 = WRAP_STRTO (SFUNC, "NAN(123)");	\
+     CHECK_ERRNO (TYPE, s123);				\
      CHECK_IS_NAN (TYPE, s123);				\
+     CLEAR_ERRNO;					\
      TYPE n456 = WRAP_NAN (FUNC, "456");		\
+     CHECK_ERRNO (TYPE, n456);				\
      CHECK_IS_NAN (TYPE, n456);				\
+     CLEAR_ERRNO;					\
      TYPE s456 = WRAP_STRTO (SFUNC, "NAN(456)");	\
+     CHECK_ERRNO (TYPE, s456);				\
      CHECK_IS_NAN (TYPE, s456);				\
+     CLEAR_ERRNO;					\
+     TYPE nh123 = WRAP_NAN (FUNC, "0x123");		\
+     CHECK_ERRNO (TYPE, nh123);				\
+     CHECK_IS_NAN (TYPE, nh123);			\
+     CLEAR_ERRNO;					\
+     TYPE sh123 = WRAP_STRTO (SFUNC, "NAN(0x123)");	\
+     CHECK_ERRNO (TYPE, sh123);				\
+     CHECK_IS_NAN (TYPE, sh123);			\
+     CLEAR_ERRNO;					\
      TYPE n123x = WRAP_NAN (FUNC, "123)");		\
+     CHECK_ERRNO (TYPE, n123x);				\
      CHECK_IS_NAN (TYPE, n123x);			\
+     CLEAR_ERRNO;					\
      TYPE nemp = WRAP_NAN (FUNC, "");			\
+     CHECK_ERRNO (TYPE, nemp);				\
      CHECK_IS_NAN (TYPE, nemp);				\
+     CLEAR_ERRNO;					\
      TYPE semp = WRAP_STRTO (SFUNC, "NAN()");		\
+     CHECK_ERRNO (TYPE, semp);				\
      CHECK_IS_NAN (TYPE, semp);				\
+     CLEAR_ERRNO;					\
      TYPE sx = WRAP_STRTO (SFUNC, "NAN");		\
+     CHECK_ERRNO (TYPE, sx);				\
      CHECK_IS_NAN (TYPE, sx);				\
+     CLEAR_ERRNO;					\
+     TYPE novf = WRAP_NAN (FUNC, "9999999999"		\
+			   "99999999999999999999"	\
+			   "9999999999");		\
+     CHECK_ERRNO (TYPE, novf);				\
+     CHECK_IS_NAN (TYPE, novf);				\
+     CLEAR_ERRNO;					\
+     TYPE sovf = WRAP_STRTO (SFUNC, "NAN(9999999999"	\
+			     "99999999999999999999"	\
+			     "9999999999)");		\
+     CHECK_ERRNO (TYPE, sovf);				\
+     CHECK_IS_NAN (TYPE, sovf);				\
      if (CAN_TEST_EQ (MANT_DIG))			\
        CHECK_SAME_NAN (TYPE, n123, s123);		\
+     CHECK_PAYLOAD (TYPE, PLFUNC, n123, 123);		\
+     CHECK_PAYLOAD (TYPE, PLFUNC, s123, 123);		\
      if (CAN_TEST_EQ (MANT_DIG))			\
        CHECK_SAME_NAN (TYPE, n456, s456);		\
+     CHECK_PAYLOAD (TYPE, PLFUNC, n456, 456);		\
+     CHECK_PAYLOAD (TYPE, PLFUNC, s456, 456);		\
+     if (CAN_TEST_EQ (MANT_DIG))			\
+       CHECK_SAME_NAN (TYPE, nh123, sh123);		\
+     CHECK_PAYLOAD (TYPE, PLFUNC, nh123, 0x123);	\
+     CHECK_PAYLOAD (TYPE, PLFUNC, sh123, 0x123);	\
      if (CAN_TEST_EQ (MANT_DIG))			\
        CHECK_SAME_NAN (TYPE, nemp, semp);		\
      if (CAN_TEST_EQ (MANT_DIG))			\
@@ -110,9 +190,31 @@ static int
 do_test (void)
 {
   int result = 0;
-  RUN_TESTS (float, strtof, nanf, FLT_MANT_DIG);
-  RUN_TESTS (double, strtod, nan, DBL_MANT_DIG);
-  RUN_TESTS (long double, strtold, nanl, LDBL_MANT_DIG);
+  RUN_TESTS (float, strtof, nanf, getpayloadf, FLT_MANT_DIG);
+  RUN_TESTS (double, strtod, nan, getpayload, DBL_MANT_DIG);
+  RUN_TESTS (long double, strtold, nanl, getpayloadl, LDBL_MANT_DIG);
+#if __HAVE_FLOAT16
+  RUN_TESTS (_Float16, strtof16, nanf16, getpayloadf16, FLT16_MANT_DIG);
+#endif
+#if __HAVE_FLOAT32
+  RUN_TESTS (_Float32, strtof32, nanf32, getpayloadf32, FLT32_MANT_DIG);
+#endif
+#if __HAVE_FLOAT64
+  RUN_TESTS (_Float64, strtof64, nanf64, getpayloadf64, FLT64_MANT_DIG);
+#endif
+#if __HAVE_FLOAT128
+  RUN_TESTS (_Float128, strtof128, nanf128, getpayloadf128, FLT128_MANT_DIG);
+#endif
+#if __HAVE_FLOAT32X
+  RUN_TESTS (_Float32x, strtof32x, nanf32x, getpayloadf32x, FLT32X_MANT_DIG);
+#endif
+#if __HAVE_FLOAT64X
+  RUN_TESTS (_Float64x, strtof64x, nanf64x, getpayloadf64x, FLT64X_MANT_DIG);
+#endif
+#if __HAVE_FLOAT128X
+  RUN_TESTS (_Float128x, strtof128x, nanf128x, getpayloadf128x,
+	     FLT128X_MANT_DIG);
+#endif
   return result;
 }
 
diff --git a/math/test-tgmath2.c b/math/test-tgmath2.c
index 37afa8a08a..4aeb877b8e 100644
--- a/math/test-tgmath2.c
+++ b/math/test-tgmath2.c
@@ -24,6 +24,8 @@
 #include <string.h>
 #include <tgmath.h>
 
+#include <support/check.h>
+
 //#define DEBUG
 
 typedef complex float cfloat;
@@ -87,13 +89,6 @@ enum
 int count;
 int counts[Tlast][C_last];
 
-#define FAIL(str) \
-  do								\
-    {								\
-      printf ("%s failure on line %d\n", (str), __LINE__);	\
-      result = 1;						\
-    }								\
-  while (0)
 #define TEST_TYPE_ONLY(expr, rettype) \
   do								\
     {								\
@@ -133,8 +128,6 @@ int counts[Tlast][C_last];
 int
 test_cos (const int Vint4, const long long int Vllong4)
 {
-  int result = 0;
-
   TEST (cos (vfloat1), float, cos);
   TEST (cos (vdouble1), double, cos);
   TEST (cos (vldouble1), ldouble, cos);
@@ -152,7 +145,7 @@ test_cos (const int Vint4, const long long int Vllong4)
   TEST (cos (Vcdouble1), cdouble, cos);
   TEST (cos (Vcldouble1), cldouble, cos);
 
-  return result;
+  return 0;
 }
 
 int
diff --git a/misc/Makefile b/misc/Makefile
index 5d17c562fe..7b7f8351bf 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -257,6 +257,8 @@ tests := \
   tst-mntent-blank-passno \
   tst-mntent-escape \
   tst-mntent2 \
+  tst-mremap1 \
+  tst-mremap2 \
   tst-preadvwritev \
   tst-preadvwritev2 \
   tst-preadvwritev64 \
diff --git a/misc/tst-mremap1.c b/misc/tst-mremap1.c
new file mode 100644
index 0000000000..0469991a6c
--- /dev/null
+++ b/misc/tst-mremap1.c
@@ -0,0 +1,46 @@
+/* Test mremap with MREMAP_MAYMOVE.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/mman.h>
+#include <support/xstdlib.h>
+#include <support/xunistd.h>
+#include <support/check.h>
+#include <support/test-driver.h>
+
+static int
+do_test (void)
+{
+  size_t old_size = getpagesize ();
+  char *old_addr = xmmap (NULL, old_size, PROT_READ | PROT_WRITE,
+			  MAP_PRIVATE | MAP_ANONYMOUS, -1);
+  old_addr[0] = 1;
+  old_addr[old_size - 1] = 2;
+
+  /* Test MREMAP_MAYMOVE.  */
+  size_t new_size = old_size + old_size;
+  char *new_addr = mremap (old_addr, old_size, new_size, MREMAP_MAYMOVE);
+  TEST_VERIFY_EXIT (new_addr != MAP_FAILED);
+  new_addr[0] = 1;
+  new_addr[new_size - 1] = 2;
+  xmunmap (new_addr, new_size);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/misc/tst-mremap2.c b/misc/tst-mremap2.c
new file mode 100644
index 0000000000..45be7f0369
--- /dev/null
+++ b/misc/tst-mremap2.c
@@ -0,0 +1,54 @@
+/* Test mremap with MREMAP_FIXED.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/mman.h>
+#include <support/xstdlib.h>
+#include <support/xunistd.h>
+#include <support/test-driver.h>
+#include <mremap-failure.h>
+
+static int
+do_test (void)
+{
+  size_t old_size = getpagesize ();
+  size_t new_size = old_size + old_size;
+  char *old_addr = xmmap (NULL, old_size, PROT_READ | PROT_WRITE,
+			  MAP_PRIVATE | MAP_ANONYMOUS, -1);
+  old_addr[0] = 1;
+  old_addr[old_size - 1] = 2;
+
+  char *fixed_addr = xmmap (NULL, new_size, PROT_READ | PROT_WRITE,
+			    MAP_PRIVATE | MAP_ANONYMOUS, -1);
+  fixed_addr[0] = 1;
+  fixed_addr[new_size - 1] = 2;
+
+  /* Test MREMAP_FIXED.  */
+  char *new_addr = mremap (old_addr, old_size, new_size,
+			   MREMAP_FIXED | MREMAP_MAYMOVE,
+			   fixed_addr);
+  if (new_addr == MAP_FAILED)
+    return mremap_failure_exit (errno);
+  new_addr[0] = 1;
+  new_addr[new_size - 1] = 2;
+  xmunmap (new_addr, new_size);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/nptl/Makefile b/nptl/Makefile
index c4c27e0d23..bf4c29b6ed 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -204,6 +204,7 @@ routines = \
   sem_timedwait \
   sem_unlink \
   sem_wait \
+  syscall_cancel \
   tpp \
   unwind \
   vars \
@@ -235,7 +236,8 @@ CFLAGS-pthread_setcanceltype.c += -fexceptions -fasynchronous-unwind-tables
 
 # These are internal functions which similar functionality as setcancelstate
 # and setcanceltype.
-CFLAGS-cancellation.c += -fasynchronous-unwind-tables
+CFLAGS-cancellation.c += -fexceptions -fasynchronous-unwind-tables
+CFLAGS-syscall_cancel.c += -fexceptions -fasynchronous-unwind-tables
 
 # Calling pthread_exit() must cause the registered cancel handlers to
 # be executed.  Therefore exceptions have to be thrown through this
@@ -279,6 +281,7 @@ tests = \
   tst-cancel7 \
   tst-cancel17 \
   tst-cancel24 \
+  tst-cancel31 \
   tst-cond26 \
   tst-context1 \
   tst-default-attr \
@@ -404,7 +407,10 @@ xtests += tst-eintr1
 
 test-srcs = tst-oddstacklimit
 
-gen-as-const-headers = unwindbuf.sym
+gen-as-const-headers = \
+  descr-const.sym \
+  unwindbuf.sym \
+  # gen-as-const-headers
 
 gen-py-const-headers := nptl_lock_constants.pysym
 pretty-printers := nptl-printers.py
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index f35a8369bd..2cb562f8ea 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -139,7 +139,7 @@ get_cached_stack (size_t *sizep, void **memp)
   memset (dtv, '\0', (dtv[-1].counter + 1) * sizeof (dtv_t));
 
   /* Re-initialize the TLS.  */
-  _dl_allocate_tls_init (TLS_TPADJ (result), true);
+  _dl_allocate_tls_init (TLS_TPADJ (result), false);
 
   return result;
 }
diff --git a/nptl/cancellation.c b/nptl/cancellation.c
index 7ce60e70d0..e71008b58b 100644
--- a/nptl/cancellation.c
+++ b/nptl/cancellation.c
@@ -18,74 +18,93 @@
 #include <setjmp.h>
 #include <stdlib.h>
 #include "pthreadP.h"
-#include <futex-internal.h>
 
-
-/* The next two functions are similar to pthread_setcanceltype() but
-   more specialized for the use in the cancelable functions like write().
-   They do not need to check parameters etc.  These functions must be
-   AS-safe, with the exception of the actual cancellation, because they
-   are called by wrappers around AS-safe functions like write().*/
-int
-__pthread_enable_asynccancel (void)
+/* Called by the INTERNAL_SYSCALL_CANCEL macro, check for cancellation and
+   returns the syscall value or its negative error code.  */
+long int
+__internal_syscall_cancel (__syscall_arg_t a1, __syscall_arg_t a2,
+			   __syscall_arg_t a3, __syscall_arg_t a4,
+			   __syscall_arg_t a5, __syscall_arg_t a6,
+			   __SYSCALL_CANCEL7_ARG_DEF
+			   __syscall_arg_t nr)
 {
-  struct pthread *self = THREAD_SELF;
-  int oldval = atomic_load_relaxed (&self->cancelhandling);
+  long int result;
+  struct pthread *pd = THREAD_SELF;
 
-  while (1)
+  /* If cancellation is not enabled, call the syscall directly and also
+     for thread terminatation to avoid call __syscall_do_cancel while
+     executing cleanup handlers.  */
+  int ch = atomic_load_relaxed (&pd->cancelhandling);
+  if (SINGLE_THREAD_P || !cancel_enabled (ch) || cancel_exiting (ch))
     {
-      int newval = oldval | CANCELTYPE_BITMASK;
-
-      if (newval == oldval)
-	break;
+      result = INTERNAL_SYSCALL_NCS_CALL (nr, a1, a2, a3, a4, a5, a6
+					  __SYSCALL_CANCEL7_ARCH_ARG7);
+      if (INTERNAL_SYSCALL_ERROR_P (result))
+	return -INTERNAL_SYSCALL_ERRNO (result);
+      return result;
+    }
 
-      if (atomic_compare_exchange_weak_acquire (&self->cancelhandling,
-						&oldval, newval))
-	{
-	  if (cancel_enabled_and_canceled_and_async (newval))
-	    {
-	      self->result = PTHREAD_CANCELED;
-	      __do_cancel ();
-	    }
+  /* Call the arch-specific entry points that contains the globals markers
+     to be checked by SIGCANCEL handler.  */
+  result = __syscall_cancel_arch (&pd->cancelhandling, nr, a1, a2, a3, a4, a5,
+			          a6 __SYSCALL_CANCEL7_ARCH_ARG7);
 
-	  break;
-	}
-    }
+  /* If the cancellable syscall was interrupted by SIGCANCEL and it has no
+     side-effect, cancel the thread if cancellation is enabled.  */
+  ch = atomic_load_relaxed (&pd->cancelhandling);
+  /* The behaviour here assumes that EINTR is returned only if there are no
+     visible side effects.  POSIX Issue 7 has not yet provided any stronger
+     language for close, and in theory the close syscall could return EINTR
+     and leave the file descriptor open (conforming and leaks).  It expects
+     that no such kernel is used with glibc.  */
+  if (result == -EINTR && cancel_enabled_and_canceled (ch))
+    __syscall_do_cancel ();
 
-  return oldval;
+  return result;
 }
-libc_hidden_def (__pthread_enable_asynccancel)
 
-/* See the comment for __pthread_enable_asynccancel regarding
-   the AS-safety of this function.  */
-void
-__pthread_disable_asynccancel (int oldtype)
+/* Called by the SYSCALL_CANCEL macro, check for cancellation and return the
+   syscall expected success value (usually 0) or, in case of failure, -1 and
+   sets errno to syscall return value.  */
+long int
+__syscall_cancel (__syscall_arg_t a1, __syscall_arg_t a2,
+		  __syscall_arg_t a3, __syscall_arg_t a4,
+		  __syscall_arg_t a5, __syscall_arg_t a6,
+		  __SYSCALL_CANCEL7_ARG_DEF __syscall_arg_t nr)
 {
-  /* If asynchronous cancellation was enabled before we do not have
-     anything to do.  */
-  if (oldtype & CANCELTYPE_BITMASK)
-    return;
+  int r = __internal_syscall_cancel (a1, a2, a3, a4, a5, a6,
+				     __SYSCALL_CANCEL7_ARG nr);
+  return __glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (r))
+	 ? SYSCALL_ERROR_LABEL (INTERNAL_SYSCALL_ERRNO (r))
+	 : r;
+}
 
+/* Called by __syscall_cancel_arch or function above start the thread
+   cancellation.  */
+_Noreturn void
+__syscall_do_cancel (void)
+{
   struct pthread *self = THREAD_SELF;
-  int newval;
+
+  /* Disable thread cancellation to avoid cancellable entrypoints calling
+     __syscall_do_cancel recursively.  We atomic load relaxed to check the
+     state of cancelhandling, there is no particular ordering requirement
+     between the syscall call and the other thread setting our cancelhandling
+     with a atomic store acquire.
+
+     POSIX Issue 7 notes that the cancellation occurs asynchronously on the
+     target thread, that implies there is no ordering requirements.  It does
+     not need a MO release store here.  */
   int oldval = atomic_load_relaxed (&self->cancelhandling);
-  do
+  while (1)
     {
-      newval = oldval & ~CANCELTYPE_BITMASK;
+      int newval = oldval | CANCELSTATE_BITMASK;
+      if (oldval == newval)
+	break;
+      if (atomic_compare_exchange_weak_acquire (&self->cancelhandling,
+						&oldval, newval))
+	break;
     }
-  while (!atomic_compare_exchange_weak_acquire (&self->cancelhandling,
-						&oldval, newval));
 
-  /* We cannot return when we are being canceled.  Upon return the
-     thread might be things which would have to be undone.  The
-     following loop should loop until the cancellation signal is
-     delivered.  */
-  while (__glibc_unlikely ((newval & (CANCELING_BITMASK | CANCELED_BITMASK))
-			   == CANCELING_BITMASK))
-    {
-      futex_wait_simple ((unsigned int *) &self->cancelhandling, newval,
-			 FUTEX_PRIVATE);
-      newval = atomic_load_relaxed (&self->cancelhandling);
-    }
+  __do_cancel (PTHREAD_CANCELED);
 }
-libc_hidden_def (__pthread_disable_asynccancel)
diff --git a/nptl/cleanup_defer.c b/nptl/cleanup_defer.c
index dc08eda003..db32c4fc26 100644
--- a/nptl/cleanup_defer.c
+++ b/nptl/cleanup_defer.c
@@ -82,10 +82,7 @@ ___pthread_unregister_cancel_restore (__pthread_unwind_buf_t *buf)
 						    &cancelhandling, newval));
 
       if (cancel_enabled_and_canceled (cancelhandling))
-	{
-	  self->result = PTHREAD_CANCELED;
-	  __do_cancel ();
-	}
+	__do_cancel (PTHREAD_CANCELED);
     }
 }
 versioned_symbol (libc, ___pthread_unregister_cancel_restore,
diff --git a/nptl/descr-const.sym b/nptl/descr-const.sym
new file mode 100644
index 0000000000..8608248354
--- /dev/null
+++ b/nptl/descr-const.sym
@@ -0,0 +1,6 @@
+#include <tls.h>
+
+-- Not strictly offsets, these values are using thread cancellation by arch
+-- specific cancel entrypoint.
+TCB_CANCELED_BIT	 CANCELED_BIT
+TCB_CANCELED_BITMASK	 CANCELED_BITMASK
diff --git a/nptl/descr.h b/nptl/descr.h
index 8cef95810c..65d3baaee3 100644
--- a/nptl/descr.h
+++ b/nptl/descr.h
@@ -426,6 +426,24 @@ struct pthread
 } __attribute ((aligned (TCB_ALIGNMENT)));
 
 static inline bool
+cancel_enabled (int value)
+{
+  return (value & CANCELSTATE_BITMASK) == 0;
+}
+
+static inline bool
+cancel_async_enabled (int value)
+{
+  return (value & CANCELTYPE_BITMASK) != 0;
+}
+
+static inline bool
+cancel_exiting (int value)
+{
+  return (value & EXITING_BITMASK) != 0;
+}
+
+static inline bool
 cancel_enabled_and_canceled (int value)
 {
   return (value & (CANCELSTATE_BITMASK | CANCELED_BITMASK | EXITING_BITMASK
diff --git a/nptl/libc-cleanup.c b/nptl/libc-cleanup.c
index fe042c85aa..20d746cbb7 100644
--- a/nptl/libc-cleanup.c
+++ b/nptl/libc-cleanup.c
@@ -69,10 +69,7 @@ __libc_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer)
 						    &cancelhandling, newval));
 
       if (cancel_enabled_and_canceled (cancelhandling))
-	{
-	  self->result = PTHREAD_CANCELED;
-	  __do_cancel ();
-	}
+	__do_cancel (PTHREAD_CANCELED);
     }
 }
 libc_hidden_def (__libc_cleanup_pop_restore)
diff --git a/nptl/pthread_cancel.c b/nptl/pthread_cancel.c
index 69701db6f9..012c4ebeb8 100644
--- a/nptl/pthread_cancel.c
+++ b/nptl/pthread_cancel.c
@@ -23,6 +23,7 @@
 #include <sysdep.h>
 #include <unistd.h>
 #include <unwind-link.h>
+#include <cancellation-pc-check.h>
 #include <stdio.h>
 #include <gnu/lib-names.h>
 #include <sys/single_threaded.h>
@@ -40,31 +41,16 @@ sigcancel_handler (int sig, siginfo_t *si, void *ctx)
       || si->si_code != SI_TKILL)
     return;
 
+  /* Check if asynchronous cancellation mode is set or if interrupted
+     instruction pointer falls within the cancellable syscall bridge.  For
+     interruptable syscalls with external side-effects (i.e. partial reads),
+     the kernel  will set the IP to after __syscall_cancel_arch_end, thus
+     disabling the cancellation and allowing the process to handle such
+     conditions.  */
   struct pthread *self = THREAD_SELF;
-
   int oldval = atomic_load_relaxed (&self->cancelhandling);
-  while (1)
-    {
-      /* We are canceled now.  When canceled by another thread this flag
-	 is already set but if the signal is directly send (internally or
-	 from another process) is has to be done here.  */
-      int newval = oldval | CANCELING_BITMASK | CANCELED_BITMASK;
-
-      if (oldval == newval || (oldval & EXITING_BITMASK) != 0)
-	/* Already canceled or exiting.  */
-	break;
-
-      if (atomic_compare_exchange_weak_acquire (&self->cancelhandling,
-						&oldval, newval))
-	{
-	  self->result = PTHREAD_CANCELED;
-
-	  /* Make sure asynchronous cancellation is still enabled.  */
-	  if ((oldval & CANCELTYPE_BITMASK) != 0)
-	    /* Run the registered destructors and terminate the thread.  */
-	    __do_cancel ();
-	}
-    }
+  if (cancel_async_enabled (oldval) || cancellation_pc_check (ctx))
+    __syscall_do_cancel ();
 }
 
 int
@@ -106,15 +92,13 @@ __pthread_cancel (pthread_t th)
   /* Some syscalls are never restarted after being interrupted by a signal
      handler, regardless of the use of SA_RESTART (they always fail with
      EINTR).  So pthread_cancel cannot send SIGCANCEL unless the cancellation
-     is enabled and set as asynchronous (in this case the cancellation will
-     be acted in the cancellation handler instead by the syscall wrapper).
-     Otherwise the target thread is set as 'cancelling' (CANCELING_BITMASK)
+     is enabled.
+     In this case the target thread is set as 'cancelled' (CANCELED_BITMASK)
      by atomically setting 'cancelhandling' and the cancelation will be acted
      upon on next cancellation entrypoing in the target thread.
 
-     It also requires to atomically check if cancellation is enabled and
-     asynchronous, so both cancellation state and type are tracked on
-     'cancelhandling'.  */
+     It also requires to atomically check if cancellation is enabled, so the
+     state are also tracked on 'cancelhandling'.  */
 
   int result = 0;
   int oldval = atomic_load_relaxed (&pd->cancelhandling);
@@ -122,19 +106,17 @@ __pthread_cancel (pthread_t th)
   do
     {
     again:
-      newval = oldval | CANCELING_BITMASK | CANCELED_BITMASK;
+      newval = oldval | CANCELED_BITMASK;
       if (oldval == newval)
 	break;
 
-      /* If the cancellation is handled asynchronously just send a
-	 signal.  We avoid this if possible since it's more
-	 expensive.  */
-      if (cancel_enabled_and_canceled_and_async (newval))
+      /* Only send the SIGANCEL signal if cancellation is enabled, since some
+	 syscalls are never restarted even with SA_RESTART.  The signal
+	 will act iff async cancellation is enabled.  */
+      if (cancel_enabled (newval))
 	{
-	  /* Mark the cancellation as "in progress".  */
-	  int newval2 = oldval | CANCELING_BITMASK;
 	  if (!atomic_compare_exchange_weak_acquire (&pd->cancelhandling,
-						     &oldval, newval2))
+						     &oldval, newval))
 	    goto again;
 
 	  if (pd == THREAD_SELF)
@@ -143,9 +125,8 @@ __pthread_cancel (pthread_t th)
 	       pthread_create, so the signal handler may not have been
 	       set up for a self-cancel.  */
 	    {
-	      pd->result = PTHREAD_CANCELED;
-	      if ((newval & CANCELTYPE_BITMASK) != 0)
-		__do_cancel ();
+	      if (cancel_async_enabled (newval))
+		__do_cancel (PTHREAD_CANCELED);
 	    }
 	  else
 	    /* The cancellation handler will take care of marking the
@@ -154,19 +135,18 @@ __pthread_cancel (pthread_t th)
 
 	  break;
 	}
-
-	/* A single-threaded process should be able to kill itself, since
-	   there is nothing in the POSIX specification that says that it
-	   cannot.  So we set multiple_threads to true so that cancellation
-	   points get executed.  */
-	THREAD_SETMEM (THREAD_SELF, header.multiple_threads, 1);
-#ifndef TLS_MULTIPLE_THREADS_IN_TCB
-	__libc_single_threaded_internal = 0;
-#endif
     }
   while (!atomic_compare_exchange_weak_acquire (&pd->cancelhandling, &oldval,
 						newval));
 
+  /* A single-threaded process should be able to kill itself, since there is
+     nothing in the POSIX specification that says that it cannot.  So we set
+     multiple_threads to true so that cancellation points get executed.  */
+  THREAD_SETMEM (THREAD_SELF, header.multiple_threads, 1);
+#ifndef TLS_MULTIPLE_THREADS_IN_TCB
+  __libc_single_threaded_internal = 0;
+#endif
+
   return result;
 }
 versioned_symbol (libc, __pthread_cancel, pthread_cancel, GLIBC_2_34);
diff --git a/nptl/pthread_exit.c b/nptl/pthread_exit.c
index dc2635f827..600ab036d9 100644
--- a/nptl/pthread_exit.c
+++ b/nptl/pthread_exit.c
@@ -31,9 +31,7 @@ __pthread_exit (void *value)
                     " must be installed for pthread_exit to work\n");
   }
 
-  THREAD_SETMEM (THREAD_SELF, result, value);
-
-  __do_cancel ();
+  __do_cancel (value);
 }
 libc_hidden_def (__pthread_exit)
 weak_alias (__pthread_exit, pthread_exit)
diff --git a/nptl/pthread_setcancelstate.c b/nptl/pthread_setcancelstate.c
index 18fb42a5c4..787c45a32b 100644
--- a/nptl/pthread_setcancelstate.c
+++ b/nptl/pthread_setcancelstate.c
@@ -48,7 +48,7 @@ __pthread_setcancelstate (int state, int *oldstate)
 						&oldval, newval))
 	{
 	  if (cancel_enabled_and_canceled_and_async (newval))
-	    __do_cancel ();
+	    __do_cancel (PTHREAD_CANCELED);
 
 	  break;
 	}
diff --git a/nptl/pthread_setcanceltype.c b/nptl/pthread_setcanceltype.c
index cf441cef91..3b5b0346ef 100644
--- a/nptl/pthread_setcanceltype.c
+++ b/nptl/pthread_setcanceltype.c
@@ -48,7 +48,7 @@ __pthread_setcanceltype (int type, int *oldtype)
 	  if (cancel_enabled_and_canceled_and_async (newval))
 	    {
 	      THREAD_SETMEM (self, result, PTHREAD_CANCELED);
-	      __do_cancel ();
+	      __do_cancel (PTHREAD_CANCELED);
 	    }
 
 	  break;
diff --git a/nptl/pthread_testcancel.c b/nptl/pthread_testcancel.c
index a0197b5312..be0e8d5a78 100644
--- a/nptl/pthread_testcancel.c
+++ b/nptl/pthread_testcancel.c
@@ -25,10 +25,7 @@ ___pthread_testcancel (void)
   struct pthread *self = THREAD_SELF;
   int cancelhandling = atomic_load_relaxed (&self->cancelhandling);
   if (cancel_enabled_and_canceled (cancelhandling))
-    {
-      self->result = PTHREAD_CANCELED;
-      __do_cancel ();
-    }
+    __do_cancel (PTHREAD_CANCELED);
 }
 versioned_symbol (libc, ___pthread_testcancel, pthread_testcancel, GLIBC_2_34);
 libc_hidden_ver (___pthread_testcancel, __pthread_testcancel)
diff --git a/nptl/tst-cancel31.c b/nptl/tst-cancel31.c
new file mode 100644
index 0000000000..f9cc8245e1
--- /dev/null
+++ b/nptl/tst-cancel31.c
@@ -0,0 +1,100 @@
+/* Verify side-effects of cancellable syscalls (BZ #12683).
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* This testcase checks if there is resource leakage if the syscall has
+   returned from kernelspace, but before userspace saves the return
+   value.  The 'leaker' thread should be able to close the file descriptor
+   if the resource is already allocated, meaning that if the cancellation
+   signal arrives *after* the open syscal return from kernel, the
+   side-effect should be visible to application.  */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+#include <support/xunistd.h>
+#include <support/xthread.h>
+#include <support/check.h>
+#include <support/temp_file.h>
+#include <support/support.h>
+#include <support/descriptors.h>
+
+static void *
+writeopener (void *arg)
+{
+  int fd;
+  for (;;)
+    {
+      fd = open (arg, O_WRONLY);
+      xclose (fd);
+    }
+  return NULL;
+}
+
+static void *
+leaker (void *arg)
+{
+  int fd = open (arg, O_RDONLY);
+  TEST_VERIFY_EXIT (fd > 0);
+  pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, 0);
+  xclose (fd);
+  return NULL;
+}
+
+static int
+do_test (void)
+{
+  enum {
+    iter_count = 1000
+  };
+
+  char *dir = support_create_temp_directory ("tst-cancel28");
+  char *name = xasprintf ("%s/fifo", dir);
+  TEST_COMPARE (mkfifo (name, 0600), 0);
+  add_temp_file (name);
+
+  struct support_descriptors *descrs = support_descriptors_list ();
+
+  srand (1);
+
+  xpthread_create (NULL, writeopener, name);
+  for (int i = 0; i < iter_count; i++)
+    {
+      pthread_t td = xpthread_create (NULL, leaker, name);
+      struct timespec ts =
+	{ .tv_nsec = rand () % 100000, .tv_sec = 0 };
+      nanosleep (&ts, NULL);
+      /* Ignore pthread_cancel result because it might be the
+	 case when pthread_cancel is called when thread is already
+	 exited.  */
+      pthread_cancel (td);
+      xpthread_join (td);
+    }
+
+  support_descriptors_check (descrs);
+
+  support_descriptors_free (descrs);
+
+  free (name);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/nptl/tst-cancel7.c b/nptl/tst-cancel7.c
index d2350bde20..3f874c2a3c 100644
--- a/nptl/tst-cancel7.c
+++ b/nptl/tst-cancel7.c
@@ -38,6 +38,8 @@ static char *semfilename;
 
 static sem_t *sem;
 
+static void do_cleanup (void);
+
 static void *
 tf (void *arg)
 {
@@ -57,9 +59,6 @@ sl (void)
   fprintf (f, "%lld\n", (long long) getpid ());
   fflush (f);
 
-  if (sem_post (sem) != 0)
-    FAIL_EXIT1 ("sem_post: %m");
-
   struct flock fl =
     {
       .l_type = F_WRLCK,
@@ -70,6 +69,9 @@ sl (void)
   if (fcntl (fileno (f), F_SETLK, &fl) != 0)
     FAIL_EXIT1 ("fcntl (F_SETFL): %m");
 
+  if (sem_post (sem) != 0)
+    FAIL_EXIT1 ("sem_post: %m");
+
   sigset_t ss;
   sigfillset (&ss);
   sigsuspend (&ss);
@@ -108,6 +110,8 @@ do_prepare (int argc, char *argv[])
 
   xwrite (fd, " ", 1);
   xclose (fd);
+
+  atexit (do_cleanup);
 }
 
 
@@ -116,7 +120,7 @@ do_test (void)
 {
   pthread_t th = xpthread_create (NULL, tf, NULL);
 
-  /* Wait to cancel until after the pid is written.  */
+  /* Wait to cancel until after the pid is written and file locked.  */
   if (sem_wait (sem) != 0)
     FAIL_EXIT1 ("sem_wait: %m");
 
diff --git a/nptl/tst-sem11.c b/nptl/tst-sem11.c
index 1a2dbafd89..a82bb737d5 100644
--- a/nptl/tst-sem11.c
+++ b/nptl/tst-sem11.c
@@ -1,3 +1,21 @@
+/* Test of semaphores.
+   Copyright (C) 2007-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
 #include <semaphore.h>
 #include <stdio.h>
 #include <unistd.h>
@@ -11,15 +29,15 @@
 static void *
 tf (void *arg)
 {
-#ifdef PREPARE
-  PREPARE
+#ifdef TF_PREPARE
+  TF_PREPARE
 #endif
   SEM_WAIT (arg);
   return NULL;
 }
 
 int
-main (void)
+do_test (void)
 {
   int tries = 5;
   pthread_t th;
@@ -83,3 +101,5 @@ main (void)
 
   return 0;
 }
+
+#include <support/test-driver.c>
diff --git a/nptl/tst-sem12.c b/nptl/tst-sem12.c
index 71d02b70e9..d4e22d9a8e 100644
--- a/nptl/tst-sem12.c
+++ b/nptl/tst-sem12.c
@@ -1,8 +1,26 @@
+/* Test of semaphores.
+   Copyright (C) 2007-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
 #include <time.h>
 #include <sys/time.h>
 
 
-#define PREPARE \
+#define TF_PREPARE \
   struct timespec ts; \
   struct timeval tv; \
   gettimeofday (&tv, NULL); \
diff --git a/nss/tst-nss-gai-actions.c b/nss/tst-nss-gai-actions.c
index efca6cd183..e42bbd6cae 100644
--- a/nss/tst-nss-gai-actions.c
+++ b/nss/tst-nss-gai-actions.c
@@ -92,6 +92,7 @@ do_one_test (int action, int family, bool canon)
 	  printf ("merge unexpectedly succeeded:\n %s\n", formatted);
 	  support_record_failure ();
 	  free (formatted);
+	  break;
 	}
       else
 	return;
diff --git a/po/be.po b/po/be.po
index de261adbfa..a8587e7250 100644
--- a/po/be.po
+++ b/po/be.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.38.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-02-05 20:42+0300\n"
 "Last-Translator: Viktar SiarhiejÄyk <vics@eq.by>\n"
 "Language-Team: Belarusian <debian-l10n-belarusian@lists.debian.org>\n"
@@ -147,7 +147,7 @@ msgstr ""
 "-o ВЫХОДÐЫ-ФÐЙЛ [УВÐХОДÐЫ-ФÐЙЛ]...\n"
 "[ВЫХОДÐЫ-ФÐЙЛ [УВÐХОДÐЫ-ФÐЙЛ]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -162,7 +162,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -178,7 +178,7 @@ msgstr ""
 " ÐІЯКІХ нÑма; у тым ліку працаздольнаÑці ці прыдатнаÑці Ð´Ð»Ñ Ð¿Ñўнай мÑÑ‚Ñ‹.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -393,7 +393,7 @@ msgstr "Файл кÑша мае нÑправільны парадак байтÐ
 msgid "Cache generated by: "
 msgstr "КÑш Ñтвораны: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Ðемагчыма адкрыць файл кÑшу %s\n"
@@ -704,7 +704,7 @@ msgstr "не ўдалоÑÑ ÑžÐ¶Ñ‹Ñ†ÑŒ дадатковую ахову памÑÑ
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT выкарыÑтаны Ñž кодзе, Ñкі не загружаны дынамічна"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "немагчыма Ñтварыць Ñтруктуры даных TLS"
 
@@ -720,216 +720,216 @@ msgstr "не ўдалоÑÑ Ð²Ñ‹Ð´Ð·ÐµÐ»Ñ–Ñ†ÑŒ памÑць Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ñ–Ñ†Ñ
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR без залежнаÑці GLIBC_ABI_DT_RELR"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Ðадрукаваць кÑш"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Стварае шматÑÐ»Ð¾ÑžÐ½Ñ‹Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½ÑŒÐ½Ñ–"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Ðе будаваць кÑш"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Ðе абнаўлÑць ÑÑ–Ð¼Ð²Ð°Ð»Ñ–Ñ‡Ð½Ñ‹Ñ ÑпаÑылкі"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "ПерайÑці Ñž КОРÐÐЬ Ñ– ўжыць Ñго Ñк каранёвы каталог"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "КОРÐÐЬ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "КЭШ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Ужываць КЭШ у ÑкаÑці кÑш-файла"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "КÐÐФ"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Ужыць КÐÐФ у ÑкаÑці канфігурацыйнага файла"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Ðпрацаваць толькі каталогі Ñž камандным радку. Ðе Ñтвараць кÑш."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Злучыць аÑÐ¾Ð±Ð½Ñ‹Ñ Ð±Ñ–Ð±Ð»Ñ–ÑÑ‚Ñкі ўручную з"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "ФÐРМÐТ"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Фармат Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаннÑ: новы (па змаўчанні), Ñтары або ÑумÑшчальны"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ігнараваць дапаможны кÑш-файл"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Cканфігураваць ÑувÑзі Ð¿Ð°Ð´Ñ‡Ð°Ñ Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð´Ñ‹Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð°Ð³Ð° лінкера"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "ШлÑÑ… `%s' пададзены некалькі разоў"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(з %s:%d і %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Ðе ўдалоÑÑ Ñфармаваць шлÑÑ… glibc-hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "ПраглÑд каталога %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Ðемагчыма зрабіць stat %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Ðемагчыма зрабіць stat %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s - гÑта не ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÑпаÑылка\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Ðемагчыма зрабіць unlink %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Ðемагчыма зрабіць ÑпаÑылку %s на %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (зьменена)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (ПРÐПУШЧÐÐÐ)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Ðемагчыма знайÑці %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Ðемагчыма зрабіць lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Файл %s праігнараваны, бо ён не Ñ‘Ñць звычайным файлам."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "СпаÑылка не ÑтворанаÑ, бо не знойдзены soname Ð´Ð»Ñ %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (з %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Ðемагчыма адкрыць каталог %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Ðе атрымалаÑÑ Ñфармаваць шлÑÑ… да бібліÑÑ‚Ñкі"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Файл уводу %s не адшуканы.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Ðемагчыма зрабіць stat %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6-бібліÑÑ‚Ñка %s у неадпаведным каталогу"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "бібліÑÑ‚Ñкі %s Ñ– %s у каталогу %s маюць аднолькавы soname, але Ð°Ð´Ñ€Ð¾Ð·Ð½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "ПапÑÑ€Ñджаньне: ігнаруецца канфігурацыйны файл, Ñкі немагчыма адкрыць: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: дырÑктыва hwcap ігнаруецца"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "пры ўжыванні -r патрÑбна абÑÐ°Ð»ÑŽÑ‚Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð° канфігурацыйнага файла"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "памÑць вычарпана"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: немагчыма прачытаць каталог %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "пры ÑтварÑнні кÑшу ўжыты адноÑны шлÑÑ… `%s'"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Ðемагчыма перайÑці Ñž каталог /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Ðемагчыма адкрыць каталог кÑш-файла %s\n"
@@ -1123,27 +1123,27 @@ msgstr "%s не Ñ‘Ñць абагуленым аб'ектным файлам (Т
 msgid "more than one dynamic segment\n"
 msgstr "больш за адзін дынамічны Ñегмент\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Ðемагчыма зрабіць fstat файла %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Файл %s пуÑÑ‚Ñ‹, не правераны."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Файл %s замалы, не правераны."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Ðемагчыма зрабіць mmap файла %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s - гÑта не ELF файл - ён мае памылковы \"чароўны байт\" на пачатку файлу.\n"
diff --git a/po/bg.po b/po/bg.po
index 875ea57eb6..81b4bfad3f 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -10,9 +10,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libc 2.38.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
-"PO-Revision-Date: 2024-01-04 09:04+0300\n"
+"Project-Id-Version: libc 2.39.9000\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
+"PO-Revision-Date: 2024-07-01 08:04+0300\n"
 "Last-Translator: Roumen Petrov <transl@roumenpetrov.info>\n"
 "Language-Team: Bulgarian <dict@ludost.net>\n"
 "Language: bg\n"
@@ -153,7 +153,7 @@ msgstr ""
 "-o ИЗХОДЕÐ-ФÐЙЛ [ВХОДЕÐ_ФÐЙЛ]...\n"
 "[ИЗХОДЕÐ-ФÐЙЛ [ВХОДЕÐ_ФÐЙЛ]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -168,7 +168,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -184,7 +184,7 @@ msgstr ""
 "ГÐРÐÐЦИИ, включително без предполагаемите гаранции за полезноÑÑ‚ и пригодноÑÑ‚.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -400,7 +400,7 @@ msgstr "Файла за Ñкладиране е грешен порÑдък на
 msgid "Cache generated by: "
 msgstr "Складът е Ñъздаден от: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Ðе може да Ñе отвори файлът за Ñкладиране %s\n"
@@ -711,7 +711,7 @@ msgstr "Ñлед премеÑтването не може да Ñе поÑтав
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT е използван в код, който не е за динамично Ñвързване"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "не може да Ñе Ñъздадат Ñтруктури за TLS данни"
 
@@ -727,216 +727,216 @@ msgstr "не може да Ñе Ñъздаде таблица Ñ Ð¿Ñ€ÐµÐ¿Ñ€Ð°Ñ‚Ð
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR без GLIBC_ABI_DT_RELR завиÑимоÑÑ‚"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Разпечатване на Ñклад"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Извеждане на допълнителни ÑъобщениÑ"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Да не Ñе Ñъздава Ñклад"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Да не Ñе обновÑват Ñимволни връзки"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "ПремеÑтване в и използване на ГЛÐВЕРкато \"коренова\" директориÑ"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ГЛÐВЕÐ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "КЕШ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Използване на КЕШ като файл за Ñкладиране"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "ÐÐСТ"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Използване на ÐÐСТ за наÑтройващ файл"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Да Ñе обработÑÑ‚ Ñамо директориите зададени от ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´. Да не Ñе Ñъздава Ñклад."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Ръчно ще Ñе Ñъздадат връзки за отделните библиотеки."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "ФОРМÐТ"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Използване на формат: new(по подразбиране), old или compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Игнориране на помощниÑÑ‚ файл за Ñкладиране"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "ÐаÑтройване на Ñвръзките при изпълнение на програмата за динамично Ñвързване."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "ПътÑÑ‚ \"%s\" е зададен повече от един веднъж"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(от %s:%d и %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Ðе може да Ñе Ñъздаде път за hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "ИзброÑване на Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ '%s'"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Ðе може да Ñе определÑÑ‚ атрибутите на %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Ðе може да Ñе определÑÑ‚ атрибутите на %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s не е Ñимволна връзка\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Ðе може да Ñе развърже(изтрие) %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Ðе може да Ñе Ñъздаде Ñимволна връзка от %s към %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (променен)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (ПРЕСКОЧЕÐ)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "%s не е открит"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Ðе може да Ñе определÑÑ‚ атрибутите(lstat) на %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Пренебрегване на файл %s, защото не е обикновен."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Ðе е Ñъздадена връзка, защото не е намерен soname за %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (от %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Ðе може да Ñе отвори Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Ðе може да Ñе образува път към библиотека"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Ð’Ñ…Ð¾Ð´Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» %s не е намерен.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Ðе може да Ñе определÑÑ‚ атрибутите на %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 библиотека %s в неправилна директориÑ"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "библиотеките %s и %s от Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ %s Ñа Ñ ÐµÐ´Ð½Ð°ÐºÐ²Ð¾ SONAME, но Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡ÐµÐ½ тип."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Предупреждение: пренебрегване на файл Ñ Ð½Ð°Ñтройки, който не може да Ñе отвори: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: пренебрегнато hwcap напътÑтвие"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "изиÑква Ñе абÑолютно име на наÑтройващ файл когато Ñе използва -r"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "паметта е изчерпана"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: не може да Ñе чете директориÑта %s "
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "използван е отноÑителен път %s за Ñъздаване на Ñклад"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Ðе може да Ñе Ñмени директориÑта на /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Ðе може да Ñе отвори директориÑта '%s' Ñ Ñ„Ð°Ð¹Ð» за Ñкладиране\n"
@@ -1134,27 +1134,27 @@ msgstr "%s не е файл за Ñподелен обект (Тип: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "повече от един дÑл за динамично Ñвързване\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Ðе може да Ñе определÑÑ‚ атрибутите(fstat) на файлът %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Файлът %s е празен и не е проверен."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Файлът %s е много ÐºÑŠÑ Ð¸ не е проверен."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Файлът %s не може да Ñе изобрази в паметта(mmap).\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s не е ELF файл - започва Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»Ð½Ð¸ магичеÑки байтове.\n"
@@ -4689,7 +4689,7 @@ msgstr ""
 #: nss/makedb.c:229
 #, c-format
 msgid "cannot open database file `%s'"
-msgstr "не може да Ñе отвори файлът на базата данни: \"%s\""
+msgstr "не може да Ñе отвори файлът на базата данни: '%s'"
 
 #: nss/makedb.c:274
 #, c-format
@@ -6545,6 +6545,26 @@ msgstr "не може да Ñе забрани разрешенната подр
 msgid "can't disable SHSTK"
 msgstr "не може да Ñе забрани разрешенната подръжка на SHSTK"
 
+#: timezone/zdump.c:131
+#, c-format
+msgid "%s: size overflow\n"
+msgstr "%s: препълване на ÑтойноÑтта за размер\n"
+
+#: timezone/zdump.c:170
+#, c-format
+msgid "%s: Memory exhausted\n"
+msgstr "%s: Изчерпана памет\n"
+
+#: timezone/zdump.c:257
+#, c-format
+msgid "%s: setenv: %s\n"
+msgstr "%s: уÑтановÑване на обкръжение: %s\n"
+
+#: timezone/zdump.c:337 timezone/zdump.c:604
+#, c-format
+msgid "%s: unknown timezone '%s': %s\n"
+msgstr "%s: неизвеÑтно времева зона '%s': %s\n"
+
 #: timezone/zdump.c:402
 msgid "has characters other than ASCII alphanumerics, '-' or '+'"
 msgstr "е Ñ Ð±ÑƒÐºÐ²Ð¸ извън ASCII букви или цифри, '-' или '+'"
@@ -6599,6 +6619,16 @@ msgstr "%s: безумен -c аргумент %s\n"
 msgid "%s: wild -t argument %s\n"
 msgstr "%s: безумен -t аргумент %s\n"
 
+#: timezone/zdump.c:857
+#, c-format
+msgid " (gmtime failed)"
+msgstr " (пропадна gmtime)"
+
+#: timezone/zdump.c:867
+#, c-format
+msgid " (localtime failed)"
+msgstr " (пропадна localtime)"
+
 #: timezone/zic.c:463
 #, c-format
 msgid "%s: Memory exhausted: %s\n"
@@ -6635,11 +6665,50 @@ msgstr " (правило от \"%s\", ред %<PRIdMAX>)"
 msgid "warning: "
 msgstr "предупреждение: "
 
+#: timezone/zic.c:669
+#, c-format
+msgid ""
+"%s: usage is %s [ --version ] [ --help ] [ -v ] \\\n"
+"\t[ -b {slim|fat} ] [ -d directory ] [ -l localtime ] [ -L leapseconds ] \\\n"
+"\t[ -p posixrules ] [ -r '[@lo][/@hi]' ] [ -R '@hi' ] \\\n"
+"\t[ -t localtime-link ] \\\n"
+"\t[ filename ... ]\n"
+"\n"
+"Report bugs to %s.\n"
+msgstr ""
+"%s: употребата е %s [ --version ] [ --help ] [ -v ] \\\n"
+"\t[ -b {slim|fat} ] [ -d Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ ] [ -l меÑтновреме ] [ -L виÑокоÑниÑекунди ]\\\n"
+"\t[ -p posix_правило ] [ -r '[@lo][/@hi]' ] [ -R '@hi' ] \\\n"
+"\t[ -t връзка–към–меÑтновреме ] \\\n"
+"\t[ именафайл ... ]\n"
+"\n"
+"Докладване на грешки към %s.\n"
+
 #: timezone/zic.c:695
 #, c-format
 msgid "%s: Can't chdir to %s: %s\n"
 msgstr "%s: Ðе може да Ñе Ñмени директориÑта на %s: %s\n"
 
+#: timezone/zic.c:786
+#, c-format
+msgid "\"Link %s %s\" is part of a link cycle"
+msgstr "\"Връзката %s %s\" е чаÑÑ‚ от цикъл Ñ Ð²Ñ€ÑŠÐ·ÐºÐ¸"
+
+#: timezone/zic.c:797
+#, c-format
+msgid "link %s targets itself"
+msgstr "връзката %s е към Ñебе Ñи"
+
+#: timezone/zic.c:817
+#, c-format
+msgid "link %s targeting link %s mishandled by pre-2023 zic"
+msgstr "zic, преди 2023, не Ñе ÑÐ¿Ñ€Ð°Ð²Ñ Ð´Ð¾Ð±Ñ€Ðµ при връзка %s целÑща връзка %s"
+
+#: timezone/zic.c:821
+#, c-format
+msgid "link %s targeting link %s"
+msgstr "връка %s към връзка %s"
+
 #: timezone/zic.c:992
 msgid "wild compilation-time specification of zic_t"
 msgstr "при компилирането е зададен безумен тип за zic_t"
@@ -6673,6 +6742,10 @@ msgstr "%s: Зададена е повече от една Ð¾Ð¿Ñ†Ð¸Ñ -p\n"
 msgid "%s: More than one -t option specified\n"
 msgstr "%s: Зададена е повече от една Ð¾Ð¿Ñ†Ð¸Ñ -t\n"
 
+#: timezone/zic.c:1064
+msgid "-y ignored"
+msgstr "-y пренебрегнат"
+
 #: timezone/zic.c:1071
 #, c-format
 msgid "%s: More than one -L option specified\n"
@@ -6688,10 +6761,20 @@ msgstr "%s: Зададена е повече от една Ð¾Ð¿Ñ†Ð¸Ñ -r\n"
 msgid "%s: invalid time range: %s\n"
 msgstr "%s: неправилен времеви диапазон: %s\n"
 
+#: timezone/zic.c:1098
+#, c-format
+msgid "%s: invalid time: %s\n"
+msgstr "%s: неправилно време: %s\n"
+
 #: timezone/zic.c:1104
 msgid "-s ignored"
 msgstr "-s пренебрегнат"
 
+#: timezone/zic.c:1110
+#, c-format
+msgid "%s: -R time exceeds -r cutoff\n"
+msgstr "%s: -R 'време' превишава -r 'отрÑзък'\n"
+
 #: timezone/zic.c:1171
 msgid "empty file name"
 msgstr "празно име на файл"
@@ -6731,11 +6814,21 @@ msgstr "името на файла '%s' Ñъдържа байт '\\%o'"
 msgid "%s: Can't create %s/%s: %s\n"
 msgstr "%s: Ðе може да Ñе Ñъздаде %s/%s: %s\n"
 
+#: timezone/zic.c:1388
+#, c-format
+msgid "%s: rename to %s/%s: %s\n"
+msgstr "%s: преименуване на %s/%s: %s\n"
+
 #: timezone/zic.c:1463
 #, c-format
 msgid "%s: Can't remove %s/%s: %s\n"
 msgstr "%s: Ðе може да Ñе изтрие %s/%s: %s\n"
 
+#: timezone/zic.c:1507
+#, c-format
+msgid "%s: Can't link %s/%s to %s/%s: %s\n"
+msgstr "%s: Ðе може да Ñе Ñвърже %s/%s към %s/%s: %s\n"
+
 #: timezone/zic.c:1536
 #, c-format
 msgid "symbolic link used because hard link failed: %s"
@@ -6765,6 +6858,18 @@ msgstr "едно и Ñъщо име на правило в много файло
 msgid "%s in ruleless zone"
 msgstr "%s в зона без правила"
 
+#: timezone/zic.c:1674
+msgid "input error"
+msgstr "входна грешка"
+
+#: timezone/zic.c:1679
+msgid "unterminated line"
+msgstr "незавършен ред"
+
+#: timezone/zic.c:1683
+msgid "NUL input byte"
+msgstr "NUL входÑщ байт"
+
 #: timezone/zic.c:1688
 msgid "line too long"
 msgstr "Твърде дълъг ред"
@@ -6899,6 +7004,15 @@ msgstr "многократни редове Expires"
 msgid "wrong number of fields on Link line"
 msgstr "неправилен брой полета на ред за Link"
 
+#: timezone/zic.c:2129
+msgid "blank TARGET field on Link line"
+msgstr "празно поле TARGET на ред за Link"
+
+#: timezone/zic.c:2192
+#, c-format
+msgid "FROM year \"%s\" is obsolete; treated as %d"
+msgstr "'от година' \"%s\" е отживелица, замеÑтено Ñ %d"
+
 #: timezone/zic.c:2199
 msgid "invalid starting year"
 msgstr "неправилна начална година"
@@ -6911,6 +7025,11 @@ msgstr "неправилна крайна година"
 msgid "starting year greater than ending year"
 msgstr "началната година е по-голÑма от крайната"
 
+#: timezone/zic.c:2222
+#, c-format
+msgid "year type \"%s\" is unsupported; use \"-\" instead"
+msgstr "тип на годината \"%s\" не Ñе поддържа, да Ñе използва \"-\""
+
 #: timezone/zic.c:2257
 msgid "invalid weekday name"
 msgstr "неправилно име на ден от Ñедмицата"
@@ -6924,6 +7043,16 @@ msgstr "нÑкой клиенти, Ñе ÑправÑÑ‚ зле при повечÐ
 msgid "pre-2014 clients may mishandle more than 1200 transition times"
 msgstr "клиенти преди 2014, може да не Ñе ÑправÑÑ‚ правилно при повече от 1200 прехода"
 
+#: timezone/zic.c:2480
+#, c-format
+msgid "%s: pre-2021b clients may mishandle leap second expiry"
+msgstr "%s: клиенти преди 2021b , може да не Ñе ÑправÑÑ‚ Ñ Ð¸Ð·Ñ‚Ð¸Ñ‡Ð°Ð½ÐµÑ‚Ð¾ на дългата Ñекунда"
+
+#: timezone/zic.c:2488
+#, c-format
+msgid "%s: pre-2021b clients may mishandle leap second table truncation"
+msgstr "%s: клиенти преди 2021b , може да не Ñе ÑправÑÑ‚ ÑÑŠÑ Ñъкращаването на таблицата Ñ Ð´ÑŠÐ»Ð³Ð¸ Ñекунди"
+
 #: timezone/zic.c:2537
 msgid "too many transition times"
 msgstr "твърде много типове за преход"
@@ -6933,6 +7062,10 @@ msgstr "твърде много типове за преход"
 msgid "%%z UT offset magnitude exceeds 99:59:59"
 msgstr "%%z ОтмеÑтването ÑпрÑмо универÑалноте време превишава 99:59:59"
 
+#: timezone/zic.c:3180
+msgid "no POSIX.1-2017 environment variable for zone"
+msgstr "в обкръжението, липÑва POSIX.1-2017 променлива за зона"
+
 #: timezone/zic.c:3187
 #, c-format
 msgid "%s: pre-%d clients may mishandle distant timestamps"
@@ -6958,6 +7091,10 @@ msgstr "твърде много типове за меÑтно време"
 msgid "too many leap seconds"
 msgstr "твърде много виÑокоÑни Ñекунди"
 
+#: timezone/zic.c:3535
+msgid "Rolling leap seconds not supported with -r"
+msgstr "Претълкалване на дълга Ñекунда не Ñе поддръжа Ñ -r"
+
 #: timezone/zic.c:3562
 msgid "Leap seconds too close together"
 msgstr "твърде близки виÑокоÑни Ñекунди"
@@ -6980,6 +7117,10 @@ msgstr "\"%s\" е двуÑмиÑлен за zic от преди 2017c"
 msgid "Odd number of quotation marks"
 msgstr "Ðеочакван брой кавички"
 
+#: timezone/zic.c:3750
+msgid "Too many input fields"
+msgstr "Твърде много входÑщи полета"
+
 #: timezone/zic.c:3839
 msgid "use of 2/29 in non leap-year"
 msgstr "използване на 29.2 за невиÑокоÑна година"
diff --git a/po/ca.po b/po/ca.po
index db2b17e424..06555c2499 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -48,7 +48,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.37.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2023-08-21 18:12+0200\n"
 "Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -196,7 +196,7 @@ msgstr ""
 "[FITXER_EIXIDA [FITXER_ENTRADA]…]"
 
 # L’adreça es veu millor així.  ivb
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -211,7 +211,7 @@ msgstr ""
 "<%s>.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -228,7 +228,7 @@ msgstr ""
 "ADEQUACIÓ PER A UN PROPÒSIT PARTICULAR.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -451,7 +451,7 @@ msgstr "l’ordenació d’octets de la memòria cau no és correcta\n"
 msgid "Cache generated by: "
 msgstr "Memòria cau generada per: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "no s’ha pogut obrir el fitxer «%s» de memòria cau\n"
@@ -775,7 +775,7 @@ msgstr "no s’ha pogut protegir la memòria després de reubicar"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "s’ha emprat RTLD_NEXT en un codi no carregat dinàmicament"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "no s’han pogut crear les estructures de dades TLS"
 
@@ -792,227 +792,227 @@ msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "s’ha trobat una entrada DT_RELR sense dependència GLIBC_ABI_DT_RELR"
 
 # Més ajudes.  ivb
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Mostra la memòria cau."
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Genera missatges detallats."
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "No construeix la memòria cau."
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "No actualitza els enllaços simbòlics."
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Canvia a i empra ARREL com a directori arrel."
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ARREL"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Empra CACHE com a fitxer de memòria cau."
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Empra CONF com a fitxer de configuració."
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Només processa els directoris especificats a la línia d’ordres.  No construeix la memòria cau."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Per a enllaçar les biblioteques manualment."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "FORMAT a emprar: «new» (nou, per defecte), «old» (antic) o «compat» (compatible)."
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "No té en compte el fitxer de memòria cau auxiliar."
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Configura els vincles en temps d’execució de l’enllaçador dinàmic."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "s’ha indicat el camí «%s» més d’una volta"
 
 # Continua l’error anterior; NOM_DE_FITXER:LÃNIA.  ivb
 # No usa quote().  ivb
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(a «%s»:%d i a «%s»:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "no s’ha pogut construir el camí «glibc-hwcaps»"
 
 # Missatge d’error.  ivb
 # No usa quote().  ivb
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "en llistar el directori «%s»"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "ha fallat stat() sobre «%s»"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "ha fallat stat() sobre «%s»\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "«%s» no és un enllaç simbòlic\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "no s’ha pogut desenllaçar «%s»"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "no s’ha pogut crear un enllaç des de «%s» cap a «%s»"
 
 # ivb (2001/10/28)
 # ivb  Es refereix a un enllaç -> masculí.
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (canviat)\n"
 
 # ivb (2001/10/28)
 # ivb  Es refereix a fer o no l'enllaç, no importa el gènere.
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (SALTAT)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "no s’ha pogut trobar «%s»"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "ha fallat lstat() sobre «%s»"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "es descarta el fitxer «%s» que no és un fitxer ordinari"
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "no s’ha creat l’enllaç perquè no s’ha trobat el nom d’objecte compartit de «%s»"
 
 # Continua un missatge de diagnòstic anterior; NOM_DE_FITXER:LÃNIA.  ivb
 # No usa quote().  ivb
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (a «%s»:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "no s’ha pogut obrir el directori «%s»"
 
 # Es refereix a la cadena de caràcters.  ivb
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "no s’ha pogut formar el camí de biblioteques"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "no s’ha trobat el fitxer d’entrada «%s»\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "ha fallat stat() sobre «%s»"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "la biblioteca «%s» per a libc6 es troba en un directori incorrecte"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "les biblioteques «%s» i «%s» del directori «%s» tenen el mateix nom d’objecte compartit però diferent tipus."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "avís: es descarta el fitxer de configuració que no s’ha pogut obrir: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: es descarta la directiva «hwcap»"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "cal indicar el camí absolut del fitxer de configuració en emprar «-r»"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "la memòria s’ha exhaurit"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: no s’ha pogut llegir el directori «%s»"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "s’ha indicat el camí relatiu «%s» per a construir la memòria cau"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "no s’ha pogut canviar al directori arrel"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "no s’ha pogut obrir el directori «%s» de fitxers de memòria cau\n"
@@ -1224,27 +1224,27 @@ msgstr "«%s» no és un fitxer d’objecte compartit (tipus: %d)\n"
 msgid "more than one dynamic segment\n"
 msgstr "hi ha més d’un segment dinàmic\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "ha fallat fstat() sobre el fitxer «%s»\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "el fitxer «%s» és buit, no es comprova"
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "el fitxer «%s» és massa menut, no es comprova"
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "ha fallat mmap() sobre el fitxer «%s»\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "«%s» no és un fitxer ELF: els octets màgics del començament no són correctes\n"
diff --git a/po/cs.po b/po/cs.po
index 6cdaa8017b..0505728f96 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -26,7 +26,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-23 12:41+02:00\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -171,7 +171,7 @@ msgstr ""
 "-o VÃSTUPNÃ_SOUBOR [VSTUPNÃ_SOUBOR]…\n"
 "[ VÃSTUPNÃ_SOUBOR [VSTUPNÃ_SOUBOR]…]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -186,7 +186,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -203,7 +203,7 @@ msgstr ""
 "a to i bez záruky PRODEJNOSTI nebo VHODNOSTI PRO NĚJAKà KONKRÉTNà ÚČEL.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -420,7 +420,7 @@ msgstr "Soubor s keší má nesprávnou endianitu.\n"
 msgid "Cache generated by: "
 msgstr "Keš vytvořil: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Soubor s keší %s nelze otevřít\n"
@@ -731,7 +731,7 @@ msgstr "po pÅ™emístÄ›ní nelze nelze uplatnit dodateÄnou ochranu pamÄ›ti"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT je použito pro kód, který není dynamicky zaveden"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "datové struktury TLS nelze vytvořit"
 
@@ -747,216 +747,216 @@ msgstr "tabulku odkazů na verze nelze alokovat"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR bez závislosti GLIBC_ABI_DT_RELR"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Vypsat keš"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Vypisuje podrobné zprávy"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Nevybuduje keš"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Neaktualizuje symbolické odkazy"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Přepne se do a použije KOŘEN jako kořenový adresář"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "KOŘEN"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "KEÅ "
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Použije KEŠ jako soubor s keší"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "KONFIG"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Použije KONFIG jako konfiguraÄní soubor"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Zpracuje jen adresáře uvedené na příkazovém řádku. Nevybuduje keš."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "RuÄnÄ› odkazuje jednotlivé knihovny."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMÃT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Který formát použije: new [nový] (výchozí), old [starý] nebo compat [kompatibilní]"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignoruje pomocné soubory s keší"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Nastaví vazby dynamického linkeru pro dobu běhu"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Cesta „%s“ zadána více krát"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(z %s:%d a %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Cestu ke glibc-hwcaps nebylo možné sestavit"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Výpis adresáře %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Nelze získat informace o %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Nelze získat informace o %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s není symbolický odkaz\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Nelze smazat odkaz na %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Odkaz na %2$s z %1$s nelze vytvořit"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (změněno)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (PŘESKOČENO)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "%s nezle nalézt"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Informace o symbolickém odkazu %s nelze získat"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Soubor %s ignorován, neb se nejedná o obyÄejný soubor."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Protože nebyl nalezen název sdílené knihovny (soname) %s, žádný odkaz nebyl vytvořeni."
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (z %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Adresář %s nelze otevřít"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Cestu ke knihovně nebylo možné vytvořit"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Vstupní soubor %s nebyl nalezen.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Informace o %s nelze získat"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 knihovna %s je ve špatném adresáři"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "knihovny %s a %s z adresáře %s mají stejný název (soname), ale rozdílný typ."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Pozor: soubor, který nelze otevřít, bude ignorován: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: direktiva hwcap ignorována"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "PÅ™i použití -r je tÅ™eba zadat absolutní jméno konfiguraÄního souboru"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "paměť vyÄerpána"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: adresář %s nelze naÄíst"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "pro vybudování keše byla použita relativní cesta „%s“"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Nelze se přepnout do adresáře /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Adresář %s se soubory keší nelze otevřít\n"
@@ -1155,27 +1155,27 @@ msgstr "%s není sdíleným objektovým souborem (typ: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "více jak jeden dynamický segment\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "O souboru %s nelze získat informace službou fstat().\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Soubor %s je prázdný, nezkontrolováno."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Soubor %s je příliš malý, nezkontrolováno."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Soubor %s nelze namapovat.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s není soubor typu ELF – na svém zaÄátku má chybné magické bajty.\n"
diff --git a/po/da.po b/po/da.po
index 169d5b3e99..d5913d2d79 100644
--- a/po/da.po
+++ b/po/da.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc-2.11.1\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2010-11-01 10:37+0100\n"
 "Last-Translator: Keld Simonsen <keld@keldix.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -127,7 +127,7 @@ msgstr ""
 "[UDFIL [INDFIL]...]"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -144,7 +144,7 @@ msgstr ""
 "TIL NOGEN SPECIEL OPGAVE.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -327,7 +327,7 @@ msgstr "ugyldig tilstand"
 msgid "invalid mode parameter"
 msgstr "ugyldig tilstandsparameter"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Kan ikke åbne hurtigbufferfil %s\n"
@@ -596,7 +596,7 @@ msgstr "kan ikke udføre yderligere hukommelsesbeskyttelser efter flytning"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT brugt i kode er ikke dynamisk indlæst"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "kan ikke oprette datastrukturer for TLS"
 
@@ -604,173 +604,173 @@ msgstr "kan ikke oprette datastrukturer for TLS"
 msgid "cannot allocate version reference table"
 msgstr "kan ikke allokere versionsreferencetabel"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Udskriftsbuffer"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Skriv udførlige meddelelser"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Byg ikke hurtigbuffer"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Skift til og brug ROOT som rod-katalog"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROOT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Brug CACHE som bufferfil"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Brug CONF som konfigurationsfil"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Kun proces-kataloger angivet på kommandolinjen. Undlad at bygge buffer."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Lænk manuelt individuelle biblioteker"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignorér ekstern bufferfil"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Konfigurér kørselsværdier til Dynamisk Lænker"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Stien '%s' givet mere end én gang"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Kan ikke stat() %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Kan ikke stat() %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s er ikke en symbolsk lænke\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Kan ikke aflænke %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Kan ikke lænke %s til %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (ændret)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (UDELADT)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Kan ikke finde %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Kan ikke lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Ignorerede filen %s da den ikke er en almindelig fil."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Ingen lænke oprettet da .so-navn ikke kunne findes for %s"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Kan ikke åbne katalog %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Inddatafilen %s ikke fundet\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Kan ikke stat() %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6-bibliotek %s i forkert katalog"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "bibliotekerne %s og %s i kataloget %s har samme .so-navn, men forskellig type"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "behøver fuldt filnavn for konfigurationsfil når -r bruges"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "hukommelsen opbrugt"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: kan ikke læse katalog %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "relativ søgesti \"%s\" brugt til at bygge hurtigbuffer"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Kan ikke chdir til /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Kan ikke åbne hurtigbuffer-katalog %s\n"
@@ -870,27 +870,27 @@ msgstr "%s er ikke en delt objektfil (Type: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "mere end ét dynamisk segment\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Kan ikke fstat() fil %s\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Fil %s er tom, ikke afprøvet."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Fil %s er for lille, ikke afprøvet."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Kan ikke mmap fil %s\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s er ikke en ELF-fil - den har de forkerte signaturtegn i starten.\n"
diff --git a/po/de.po b/po/de.po
index 8ddd23b9bb..f31b581c6f 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU libc 2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-22 15:54+0200\n"
 "Last-Translator: Jochen Hein <jochen@jochen.org>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -149,7 +149,7 @@ msgstr ""
 "-o AUSGABEDATEI [EINGABEDATEI]...\n"
 "[AUSGABEDATEI [EINGABEDATEI]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -164,7 +164,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -181,7 +181,7 @@ msgstr ""
 "VERWENDBARKEIT FÃœR EINEN ANGEGEBENEN ZWECK.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -396,7 +396,7 @@ msgstr "Die Cachedatei hat die falsche Endianess.\n"
 msgid "Cache generated by: "
 msgstr "Der Cache wurde generiert von: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Kann die Cachedatei »%s« nicht öffnen\n"
@@ -712,7 +712,7 @@ msgstr "Kann den Speicherschutz nach Relozierung nicht ändern"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "»RTLD_NEXT« wird in Code verwendet, der nicht dynamisch geladen ist"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "Kann keine TLS Datenstrukturen erzeugen"
 
@@ -728,216 +728,216 @@ msgstr "Nicht genügend Hauptspeicher für die Versions-Referenz-Tabelle verfüg
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR ohne GLIBC_ABI_DT_RELR Abhängigkeit"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Cache ausgeben"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Mehr Nachrichten ausgeben"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Keinen Cache anlegen"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Symbolische Links nicht aktualisieren"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Wechsel in das Verzeichnis ROOT und verwende dieses als Wurzelverzeichnis"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROOT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "CACHE als Cache-Datei verwenden"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "CONF als Konfigurationsdatei verwenden"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Verarbeite nur die als Parameter angegebenen Verzeichnisse. Keinen Cache erstellen."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Einzelne Bibliotheken manuell einbinden."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Zu verwendendes Format: »new« (Vorgabe), »old« oder »compat«"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignoriere die zusätzliche Cache-Datei"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Konfigurieren der Runtime-Bindungen des dynamischen Linkers"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Pfad »%s« mehrfach angegeben"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(in %s:%d und %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Kann den Pfad für glibc-hwcaps nicht generieren"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Anzeige des Verzeichnisses »%s«"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Kann »stat()« für »%s« nicht aufrufen"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Kann »stat« für »%s« nicht aufrufen\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s ist kein symbolischer Link\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Kann den Verzeichniseintrag »%s« nicht löschen (unlink)"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Es ist nicht möglich, von »%s« nach »%s« zu linken"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (geändert)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (ÃœBERSPRUNGEN)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "%s ist nicht zu finden"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Es ist nicht möglich, den Status (lstat()) der Datei %s zu lesen"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Datei %s übergangen, da sie keine reguläre Datei ist."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Keinen Link angelegt, da »soname« für %s nicht zu finden ist"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (in %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Kann das Verzeichnis »%s« nicht öffnen"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Es ist nicht möglich, den Bibliothekspfad zu bilden"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Die Eingabedatei %s wurde nicht gefunden.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Es ist nicht möglich, den Status (stat()) der Datei %s zu lesen"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6-Bibliothek %s im falschen Verzeichnis"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "Die Bibliotheken »%s« und »%s« im Verzeichnis %s haben den gleichen soname, aber verschiedene Typen."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Warnung: ignoriere Datei, die nicht geöffnet werden kann: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: hwcap Anweisung ignoriert"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "Für »-r« muß der absolute Name der Konfigurationsdatei angegeben werden"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "Hauptspeicher erschöpft"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: Kann das Verzeichnis »%s« nicht lesen"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "Der relative Pfad »%s« wird zum Erstellen des Caches verwendet"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Wechsel in das Verzeichnis / nicht möglich"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Kann das Cache-Verzeichnis »%s« nicht öffnen\n"
@@ -1140,27 +1140,27 @@ msgstr "%s ist keine Shared-Object-Datei (Typ: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "mehr als ein dynamisches Segment\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Es ist nicht möglich, den Status (fstat()) der Datei %s zu lesen.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Datei %s ist leer; keine Überprüfung."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Datei %s ist zu klein; keine Überprüfung."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Kann die Datei »%s« nicht »mmap«-en.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s ist keine ELF-Datei - sie weist falsche »magische Bytes« am Beginn auf.\n"
diff --git a/po/el.po b/po/el.po
index 37ab4251b7..7e4985349e 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.2.3\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2001-05-21 19:20:31+0000\n"
 "Last-Translator: Nikos Mavroyanopoulos <nmav@hellug.gr>\n"
 "Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -117,7 +117,7 @@ msgstr ""
 "[ΑΡΧΕΙΟ-ΕΞΟΔΟΥ [ΑΡΧΕΙΟ-ΕΙΣΟΔΟΥ]...]"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -134,7 +134,7 @@ msgstr ""
 "ΚΑΠΟΙΟ ΣΥΓΚΕΚΡΙΜΕÎΟ ΣΚΟΠΟ.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -209,16 +209,16 @@ msgstr "μη έγκυÏη κατάσταση για την dlopen()"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "Το RTLD_NEXT που χÏησιμοποιείται στον κώδικα δεν φοÏτώθηκε δυναμικά"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "το %s δεν είναι συμβολικός σÏνδεσμος\n"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (άλλαξε)\n"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
@@ -236,7 +236,7 @@ msgstr "Δεν υπάÏχει τέτοιο αÏχείο ή κατάλογος"
 msgid "not regular file"
 msgstr "δεν είναι κανονικό αÏχείο"
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Αδυναμία μεταφοÏάς στη μνήμη (mmap) του αÏχείου %s.\n"
diff --git a/po/eo.po b/po/eo.po
index fc81b98b96..35127c2075 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.31.9000\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2020-12-30 12:07+0100\n"
 "Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -152,7 +152,7 @@ msgstr ""
 "-o ELIGDOSIERO [ENIGDOSIERO...]\n"
 "[ELIGDOSIERO [ENIGDOSIERO...]]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -167,7 +167,7 @@ msgstr ""
 "  %s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -183,7 +183,7 @@ msgstr ""
 "DoniÄas NENIA GARANTIO; eĉ ne por KOMERCKVALITO aÅ­ ADEKVATECO POR IU CELO.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -348,7 +348,7 @@ msgstr "nevalida moduso"
 msgid "invalid mode parameter"
 msgstr "nevalida modusa argumento"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Ne eblas malfermi kaÅmemoran dosieron %s\n"
@@ -457,179 +457,179 @@ msgstr "ne eblas malfermi komunan objektdosieron"
 msgid "invalid mode for dlopen()"
 msgstr "nevalida moduso por 'dlopen()'"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "eligi kaÅmemoron"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "eligi detalajn mesaÄojn"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "ne krei kaÅmemoron"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "ne Äisdatigi simbolajn ligojn"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "ÅanÄi al RADIKO kaj uzi Äin kiel radikan dosierujon"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "RADIKO"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "KAÅœMEMORO"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "uzi KAÅœMEMOROn kiel kaÅmemoran dosieron"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "AGORDDOSIERO"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "uzi AGORDDOSIEROn kiel agordan dosieron"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "nur trakti dosierujojn kiuj indikatas en komandlinio; ne krei kaÅmemoron"
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "mane ligi individuajn bibliotekojn"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "ARANÄœO"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "uzenda aranÄo: 'new' (nova, defaÅ­lte), 'old' (malnova), aÅ­ 'compat' (kongrua)"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "ignori neĉefan kaÅmemoran dosieron"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr ""
 "  \n"
 "Agordas la dinamika bindilo."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "pado '%s' indikatas plurfoje"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "malsukcesis eltrovi statinformon pri %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "malsukcesis eltrovi statinformon pri %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s ne estas simbola ligo\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "ne eblas malligi %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "ne eblas ligi %s al %s"
 
 # SIGWINCH    28,28,20    Ign     Window resize signal (4.3 BSD, Sun)
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (ÅanÄiÄis)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (TRANSSALTITA)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "malsukcesis trovi %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "malsukcesis eltrovi statinformon pri %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Dosiero %s ignoriÄis ĉar Äi ne estas normala dosiero."
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (elde %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "ne eblas malfermi dosierujon %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Eniga dosiero %s ne troviÄas.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "malsukcesis eltrovi statinformon pri %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6-biblioteko %s estas en malÄusta dosierujo"
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Averto: ignoriÄas agorda dosiero kiu ne malfermeblas: %s"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "mankas sufiĉa memoro"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: ne eblas legi dosierujon %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "uziÄas relativa pado '%s' por krei kaÅmemoron"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "malsukcesis ÅanÄi aktualan dosierujon al «/»"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "malsukcesis malfermi kaÅmemoran dosierujon %s\n"
@@ -761,22 +761,22 @@ msgstr "dosiero %s trunkiÄis\n"
 msgid "more than one dynamic segment\n"
 msgstr "pli ol unu dinamika segmento\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Malsukcesis eltrovi statinformon pri %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Dosiero %s vakas; ne kontroliÄas."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Dosiero %s tro malgrandas; ne kontroliÄas."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Malsukcesis meti tutan dosieron %s en memoro.\n"
diff --git a/po/es.po b/po/es.po
index 5b0fc50e5c..dbe8c439e3 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU libc 2.19.90\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2014-08-25 16:18-0700\n"
 "Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
 "Language-Team: Spanish <es@tp.org.es>\n"
@@ -146,7 +146,7 @@ msgstr ""
 "-o FICHERO-SALIDA [FICHERO-ENTRADA]...\n"
 "[FICHERO-SALIDA [FICHERO-ENTRADA]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -161,7 +161,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -178,7 +178,7 @@ msgstr ""
 "FIN DETERMINADO.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -380,7 +380,7 @@ msgstr "modo inválido"
 msgid "invalid mode parameter"
 msgstr "parámetro de modo inválido"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "No se puede abrir el fichero de caché %s\n"
@@ -659,7 +659,7 @@ msgstr "no se pueden aplicar protecciones de memoria adicionales después de rel
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "Se ha usado RTLD_NEXT en una parte del código que no se cargó dinámicamente"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "no se pueden crear las estructuras de datos TLS"
 
@@ -671,182 +671,182 @@ msgstr "error de búsqueda de versión"
 msgid "cannot allocate version reference table"
 msgstr "no se puede asignar espacio para la tabla de versiones de referencia"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Muestra la caché"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Genera mensajes explicativos"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "No crea caché"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Cambia a RAÃZ y lo utiliza como directorio raíz"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "RAÃZ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHÉ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Utiliza CACHE como fichero de caché"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Utiliza CONF como fichero de configuración"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr ""
 "Procesa únicamente los directorios especificados en la línea de órdenes.\n"
 "No crea la caché."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Enlace bibliotecas individuales manualmente."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMATO"
 
 # Antes decía: .rhosts no es un fichero regular
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Descarta el fichero de caché auxiliar"
 
 # FIXME: Why So Many Uppercase Letters? sv
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Configura las asociaciones de tiempo de ejecución del enlazador dinámico"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Se ha dado la ruta `%s' más de una vez"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "No se puede efectuar `stat' sobre %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "No se puede efectuar `stat' sobre %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s no es un enlace simbólico\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "No se puede efectuar `unlink' sobre %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "No se puede crear un enlace de %s a %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (cambiado)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (SALTADO)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "No se encuentra %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "No se puede efectuar `lstat' sobre %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Descartado el fichero %s dado que no es un fichero regular."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "No se creó el enlace ya que no se encontró el soname para %s"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "No se puede abrir el directorio %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "No se encontró el fichero de entrada %s.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "No se puede efectuar `stat' sobre %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "biblioteca libc6 %s en un directorio equivocado"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "las bibliotecas %s y %s en el directorio %s tienen el mismo soname pero distinto tipo."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Atención: no se tendrá en cuenta el fichero de configuración que no se puede abrir: %s"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "se necesita un nombre de fichero absoluto para el fichero de configuración cuando se utiliza -r"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "memoria agotada"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: no se puede leer el directorio %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "se usa el camino relativo `%s' para construir el caché"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "No se puede cambiar al directorio /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "No se puede leer el directorio de ficheros de caché %s\n"
@@ -1035,27 +1035,27 @@ msgstr "%s no es un fichero `shared object' (Tipo: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "más de un segmento dinámico\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "No se puede efectuar `fstat' sobre el fichero %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "El fichero %s está vacío, no se comprueba."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "El fichero %s es demasiado pequeño, no se comprueba."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "No se puede efectuar `mmap' sobre el fichero %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s no es un fichero ELF - tiene los bytes mágicos equivocados en el comienzo.\n"
diff --git a/po/fi.po b/po/fi.po
index 35143eaf38..31937184c9 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -25,7 +25,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.30.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2020-01-10 23:26+0200\n"
 "Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -167,7 +167,7 @@ msgstr ""
 "-o TULOSTIEDOSTO [SYÖTETIEDOSTO]...\n"
 "[TULOSTIEDOSTO [SYÖTETIEDOSTO]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -182,7 +182,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -198,7 +198,7 @@ msgstr ""
 "ole, ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA tai SOPIVUUDESTA TIETTYYN TARKOITUKSEEN.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -385,7 +385,7 @@ msgstr "virheellinen tila"
 msgid "invalid mode parameter"
 msgstr "virheellinen tilaparametri"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Välimuistitiedostoa %s ei voi avata\n"
@@ -615,7 +615,7 @@ msgstr "segmentin suojausta ei voi palauttaa uudelleensijoituksen jälkeen"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT:iä käytetty koodissa, jota ei ole ladattu dynaamisesti"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "TLS-tietorakenteita ei voi luoda"
 
@@ -627,169 +627,169 @@ msgstr "virhe version selvittämisessä"
 msgid "cannot allocate version reference table"
 msgstr "versioviitetaulukolle ei voi varata muistia"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Näytä välimuisti"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Luo monisanaiset viestit"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Älä luo välimuistia"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Älä päivitä symbolisia linkkejä"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Siirry ja käytä ROOTia juurihakemistona"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "JUURI"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Käytä CACHEa välimuistitiedostona"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Käytä CONFia asetustiedostona"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Käsittele vain komentorivillä annetut hakemistot. Älä luo välimuistia."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Linkitä yksittäisiä kirjastoja käsin."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "MUOTO"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Jätä huomiotta apuvälimuistitiedosto"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Säädä dynaamisen linkittäjän ajonaikaiset sidonnat."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Polku â€%s†on annettu useammin kuin kerran"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Tiedoston %s tilaa ei voi lukea"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Tiedoston %s tilaa ei voi lukea\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s ei ole symbolinen linkki\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Tiedoston %s linkitystä ei voi poistaa"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Linkitys %s -> %s ei onnistu"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (muutettu)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (OHITETTU)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "%s ei löydy"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Tiedoston %s tilaa ei voi lukea"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Tiedostoa %s ei huomioitu, koska se ei ole tavallinen tiedosto."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Linkkiä ei luotu, koska tiedostolle %s ei löytynyt so-nimeä"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Hakemistoa %s ei voi avata"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Syötetiedostoa %s ei löydy.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Tiedoston %s tilaa ei voi lukea"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6-kirjasto %s on väärässä hakemistossa"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "kirjastoilla %s ja %s hakemistossa %s on sama so-nimi, mutta eri tyypit."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Varoitus: jätetään huomioimatta asetustiedosto, jota ei voi avata: %s"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "muisti lopussa"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: hakemistoa %s ei voi lukea"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "suhteellista polkua â€%s†käytetään välimuistin luomiseen"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Juurihakemistoon / siirtyminen ei onnistu"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Välimuistihakemistoa %s ei voi avata\n"
@@ -934,27 +934,27 @@ msgstr "%s ei ole jaettu objektitiedosto (Tyyppi: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "useampi kuin yksi dynaaminen segmentti\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Tiedoston %s tilaa ei voi lukea.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Tiedosto %s on tyhjä, ei tarkastettu."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Tiedosto %s on liian pieni, ei tarkastettu."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Tiedoston %s muistikartoitus epäonnistui.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s ei ole ELF-tiedosto - sen alussa on väärät taikatavut.\n"
diff --git a/po/fr.po b/po/fr.po
index 3000b36e09..20e21a5a17 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc-2.37.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2023-11-22 20:08+0100\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -153,7 +153,7 @@ msgstr ""
 "-o FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...\n"
 "[FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -168,7 +168,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -185,7 +185,7 @@ msgstr ""
 "COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -392,7 +392,7 @@ msgstr "Boutisme incorrect du fichier de cache.\n"
 msgid "Cache generated by: "
 msgstr "Cache généré par : "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Ne peut ouvrir le fichier de cache %s\n"
@@ -695,7 +695,7 @@ msgstr "ne peut appliquer les protections additionnelle de mémoire après la rÃ
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT est utilisé dans du code qui n'est pas chargé dynamiquement"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "ne peut créer les structures de données TLS"
 
@@ -707,211 +707,211 @@ msgstr "erreur de recherche de version"
 msgid "cannot allocate version reference table"
 msgstr "ne peut allouer la table de référence des versions"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Imprimer le cache"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Afficher des messages en mode verbeux"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Ne pas construire le cache"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Ne pas mettre à jour de liens symboliques"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Positionner dans, et utiliser le dossier racine ROOT"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROOT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Utiliser CACHE comme ficher de cache"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Utiliser CONF comme fichier de configuration"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Traiter uniquement les répertoires spécifiés sur la ligne de commande. Ne pas construire de cache."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Lier manuellement les librairies individuelles ."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Format à utiliser : nouveau (par défaut), ancien ou compatible"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignore le fichier cache auxiliaire"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Configuration dynamique des éditions de liens lors de l'exécution."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Chemin « %s » donné plus d'une fois"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(de %s:%d et %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Impossible de construire le chemin glibc-hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Listage du répertoire %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Ne peut évaluer par stat %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Ne peut évaluer par stat %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s n'est pas un lien symbolique\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Ne peut enlever le lien (unlink) %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Ne peut établir un lien entre %s et %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (a été modifié)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (ESCAMOTÉ)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Ne peut repérer %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Ne peut évaluer par lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "A ignoré le fichier %s parce que ce n'est pas un fichier régulier."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Aucun lien créé étant donné que n'a pas été repéré %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (de %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Ne peut ouvrir le dossier %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Fichier d'entrée %s non repéré\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Ne peut évaluer par stat %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "librairie libc6 %s est dans le mauvais dossier"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "Les librairies %s et %s du dossier %s ont le même nom mais sont de types différents."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Attention : ignore tout fichier de configuration qui ne peut s'ouvrir : %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: directive hwcap ignorée"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "nécessite un nom de fichier absolu pour le fichier de configuration quand on utilise -r"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "mémoire épuisée"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u : ne peut lire le dossier %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "chemin relatif `%s' utilisé pour construire le cache"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Ne peut se positionner (chdir) dans /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Ne peut ouvrir le dossier des fichiers de cache %s\n"
@@ -1109,27 +1109,27 @@ msgstr "%s n'est pas un fichier objet partagé (Type : %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "plus d'un segment dynamique\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Ne peut évaluer par fstat() %s\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Fichier %s est vide, n'a pas été vérifié."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Fichier %s trop petit, n'a pas été vérifié."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Erreur de la procédure mmap sur le fichier %s\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s n'est pas un fichier de type ELF - il a un octet magique au début incorrect.\n"
diff --git a/po/gl.po b/po/gl.po
index 80d5a382e6..14762002bc 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.3.2\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2003-03-03 20:13+0100\n"
 "Last-Translator: Jacobo Tarrio <jtarrio@trasno.net>\n"
 "Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
@@ -125,7 +125,7 @@ msgstr ""
 "[FICHEIRO-SAÃDA [FICHEIRO-ENTRADA]...]"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -141,7 +141,7 @@ msgstr ""
 "garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA UN FIN DETERMINADO.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -261,7 +261,7 @@ msgstr "non se pode le-la cabeceira"
 msgid "invalid pointer size"
 msgstr "tamaño de punteiro non válido"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Non se puido abri-lo ficheiro de caché %s\n"
@@ -467,7 +467,7 @@ msgstr "non se pode restaura-la protección do segmento despois de movelo"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "Úsase RTLD_NEXT en código non cargado dinamicamente"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "non se poden crea-las estructuras de datos TLS"
 
@@ -475,138 +475,138 @@ msgstr "non se poden crea-las estructuras de datos TLS"
 msgid "cannot allocate version reference table"
 msgstr "non se pode localiza-la táboa de referencias de versións"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Amosa-la caché"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Visualizar máis mensaxes"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Non construí-la caché"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Cambiar a e empregar RAÃZ coma directorio raíz"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Empregar CACHÉ coma un ficheiro de caché"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Empregar CONF coma un ficheiro de configuración"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Nó se procesan os directorios especificados na liña de comando. Non se constrúen as cachés."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Ligue as bibliotecas individuais manualmente."
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Configura-las Asignacións de Tempo de Execución do Ligador Dinámico"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Proporcionouse a ruta `%s' máis dunha vez"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Non se puido executar `stat' sobre %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Non se puido executar `stat' sobre %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s non é unha ligazón simbólica\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Non se puido borrar %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Non se puido ligar %s a %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (cambiou)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (OMITIDO)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Non se pode atopar %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Non se pode facer lstat sobre %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Ignorouse o ficheiro %s porque non é un ficheiro normal"
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Non se creou unha ligazón porque non se atopou o soname para %s"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Non se puido abri-lo directorio %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Non se atopou o ficheiro de entrada %s.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Non se pode executar `stat' sobre %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "biblioteca libc6 %s nun directorio incorrecto"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "as bibliotecas %s e %s do directorio %s teñen o mesmo soname pero diferente tipo."
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "memoria esgotada"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Non se pode cambiar ao directorio /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Non se puido abri-lo directorio de ficheiros caché %s\n"
@@ -652,22 +652,22 @@ msgstr "%s non é un ficheiro de obxecto compartido (Tipo: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "máis dun segmento dinámico\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Non se puido executar fstat sobre o ficheiro %s.\n"
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "O ficheiro %s é pequeno de máis, non se comproba."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Non se puido executar mmap sobre o ficheiro %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s non é un ficheiro ELF - non ten os bytes máxicos correctos ao principio.\n"
diff --git a/po/hr.po b/po/hr.po
index 8167117c6c..cb9ddf0ea0 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -9,7 +9,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc-2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-23 13:39-0700\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -155,7 +155,7 @@ msgstr ""
 "-o IZLAZNA-DATOTEKA [ULAZNA-DATOTEKA]...\n"
 "[IZLAZNA-DATOTEKA [ULAZNA-DATOTEKA]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -170,7 +170,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -186,7 +186,7 @@ msgstr ""
 "NEMA jamstava; Äak ni za PRODAJU ili UPOTREBU ZA ODREÄENU NAMJENU.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -401,7 +401,7 @@ msgstr "Datoteka predmemorije ima loš endian.\n"
 msgid "Cache generated by: "
 msgstr "Predmemoriju je generiao: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Nije moguće otvoriti cache-datoteku %s\n"
@@ -714,7 +714,7 @@ msgstr "nije moguće primijeniti dodatnu zaštitu memorije nakon premještanja"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT koriÅ¡ten u kodu nije dinamiÄki uÄitan"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "nije moguće stvoriti TLS podatkovne strukture"
 
@@ -730,218 +730,218 @@ msgstr "nije moguće dodijeliti memoriju za tablicu referencija inaÄica"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR bez GLIBC_ABI_DT_RELR ovisnosti"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "pregled sadržaja predmemorije (cache)"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "generira opširne poruke"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "ne gradi predmemoriju (cache)"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "ne ažurira simboliÄne poveznice"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "promijeni direktorij u ROOT i koristi ga kao root direktorij"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROOT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "PREDMEMORIJA"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "rabi PREDMEMORIJU kao cache-datoteku"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "KONFIG"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "rabi KONFIG kao konfiguracijsku datoteku"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "obradi samo direktorije navedene u naredbenom retku i ne gradi predmemoriju"
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "ruÄno poveže pojedine biblioteke"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "koristi se jedan od formata: new (zadano), old ili compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "zanemari datoteku pomoćne predmemorije"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Konfigurira dinamiÄki linker."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Staza „%s“ navedena je više puta"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(od %s:%d i %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Nije moguće formirati glibc-hwcaps stazu"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Nije moguće proÄitati stazu %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Nije moguće dobiti status %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Nije moguće dobiti status %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s nije simboliÄna poveznica\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Nije moguće ukloniti (unlink) vezu %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Nije moguće napraviti vezu (link) %s na %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (promijenjeno)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (PRESKOÄŒENO)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Nije moguće pronaći %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Nije moguće dobiti status veze %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "%s datoteka je zanemarena jer nije obiÄna datoteka."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Nijedna poveznica nije stvorena jer soname nije bilo moguće naći za %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (od %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Nije moguće otvoriti direktorij %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Nije bilo moguće formirati stazu biblioteke"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Ulazna datoteka %s nije pronađena.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Nije moguće stat %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 biblioteka %s je u krivom direktoriju"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "Biblioteke %s i %s u direktoriju %s imaju isti soname ali su razliÄite vrste."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr ""
 "Upozorenje: zanemarena konfiguracijska datoteka\n"
 "  koju nije moguće otvoriti: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: hwcap direktiva -- zanemareno"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "treba apsolutno ime datoteke za konfiguracijsku datoteku kad se koristi -r"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "nema dovoljno memorije"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: nije moguće Äitati direktorij %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "relativna staza „%s“ korištena je za izgradnju predmemorije"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Nije moguće promijeniti direktorij u / (root)"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Nije moguće otvoriti direktorij %s s cache-datotekom\n"
@@ -1141,27 +1141,27 @@ msgstr "%s nije datoteka dijeljenog objekta (Vrsta: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "viÅ¡e od jedan dinamiÄki segment\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Nije moguće dobiti status (fstat) od %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Datoteka %s je prazna; nije provjerena."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Datoteka %s je premalena; nije provjerena."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Nije moguće mapirati (mmap) datoteku %s u memoriju.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s nije ELF datoteka -- na poÄetku ima pogreÅ¡ne magiÄne bajtove.\n"
diff --git a/po/hu.po b/po/hu.po
index efd8d72902..c3e25efcfb 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.10.1\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2009-08-04 02:23+0200\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -128,7 +128,7 @@ msgstr ""
 "[KIMENETIFÃJL [BEMENETIFÃJL]...]"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -144,7 +144,7 @@ msgstr ""
 "garancia, még az ADOTT CÉLRE VALÓ ELADHATÓSÃGRA VAGY MEGFELELÅSÉGRE SEM.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -328,7 +328,7 @@ msgstr "érvénytelen mód"
 msgid "invalid mode parameter"
 msgstr "érvénytelen módparaméter"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Nem nyitható meg a gyorsítótárfájl (%s)\n"
@@ -550,7 +550,7 @@ msgstr "szimbólumkikeresési hiba"
 msgid "cannot extend global scope"
 msgstr "a globális hatáskör nem bővíthető"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
diff --git a/po/ia.po b/po/ia.po
index 383a04430a..d17f4d77b3 100644
--- a/po/ia.po
+++ b/po/ia.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.17-pre1\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2013-04-26 04:10+0400\n"
 "Last-Translator: Nik Kalach <nik.kalach@inbox.ru>\n"
 "Language-Team: Interlingua <translation-team-ia@lists.sourceforge.net>\n"
@@ -134,7 +134,7 @@ msgstr ""
 "-o FILE-OUTPUT [FILE-INPUT]...\n"
 "[FILE-OUTPUT [FILE-INPUT]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -149,7 +149,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -165,7 +165,7 @@ msgstr ""
 "NULLE garantia; atque pro MERCABILETATE o APTITUDE PRO UN PROPOSITO PARTICULAR.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -363,7 +363,7 @@ msgstr "modo invalide"
 msgid "invalid mode parameter"
 msgstr "parametro de modo incorrecte"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Impossibile de aperir le file de cache %s\n"
@@ -634,7 +634,7 @@ msgstr "impossibile de applicar le protection de memoria additional post le relo
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT usate in le codice non cargate dynamicamente"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "impossibile de crear structuras de datos TLS"
 
@@ -646,178 +646,178 @@ msgstr "error de cerca de version"
 msgid "cannot allocate version reference table"
 msgstr "impossibile de allocar le tabula de referentias a versiones"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Monstrar le cache"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Monstrar messages in modo verbose"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Non construer le cache"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Passar a RADICE e utilisar lo como un directorio de radice"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "RADICE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Utilisar CACHE como un file de cache"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Utilisar CONF como un file de configuration"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Tractar solo le directorios specificate in le linea de commando. Non construer le cache."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Ligar manualmente le bibliothecas individual."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignorar le file de cache auxiliar"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Configurar le associationes de tempore de execution del editor de ligamines dynamic."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Percurso `%s' fornite plus de un vice"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Impossibile de effectuar stat sur %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Impossibile de effectuar stat sur %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s non es un ligamine symbolic\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Impossibile de efectuar unlink sur %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Impossibile de crear un ligamine de %s a %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (cambiate)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (OMITTITE)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Impossibile de trovar %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Impossibile de effectuar lstat sur %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Le file %s es ignorate proque illo non es un file regular."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Ligamine non create proque il non esseva possibile trovar le so-nomine pro %s"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Impossibile de aperir le directorio %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Le file de entrata %s non trovate.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Impossibile de effectuar stat sur %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "bibliotheca libc6 %s es in un directorio incorrecte"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "Le bibliothecas %s e %s es in le directorio %s ha le mesme so-nomine, ma lor typo es differente."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Advertimento: ignorar le file de configuration que non pote esser aperite: %s"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "il es necessari usar le nomine absolute pro le file de configuration quando on utilisa -r"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "memoria exhaurite"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: impossibile de leger le directorio %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "percurso relative `%s' usate pro construer le cache"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Impossibile de effectuar chdir a /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Impossibile de aperir le directorio de files de cache %s\n"
@@ -1005,27 +1005,27 @@ msgstr "%s non es un file de objectos condivise (Typo: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "plus de un segmento dynamic\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Impossibile de effectuar fstat sur le file %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Le file %s es vacue, non controlate."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Le file %s es troppo parve, non controlate."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Impossible de effectuar mmap sur le file %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s non es un file ELF - illo ha le bytes magic incorrecte al testa.\n"
diff --git a/po/id.po b/po/id.po
index f9cf58bf4f..58307df77c 100644
--- a/po/id.po
+++ b/po/id.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.10.1\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2009-06-23 12:30+0700\n"
 "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -126,7 +126,7 @@ msgstr ""
 "[BERKAS-KELUARAN [BERKAS-MASUKAN]...]"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -142,7 +142,7 @@ msgstr ""
 "garansi; bahkan untuk PERDAGANGAN atau KECOCOKAN UNTUK SEBUAH TUJUAN TERTENTU.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -326,7 +326,7 @@ msgstr "mode tidak valid"
 msgid "invalid mode parameter"
 msgstr "mode parameter tidak valid"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Tidak dapat membuka berkas cache %s\n"
@@ -593,7 +593,7 @@ msgstr "tidak dapat mengaplikasikan proteksi memori tambahan setelah relokasi"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT digunakan dalam kode yang tidak secara dinamis diangkut"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "tidak dapat membuat struktur data TLS"
 
@@ -601,173 +601,173 @@ msgstr "tidak dapat membuat struktur data TLS"
 msgid "cannot allocate version reference table"
 msgstr "tidak dapat mengalokasikan tabel referensi versi"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Menampilkan cache"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Menghasilkan pesan verbose"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Jangan membuat cache"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Ubah ke dan gunakan ROOT sebagai direktori root"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROOT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Gunakan CACHE sebagai berkas cache"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Gunakan CONF sebagai berkas konfigurasi"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Hanya proses direktori yang dispesifikasikan dalam baris perintah. Jangan buat cache."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Secara manual hubungkan perpustakaan individu."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Abaikan berkas cache tambahan"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Konfigurasi Linker Dinamis Ikatan Waktu Jalan."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Jalur `%s' diberikan lebih dari sekali"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Tidak dapat memperoleh statistik %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Tidak dapat memperoleh statistik %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s bukan sebuah link simbolis\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Tidak dapat memutuskan %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Tidak dapat menghubungkan %s ke %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (berubah)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (DILEWATI)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Tidak dapat menemukan %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Tidak dapat lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Mengabaikan berkas %s karena itu bukan sebuah berkas umum."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Tidak ada hubungan yang dibuat karena soname tidak dapaat ditemukan untuk %s"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Tidak dapat membuka direktori %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Berkas masukan %s tidak ditemukan.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Tidak dapat memperoleh statistik %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "perpustakaan libc6 %s berada dalam direktori salah"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "perpustakaan %s dan %s berada dalam direktori %s memiliki soname sama tetapi memiliki tipe berbeda."
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "membutuhkan nama berkas absolut untuk berkas konfigurasi ketika menggunakan -r"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "kehabisan memori"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: tidak dapat membaca direktori %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "jalur relatif `%s' digunakan untuk membuat cache"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Tidak dapat chdir ke /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Tidak dapat membuat berkas cache direktori %s\n"
@@ -867,27 +867,27 @@ msgstr "%s bukan sebuah berkas objek terbagi (Tipe: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "lebih dari satu segmen dinamis\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Tidak dapat fstat berkas %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Berkas %s kosong, tidak diperiksa."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Berkas %s terlalu kecil, tidak diperiksa."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Tidak dapat mmap berkas %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s bukan sebuah berkas ELF - ini memiliki magis bytes salah di awal.\n"
diff --git a/po/it.po b/po/it.po
index c74afb909e..610e2489d9 100644
--- a/po/it.po
+++ b/po/it.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libc-2.36.9000\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2023-05-03 15:28+0200\n"
 "Last-Translator: Sergio Zanchetta <primes2h@ubuntu.com>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -157,7 +157,7 @@ msgstr ""
 "[FILE-OUTPUT [FILE-INPUT]...]"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -175,7 +175,7 @@ msgstr ""
 
 # lf
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -384,7 +384,7 @@ msgstr "modalità non valida"
 msgid "invalid mode parameter"
 msgstr "parametro di modalità non valido"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Impossibile aprire il file di cache %s\n"
@@ -698,7 +698,7 @@ msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT usato in codice caricato non dinamicamente"
 
 # lf
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "impossibile creare le strutture dati TLS"
 
@@ -712,194 +712,194 @@ msgid "cannot allocate version reference table"
 msgstr "impossibile allocare la tabella di riferimento versione"
 
 # lf
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Stampa la cache"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Genera messaggi prolissi"
 
 # lf
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Non crea la cache"
 
 # lf
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Passa a RADICE come directory di root"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROOT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
 # lf
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Usa CACHE come file di cache"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
 # lf
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Usa CONF come file di configurazione"
 
 # lf
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Elabora solo le directory specificate nella riga di comando. Non crea la cache."
 
 # lf
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Crea manualmente i collegamenti alle singole librerie."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Formato da usare: new (predefinito), old o compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignora il file di cache ausiliario"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Configura i binding a runtime del linker dinamico."
 
 # lf
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Percorso \"%s\" fornito più di una volta"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Impossibile fare stat di %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Impossibile fare stat di %s\n"
 
 # lf
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s non è un collegamento simbolico\n"
 
 # lf
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Impossibile eseguire l'unlink di %s"
 
 # lf
 #
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Impossibile collegare %s a %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (cambiato)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (SALTATO)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Impossibile trovare %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Impossibile fare lstat di %s"
 
 # lf
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "File %s ignorato poiché non è un file normale."
 
 # lf
 #
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Collegamenti non creati poiché non è stato possibile trovare il soname per %s"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Impossibile aprire la directory %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "File di input %s non trovato.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Impossibile fare stat di %s"
 
 # lf
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libreria libc6 %s nella directory errata"
 
 # lf
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "le librerie %s e %s nella directory %s hanno lo stesso soname, ma di tipo differente."
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "se viene usato -r è necessario un nome file assoluto per il file di configurazione"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "memoria esaurita"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: impossibile leggere la directory %s"
 
 # lf
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "usato il percorso relativo \"%s\" per creare la cache"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Impossibile fare chdir a /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Impossibile aprire la directory del file di cache %s\n"
@@ -1014,27 +1014,27 @@ msgstr "%s non è un file oggetto condiviso (tipo: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "più di un segmento dinamico\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Impossibile fare fstat di %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Il file %s è vuoto, non controllato."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Il file %s è troppo piccolo, non controllato."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Impossibile fare mmap del file %s\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s non è un file ELF - i byte magic iniziali sono sbagliati.\n"
diff --git a/po/ja.po b/po/ja.po
index cdb5d32505..4d7c7cbd78 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.36.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2023-05-09 08:02+0900\n"
 "Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -144,7 +144,7 @@ msgstr ""
 "[OUTPUT-FILE [INPUT-FILE]...]"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -160,7 +160,7 @@ msgstr ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -352,7 +352,7 @@ msgstr "無効ãªãƒ¢ãƒ¼ãƒ‰ã§ã™"
 msgid "invalid mode parameter"
 msgstr "無効ãªãƒ¢ãƒ¼ãƒ‰ãƒ‘ラメータã§ã™"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "キャッシュファイル %s ã‚’é–‹ã‘ã¾ã›ã‚“\n"
@@ -623,7 +623,7 @@ msgstr "å†é…置後ã«è¿½åŠ ã®ãƒ¡ãƒ¢ãƒªä¿è­·ã‚’é©ç”¨ã§ãã¾ã›ã‚“"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "コード内ã§ä½¿ç”¨ã•ã‚Œã¦ã„ã‚‹ RTLD_NEXT ã‚’å‹•çš„ã«ãƒ­ãƒ¼ãƒ‰å‡ºæ¥ã¾ã›ã‚“"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "TLS データ構造体を作æˆã§ãã¾ã›ã‚“"
 
@@ -635,173 +635,173 @@ msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æ¤œç´¢ã‚¨ãƒ©ãƒ¼ã§ã™"
 msgid "cannot allocate version reference table"
 msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³å‚照表をé…置出æ¥ã¾ã›ã‚“"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "キャッシュを表示ã—ã¾ã™"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "冗長ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’生æˆã—ã¾ã™"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "キャッシュã®æ§‹ç¯‰ã‚’è¡Œã„ã¾ã›ã‚“"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "ルートディレクトリを ROOT ã«å¤‰æ›´ã—ã€ä½¿ç”¨ã—ã¾ã™"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROOT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "キャッシュファイルã¨ã—㦠CACHE を使用ã—ã¾ã™"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "設定ファイルã¨ã—㦠CONF を使用ã—ã¾ã™"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "コマンドラインã§æŒ‡å®šã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ã¿å‡¦ç†ã—ã¾ã™ã€‚キャッシュã¯ä½œæˆã—ã¾ã›ã‚“。"
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "個々ã®ãƒ©ã‚¤ãƒ–ラリを手動ã§ãƒªãƒ³ã‚¯ã—ã¦ãã ã•ã„。"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "補助キャッシュファイルを無視ã—ã¦ã„ã¾ã™"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "動的リンカランタイムã®ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã‚’設定ã—ã¾ã™ã€‚"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "パス `%s' ãŒäºŒå›žä»¥ä¸Šä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "%s ã®æƒ…å ±å–å¾— (stat) ãŒã§ãã¾ã›ã‚“"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "%s ã®æƒ…å ±å–å¾— (stat) ãŒå‡ºæ¥ã¾ã›ã‚“\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s ã¯ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "%s をリンク解除ã§ãã¾ã›ã‚“"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "%s ã‹ã‚‰ %s ã¸ãƒªãƒ³ã‚¯ã§ãã¾ã›ã‚“"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (変更ã•ã‚Œã¾ã—ãŸ)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (スキップã•ã‚Œã¾ã—ãŸ)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "%s を見ã¤ã‘られã¾ã›ã‚“"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "%s ã®çŠ¶æ…‹å–å¾— (lstat) ãŒå‡ºæ¥ã¾ã›ã‚“"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "通常ファイルã§ãªã„ãŸã‚ファイル %s を無視ã—ã¦ã„ã¾ã™ã€‚"
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "%s 用ã®å‹•çš„ライブラリå (soname) ãŒè¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚リンクãŒä½œæˆã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "ディレクトリ %s ã‚’é–‹ã‘ã¾ã›ã‚“"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "入力ファイル %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "%s ã®çŠ¶æ…‹å–å¾— (stat) ãŒå‡ºæ¥ã¾ã›ã‚“"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 ライブラリ %s ãŒèª¤ã£ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«ã‚ã‚Šã¾ã™"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "ディレクトリ %3$s 内ã«ã‚るライブラリ %1$s 㨠%2$s ã¯åŒä¸€ã®å‹•çš„ライブラリå (soname) ã§ã™ãŒç•°ãªã£ãŸåž‹ã§ã™ã€‚"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "-r を使用ã—ã¦ã„ã‚‹ã¨ãã¯è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«åã¨ã—ã¦çµ¶å¯¾ãƒ‘スã®ãƒ•ã‚¡ã‚¤ãƒ«åãŒå¿…è¦ã§ã™"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "メモリを使ã„æžœãŸã—ã¾ã—ãŸ"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: ディレクトリ %s を読ã¿è¾¼ã‚ã¾ã›ã‚“"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "キャッシュ生æˆæ™‚ã«ç›¸å¯¾ãƒ‘ス `%s' ãŒä½¿ç”¨ã•ã‚Œã¾ã—ãŸ"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "/ ã¸ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªç§»å‹• (chdir) 出æ¥ã¾ã›ã‚“"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "キャッシュファイルディレクトリ %s ã‚’é–‹ã‘ã¾ã›ã‚“\n"
@@ -901,27 +901,27 @@ msgstr "%s ã¯å…±æœ‰ã‚ªãƒ–ジェクトファイルã§ã¯ã‚ã‚Šã¾ã›ã‚“ (åž‹: %d
 msgid "more than one dynamic segment\n"
 msgstr "二ã¤ä»¥ä¸Šã®å‹•çš„セグメントãŒã‚ã‚Šã¾ã™\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "ファイル %s ã®çŠ¶æ…‹å–å¾— (fstat) ãŒã§ãã¾ã›ã‚“。\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "ファイル %s ã¯ç©ºã§ã™ã€‚検査ã•ã‚Œã¾ã›ã‚“。"
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "ファイル %s ã¯å°ã•ã™ãŽã¾ã™ã€‚検査ã•ã‚Œã¾ã›ã‚“。"
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "ファイル %s ã‚’ mmap ã§ãã¾ã›ã‚“。\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s 㯠ELF ファイルã§ã¯ã‚ã‚Šã¾ã›ã‚“ - 先頭ã«èª¤ã£ãŸãƒžã‚¸ãƒƒã‚¯ãƒã‚¤ãƒˆã‚’æŒã£ã¦ã„ã¾ã™ã€‚\n"
diff --git a/po/ka.po b/po/ka.po
index 37993e528f..a49e6e13d4 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.36.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2023-02-05 14:40+0100\n"
 "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
 "Language-Team: Georgian <(nothing)>\n"
@@ -149,7 +149,7 @@ msgstr ""
 "-o გáƒáƒ›áƒáƒ¢áƒáƒœáƒ˜áƒ¡-ფáƒáƒ˜áƒšáƒ˜ [შეტáƒáƒœáƒ˜áƒ¡-ფáƒáƒ˜áƒšáƒ˜]...\n"
 "[გáƒáƒ›áƒáƒ¢áƒáƒœáƒ˜áƒ¡-ფáƒáƒ˜áƒšáƒ˜ [შეტáƒáƒœáƒ˜áƒ¡-ფáƒáƒ˜áƒšáƒ˜]..]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -164,7 +164,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -180,7 +180,7 @@ msgstr ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -365,7 +365,7 @@ msgstr "ქეშის ფáƒáƒ˜áƒšáƒ¡ áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ ბáƒáƒ˜áƒ¢áƒ”
 msgid "Cache generated by: "
 msgstr "ქეშის შემქმნელიáƒ: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "ქეშის ფáƒáƒ˜áƒšáƒ˜áƒ¡ გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ: %s\n"
@@ -655,7 +655,7 @@ msgstr "reloc-ის შემდეგ სეგმენტის prot-ის
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "კáƒáƒ“ში გáƒáƒ›áƒáƒ§áƒ”ნებული RTLD_NEXT დინáƒáƒ›áƒ˜áƒ™áƒ£áƒ áƒáƒ“ áƒáƒ  იტვირთებáƒ"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "შეცდáƒáƒ›áƒ TLS-ის მáƒáƒœáƒáƒªáƒ”მების სტრუქტურის შექმნისáƒáƒ¡"
 
@@ -667,173 +667,173 @@ msgstr "ვერსიის მáƒáƒ«áƒ”ბნის შეცდáƒáƒ›áƒ"
 msgid "cannot allocate version reference table"
 msgstr "ვერსის ბმების ცხრილის გáƒáƒ›áƒáƒ§áƒáƒ¤áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "ქეშის დáƒáƒ‘ეჭდვáƒ"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "დáƒáƒ›áƒáƒ¢áƒ”ბითი შეტყáƒáƒ‘ინებების გენერáƒáƒªáƒ˜áƒ"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "ქეშის áƒáƒ¨áƒ”ნების შეცდáƒáƒ›áƒ"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "სიმბმულების გáƒáƒœáƒáƒ®áƒšáƒ”ბის შეცდáƒáƒ›áƒ"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "გáƒáƒ“áƒáƒ“ით დრგáƒáƒ›áƒáƒ˜áƒ§áƒ”ნეთ ROOT, რáƒáƒ’áƒáƒ áƒª root სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "Root"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "კეში"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "CACHE-ის ქეშ ფáƒáƒ˜áƒšáƒáƒ“ გáƒáƒ›áƒáƒ§áƒ”ნებáƒ"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "CONF-ის კáƒáƒœáƒ¤áƒ˜áƒ’ურáƒáƒªáƒ˜áƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒáƒ“ გáƒáƒ›áƒáƒ§áƒ”ნებáƒ"
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "ბიბლიáƒáƒ—ეკების სáƒáƒ—ითáƒáƒáƒ“ მიბმáƒ."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "ფáƒáƒ áƒ›áƒáƒ¢áƒ˜áƒ¡ გáƒáƒ›áƒáƒ§áƒ”ნებáƒ: new (ნáƒáƒ’ულისხმები),old áƒáƒœ compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "ქეშის დáƒáƒ›áƒáƒ¢áƒ”ბითი ფáƒáƒ˜áƒšáƒ˜áƒ¡ იგნáƒáƒ áƒ˜áƒ áƒ”ბáƒ"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "ბილიკი '%s' ერთზე მეტჯერáƒáƒ მითითებული"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(%s:%d-დáƒáƒœ დრ%s:%d-დáƒáƒœ)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "\"glibc-hwcaps\" -ის ბილიკის ჩáƒáƒ›áƒáƒ§áƒáƒšáƒ˜áƒ‘ებრშეუძლებელიáƒ"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის ჩáƒáƒ›áƒáƒœáƒáƒ—ვáƒáƒšáƒ˜ %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "%s-ის stat-ის შეცდáƒáƒ›áƒ"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "%s-ის stat-ის შეცდáƒáƒ›áƒ\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s სიმბáƒáƒšáƒ£áƒ  ბმულს áƒáƒ  წáƒáƒ áƒ›áƒáƒáƒ“გენს\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "ბმულის მáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ: %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "%s-დáƒáƒœ %s-მდე ბმულის შექმნის შეცდáƒáƒ›áƒ"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (შეცვლილიáƒ)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (გáƒáƒ›áƒáƒ¢áƒáƒ•áƒ”ბულიáƒ)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "%s-ის პáƒáƒ•áƒœáƒ შეუძლებელიáƒ"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "%s ის lstat-ის შეცდáƒáƒ›áƒ"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (%s:%d-დáƒáƒœ)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ: %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "შეყვáƒáƒœáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜ %s ნáƒáƒžáƒáƒ•áƒœáƒ˜ áƒáƒ áƒáƒ.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "%s-ის stat-ის შეცდáƒáƒ›áƒ"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 ბიბლიáƒáƒ—ეკრáƒáƒ áƒáƒ¡áƒ¬áƒáƒ  სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ეშიáƒ: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: hwcap დირექტივრიგნáƒáƒ áƒ˜áƒ áƒ”ბულიáƒ"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "მეხსიერებრგáƒáƒ“áƒáƒ•áƒ¡áƒ”ბულიáƒ"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის წáƒáƒ™áƒ˜áƒ—ხვრშეუძლებელირ%s"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "/-ზე chdir-ის შედáƒáƒ›áƒ"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "ქეშის ფáƒáƒ˜áƒšáƒ˜áƒ¡ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის (%s) გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ შეცდáƒáƒ›áƒ\n"
@@ -1004,22 +1004,22 @@ msgstr "უცნáƒáƒ‘ი ELFCLASS ფáƒáƒ˜áƒšáƒ¨áƒ˜ %s.\n"
 msgid "more than one dynamic segment\n"
 msgstr "ერთზე მეტი დინáƒáƒ›áƒ˜áƒ™áƒ£áƒ áƒ˜ სეგმენტი\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ fstat() შეუძლებელიáƒ: %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "ფáƒáƒ˜áƒšáƒ˜ ცáƒáƒ áƒ˜áƒ”ლიáƒ, áƒáƒ  შემáƒáƒ¬áƒ›áƒ”ბულáƒ: %s."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "ფáƒáƒ˜áƒšáƒ˜ ძáƒáƒšáƒ˜áƒáƒœ პáƒáƒ¢áƒáƒ áƒáƒ, áƒáƒ  შემáƒáƒ¬áƒ›áƒ”ბულáƒ: %s."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ (%s) mmap-ის შეცდáƒáƒ›áƒ.\n"
diff --git a/po/ko.po b/po/ko.po
index 050ffcf1c0..a8196e3510 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU libc 2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-22 21:30+0900\n"
 "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
 "Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
@@ -147,7 +147,7 @@ msgstr ""
 "-o <출력-파ì¼> [<ìž…ë ¥-파ì¼>]...\n"
 "[<출력-파ì¼> [<ìž…ë ¥-파ì¼>]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -162,7 +162,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -178,7 +178,7 @@ msgstr ""
 "ì´ë‚˜ 특정 목ì ì— 대한 ì í•©ì„±ì„ 비롯하여 ì–´ë– í•œ ë³´ì¦ë„ 하지 않습니다.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -393,7 +393,7 @@ msgstr "ìºì‹œ 파ì¼ì˜ 엔디안 ê°’ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤.\n"
 msgid "Cache generated by: "
 msgstr "ìºì‹œ ìƒì„±: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "ìºì‹œ íŒŒì¼ `%s'ì„(를) ì—´ 수 없습니다\n"
@@ -710,7 +710,7 @@ msgstr "리로케ì´ì…˜ ë’¤ì— ì¶”ê°€ë¡œ 메모리 보호를 ì ìš©í•  수 ì—†ìŠ
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "ë™ì ìœ¼ë¡œ ì ìž¬í•˜ì§€ ì•Šì€ ì½”ë“œì— RTLD_NEXT를 사용함"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "TLS ë°ì´í„° 구조를 만들 수 없습니다"
 
@@ -726,216 +726,216 @@ msgstr "버전 참조 í…Œì´ë¸”ì„ í• ë‹¹í•  수 없습니다"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "GLIBC_ABI_DT_RELR ì˜ì¡´ì„± ì—†ì´ DT_RELR 있습니다"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "ìºì‹œ 표시"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "ë” ë§Žì€ ë©”ì‹œì§€ 표시"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "ìºì‹œë¥¼ 만들지 ì•ŠìŒ"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "심볼릭 ë§í¬ë¥¼ ì—…ë°ì´íŠ¸í•˜ì§€ 않습니다"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "<루트>ë¡œ ì´ë™í•œ ë‹¤ìŒ <루트>를 루트 디렉터리로 사용합니다"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "<루트>"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "<ìºì‹œ>"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "ìºì‹œ 파ì¼ë¡œ <ìºì‹œ>를 사용합니다"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "<설정>"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "설정 파ì¼ë¡œ <설정>ì„ ì‚¬ìš©í•©ë‹ˆë‹¤"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "ëª…ë ¹í–‰ì— ì§€ì •í•œ 디렉터리만 처리합니다.  ìºì‹œë¥¼ 만들지 않습니다."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "수ë™ìœ¼ë¡œ ê°ê°ì˜ ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ ë§í¬í•˜ì‹­ì‹œì˜¤."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "<형ì‹>"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "사용할 수 있는 형ì‹: new (기본값), old, compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "ë³´ì¡° ìºì‹œ íŒŒì¼ ë¬´ì‹œ"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "ë™ì  ë§ì»¤ì˜ 런타임 ë°”ì¸ë”©ì„ 설정합니다."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "`%s' 경로가 여러번 주어졌습니다"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(%s:%d ë° %s:%dì—ì„œ)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "glibc-hwcaps 경로를 구성할 수 없습니다"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "%s 디렉터리 ëª©ë¡ ë³´ê¸°"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "%sì— stat()í•  수 없습니다"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "%sì— stat()í•  수 없습니다\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%sì€(는) 심볼릭 ë§í¬ê°€ 아닙니다\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "%sì„(를) 지울 수 없습니다"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "%sì„(를) %s(으)ë¡œ ë§í¬í•  수 없습니다"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (바뀜)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (지나침)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "%sì„(를) ì°¾ì„ ìˆ˜ 없습니다"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "%sì— lstat()í•  수 없습니다"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "ì¼ë°˜ 파ì¼ì´ 아니므로 %s 파ì¼ì„ 무시합니다."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "%sì— ëŒ€í•œ sonameì„ ì°¾ì„ ìˆ˜ 없으므로 ë§í¬ë¥¼ 만들지 않습니다"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (%s:%dì—ì„œ)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "디렉터리 %sì„(를) ì—´ 수 없습니다"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬ 경로를 구성할 수 없습니다"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "ìž…ë ¥ íŒŒì¼ %sì„(를) 찾지 못했습니다.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "%sì— stat()í•  수 없습니다"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 library %sì´(ê°€) ìž˜ëª»ëœ ë””ë ‰í„°ë¦¬ì— ìžˆìŠµë‹ˆë‹¤"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "디렉터리 %sì˜ ë¼ì´ë¸ŒëŸ¬ë¦¬ %sê³¼(와) %sì´(ê°€) ê°™ì€ sonameì„ ê°€ì§€ê³  있지만 íƒ€ìž…ì´ ë‹¤ë¦…ë‹ˆë‹¤."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "경고: ì—´ 수 없는 설정 파ì¼ì„ 무시합니다: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: hwcap 지시어 무시합니다"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "-r ì˜µì…˜ì„ ì‚¬ìš©í•  경우 설정 파ì¼ì˜ 절대 íŒŒì¼ ì´ë¦„ì´ í•„ìš”í•©ë‹ˆë‹¤"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "메모리가 바닥남"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: %s 디렉터리를 ì½ì„ 수 없습니다"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "ìºì‹œë¥¼ ë§Œë“œëŠ”ë° ìƒëŒ€ ê²½ë¡œì¸ `%s' 경로를 사용했습니다"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "/ë¡œ 디렉터리를 ì´ë™í•  수 없습니다"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "ìºì‹œ íŒŒì¼ ë””ë ‰í„°ë¦¬ `%s'ì„(를) ì—´ 수 없습니다\n"
@@ -1133,27 +1133,27 @@ msgstr "%sì€(는) ë™ì  오브ì íŠ¸ 파ì¼ì´ 아닙니다(타입: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "ì—¬ëŸ¬ê°œì˜ ë™ì  세그먼트\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "`%s'파ì¼ì— fstat()ì„ í•  수 없습니다.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "%s 파ì¼ì´ 빈 파ì¼ì´ë¯€ë¡œ 검사하지 않습니다."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "%s 파ì¼ì´ 너무 ìž‘ì•„ì„œ 검사하지 않습니다."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "íŒŒì¼ `%s'ì— mmap()í•  수 없습니다.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%sì€(는) ELF 파ì¼ì´ 아닙니다 - ì‹œìž‘ë¶€ë¶„ì˜ ë§¤ì§ ë°”ì´íŠ¸ê°€ 틀렸습니다.\n"
diff --git a/po/libc.pot b/po/libc.pot
index 593ea70600..aed617834f 100644
--- a/po/libc.pot
+++ b/po/libc.pot
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -139,7 +139,7 @@ msgid ""
 "[OUTPUT-FILE [INPUT-FILE]...]"
 msgstr ""
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -152,7 +152,7 @@ msgid ""
 msgstr ""
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -165,7 +165,7 @@ msgid ""
 msgstr ""
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -372,7 +372,7 @@ msgstr ""
 msgid "Cache generated by: "
 msgstr ""
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr ""
@@ -685,7 +685,7 @@ msgstr ""
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr ""
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr ""
 
@@ -701,218 +701,218 @@ msgstr ""
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr ""
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr ""
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr ""
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr ""
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr ""
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr ""
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr ""
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr ""
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr ""
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr ""
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr ""
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid ""
 "Only process directories specified on the command line.  Don't build cache."
 msgstr ""
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr ""
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr ""
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr ""
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr ""
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr ""
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr ""
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr ""
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr ""
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr ""
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr ""
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr ""
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr ""
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr ""
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr ""
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr ""
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr ""
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr ""
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr ""
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr ""
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr ""
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr ""
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr ""
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr ""
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr ""
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr ""
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr ""
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid ""
 "libraries %s and %s in directory %s have same soname but different type."
 msgstr ""
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr ""
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr ""
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr ""
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr ""
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr ""
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr ""
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr ""
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr ""
@@ -1103,27 +1103,27 @@ msgstr ""
 msgid "more than one dynamic segment\n"
 msgstr ""
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr ""
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr ""
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr ""
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr ""
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr ""
diff --git a/po/lt.po b/po/lt.po
index cbde6906b2..18279a6c9c 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc-2.7\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2009-02-12 05:24+0200\n"
 "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -114,7 +114,7 @@ msgstr ""
 "[IŠVEDIMO-FAILAS [DUOMENŲ-FAILAS]...]"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -204,7 +204,7 @@ msgstr "nepalaikoma dlinfo užklausa"
 msgid "invalid mode"
 msgstr "netaisyklinga veiksena"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Nepavyko atverti podÄ—lio failo %s\n"
@@ -320,123 +320,123 @@ msgstr "TLS kartų skaitiklis persivertė!  Prašytume apie tai pranešti."
 msgid "invalid mode for dlopen()"
 msgstr "netaisyklinga veiksena dlopen()"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "nepavyko sukurti TLS duomenų struktūrų"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Spausdinti podėlį"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Generuoti išsamius pranešimus"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Nekurti podÄ—lio"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Naudoti ŠAKNĮ kaip šakninį aplanką"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "Å AKNIS"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "PODÄ–LIS"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Naudoti PODÄ–LÄ® kaip podÄ—lio failÄ…"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "KONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Naudoti KONF kaip konfigūracijos failą"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Apdoroti tik aplankus, nurodytus komandų eilutėje. Nekurti podėlio."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Rankiniu būdu susaistyti (link) atskiras bibliotekas."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMATAS"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignoruoti pagalbinį podėlio failą"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Kelias „%s“ nurodytas daugiau negu vieną kartą"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s nÄ—ra simbolinÄ— nuoroda\n"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Nepavyko susaistyti (link) %s su %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (pakeista)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (PRALEISTA)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Nepavyko rasti %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Failas %s praleistas, nes tai nÄ—ra paprastas failas"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Nepavyko atverti aplanko %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Įvedimo failas %s nerastas.\n"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 biblioteka %s ne tame aplanke"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "baigÄ—si atmintis"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: nepavyko atverti aplanko %s"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Nepavyko atverti podÄ—lio failo aplanko %s\n"
@@ -504,17 +504,17 @@ msgstr "Netaisyklinga ELFCLASS faile %s.\n"
 msgid "more than one dynamic segment\n"
 msgstr "daugiau negu vienas dinaminis segmentas\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Failas %s tuÅ¡Äias, todÄ—l netikrintas."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Failas %s per mažas, todėl netikrintas."
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s nėra ELF failas - magiškieji baitai failo pradžioje neteisingi.\n"
diff --git a/po/nb.po b/po/nb.po
index f4d5890c7f..b46b1fbc81 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.3.2\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2003-08-28 09:27+0100\n"
 "Last-Translator: Eivind Tagseth <eivindt@multinet.no>\n"
 "Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n"
@@ -114,7 +114,7 @@ msgstr ""
 "[UTFIL [INNFIL]...]"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -131,7 +131,7 @@ msgstr ""
 "TIL NOEN SPESIELL OPPGAVE.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -206,7 +206,7 @@ msgstr "ugyldig modus for dlopen()"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT brukt i kode som ikke er dynamisk lastet"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
diff --git a/po/nl.po b/po/nl.po
index 23b516d3f3..f64e6fc77e 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libc-2.37.9000\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2023-07-24 09:34+0200\n"
 "Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -159,7 +159,7 @@ msgstr ""
 "-o UITVOERBESTAND [INVOERBESTAND...]\n"
 "[UITVOERBESTAND [INVOERBESTAND...]]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -174,7 +174,7 @@ msgstr ""
 "  %s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -191,7 +191,7 @@ msgstr ""
 "VOOR EEN BEPAALD DOEL.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -402,7 +402,7 @@ msgstr "Cache-bestand heeft verkeerde endianness.\n"
 msgid "Cache generated by: "
 msgstr "Cache is gegenereerd door: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Kan cachebestand %s niet openen\n"
@@ -715,7 +715,7 @@ msgstr "kan extra geheugenbescherming niet toepassen na verplaatsing"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT is gebruikt in code die niet dynamisch geladen is"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "kan TLS-gegevensstructuren niet aanmaken"
 
@@ -731,221 +731,221 @@ msgstr "kan geen geheugen reserveren voor tabel met versieverwijzingen"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR zonder een GLIBC_ABI_DT_RELR-afhankelijkheid"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "inhoud van de cache weergeven"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "gedetailleerde uitvoer produceren"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "geen cache opbouwen"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "symbolische koppelingen niet bijwerken"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "naar deze map gaan en als hoofdmap gebruiken"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "BASISMAP"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE-BESTAND"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "dit cachebestand gebruiken"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONFIG-BESTAND"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "dit configuratiebestand gebruiken"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "alleen de mappen op de opdrachtregel verwerken; geen cache opbouwen"
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "individuele bibliotheken handmatig koppelen"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "INDELING"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "te gebruiken indeling: 'new' (standaard), 'old', of 'compat'"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "hulpcachebestand negeren"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr ""
 "  \n"
 "Configureren van de dynamische linker."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Pad '%s' is meerdere malen opgegeven"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(van %s:%d en %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Kan 'glibc-hwcaps'-pad niet vormen"
 
 # Het origineel is te vaag -- feitelijk is er een fout opgetreden tijdens readdir().
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Kan map %s niet lezen"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Kan status van %s niet opvragen"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Kan status van %s niet opvragen\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s is geen symbolische koppeling\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Kan %s niet ontkoppelen"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Kan %s niet aan %s koppelen"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (gewijzigd)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (OVERGESLAGEN)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Kan %s niet vinden"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Kan status van link %s niet opvragen"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Bestand %s wordt genegeerd omdat het geen gewoon bestand is."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr ""
 "Geen koppeling aangemaakt, want kan van %s de 'soname'\n"
 "(de naam van het gedeelde object) niet vinden"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (van %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Kan map %s niet openen"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Kan bibliotheekpad niet vormen"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Kan invoerbestand %s niet vinden\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Kan status van %s niet opvragen"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6-bibliotheek %s zit in verkeerde map"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "Bibliotheken %s en %s in map %s hebben dezelfde 'soname' maar een verschillende soort"
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Waarschuwing: ontoegankelijk configuratiebestand wordt genegeerd: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: hwcap-directief is genegeerd"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "bij gebruik van '-r' is voor het configuratiebestand een absoluut pad vereist"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "onvoldoende geheugen beschikbaar"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: kan map %s niet lezen"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "relatief pad '%s' wordt gebruikt bij opbouwen van cache"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Kan niet naar hoofdmap ('/') gaan"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Kan map %s voor cachebestand niet openen\n"
@@ -1146,27 +1146,27 @@ msgstr "%s is niet een gedeeld objectbestand (type = %d)\n"
 msgid "more than one dynamic segment\n"
 msgstr "meer dan één dynamisch segment\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Kan status van %s niet opvragen\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Bestand %s is leeg; niet gecontroleerd"
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Bestand %s is te klein; niet gecontroleerd"
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Kan bestand %s niet geheel in het geheugen plaatsen\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s is geen ELF-bestand -- het heeft de verkeerde magische bytes aan het begin\n"
diff --git a/po/pl.po b/po/pl.po
index 00005edf5c..0ba32d0cce 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-22 19:15+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -147,7 +147,7 @@ msgstr ""
 "-o PLIK-WY [PLIK-WE]...\n"
 "[PLIK-WY [PLIK-WE]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -162,7 +162,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -180,7 +180,7 @@ msgstr ""
 
 # w %s wchodzi nazwisko autora danego programu/procedury -PK
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -397,7 +397,7 @@ msgstr "Plik pamięci podręcznej ma niewłaściwą kolejność bajtów.\n"
 msgid "Cache generated by: "
 msgstr "Pamięć podręczna wygenerowana przez: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Nie można otworzyć pliku pamięci podręcznej %s\n"
@@ -708,7 +708,7 @@ msgstr "nie można nałożyć dodatkowej ochrony pamięci po relokacji"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT wystąpiło w kodzie nie ładowanym dynamicznie"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "nie można utworzyć struktur danych TLS"
 
@@ -724,216 +724,216 @@ msgstr "nie można przydzielić tablicy odniesień do wersji"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR bez zależności GLIBC_ABI_DT_RELR"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Wypisanie zawartości pamięci podręcznej"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Wyświetlanie większej liczby komunikatów"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Niebudowanie pamięci podręcznej"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Bez uaktualniania dowiązań symbolicznych"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Przejście do i używanie KATALOGU jako głównego katalogu"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "KATALOG"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "BUFOR"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Użycie BUFORA jako pliku pamięci podręcznej"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "KONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Użycie KONF jako pliku konfiguracyjnego"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Przetwarzanie wyłącznie katalogów podanych z linii poleceń; niebudowanie pamięci podręcznej."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Ręczne tworzenie dowiązań do pojedynczych bibliotek."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Używany format: new (domyślny), old lub compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignorowanie dodatkowego pliku pamięci podręcznej"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Konfiguracja powiązań dynamicznego linkera."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Ścieżka `%s' podana więcej niż raz"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(od %s:%d i %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Nie udało się uformować ścieżki glibc-hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Listowanie katalogu %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Nie można wykonać stat na %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Nie można wykonać stat na %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s nie jest dowiÄ…zaniem symbolicznym\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Nie można usunąć %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Nie można dowiązać %s do %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (zmieniono)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (POMINIĘTO)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Nie można znaleźć %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Nie można wykonać lstat na %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Zignorowano plik %s ponieważ nie jest zwykłym plikiem."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Nie utworzono dowiązania ponieważ nie znaleziono soname dla %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (od %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Nie można otworzyć katalogu %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Nie można złożyć ścieżki biblioteki"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Nie znaleziono pliku wejściowego %s.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Nie można wykonać stat na %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "biblioteka libc6 %s w złym katalogu"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "biblioteki %s i %s w katalogu %s majÄ… to samo soname ale inny rodzaj."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Uwaga: zignorowano plik konfiguracyjny, którego nie można otworzyć: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: zignorowano dyrektywÄ™ hwcap"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "opcja -r wymaga bezwzględnej ścieżki pliku konfiguracyjnego"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "pamięć wyczerpana"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: nie można odczytać %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "użyto względnej ścieżki `%s' do utworzenia pamięci podręcznej"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Nie można przejść do katalogu /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Nie można otworzyć katalogu pliku pamięci podręcznej %s\n"
@@ -1131,27 +1131,27 @@ msgstr "%s nie jest plikiem obiektu dzielonego (Typ: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "więcej niż jeden segment dynamiczny\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Nie można wykonać fstat na pliku %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Plik %s jest pusty, nie sprawdzony."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Plik %s jest za mały, nie sprawdzony."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Nie można wykonać mmap pliku %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s nie jest plikiem ELF - ma złe bajty magiczne na początku.\n"
diff --git a/po/pt.po b/po/pt.po
index 80d6f9fee6..10d79e75b6 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.33.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2021-09-24 07:28+0100\n"
 "Last-Translator: Pedro Albuquerque <pmra@protonmail.com>\n"
 "Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
@@ -148,7 +148,7 @@ msgstr ""
 "-o FICH-SAÃDA [FICH-ENTRADA]...\n"
 "[FICH-SAÃDA [FICH-ENTRADA]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -163,7 +163,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -180,7 +180,7 @@ msgstr ""
 "PARTICULAR.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -386,7 +386,7 @@ msgstr "O ficheiro de cache tem a endianness errada.\n"
 msgid "Cache generated by: "
 msgstr "Cache gerada por: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Impossível abrir ficheiro de cache %s\n"
@@ -689,7 +689,7 @@ msgstr "impossível aplicar protecção adicional de memória após relocalizaç
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT usado no código não foi carregado dinamicamente"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "impossível criar estruturas de dados TLS"
 
@@ -701,211 +701,211 @@ msgstr "erro de procura da versão"
 msgid "cannot allocate version reference table"
 msgstr "impossível alocar tabela de referência da versão"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Imprimir a cache"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Gerar mensagens verbosas"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Não construir cache"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Não actualizar ligações simbólicas"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Mudar para e usar RAIZ como pasta raiz"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "RAIZ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Usar CACHE como ficheiro de cache"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Usar CONF como ficheiro de configuração"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Processar só pastas especificadas na linha de comando. Não construir cache."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Ligar manualmente bibliotecas individuais."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Formato a usar: new (predefinição), old ou compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignorar ficheiro de cache auxiliar"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Configurar vínculos de execução do linker dinâmicos ."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Caminho \"%s\" com mais uma oportunidade"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(de %s:%d e %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Impossível formar o caminho de glibc-hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "A listar a pasta %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Impossível analisar %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Impossível analisar %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s não é ligação simbólica\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Impossível desligar %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Impossível ligar %s a %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (alterado)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (SALTADO)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Impossível encontrar %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Impossível lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Ficheiro %s ignorado por não ser um ficheiro normal."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Nenhuma ligação criada por soname não se ter encontrado para %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (de %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Impossível abrir a pasta %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Ficheiro de entrada %s não encontrado\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Impossível analisar %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "biblioteca libc6 %s na pasta errada"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "bibliotecas %s e %s na pasta %s têm o mesmo soname mas tipos diferentes."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Aviso: a ignorar ficheiro de configuração que não pode ser aberto: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: directiva hwcap ignorada"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "nome de ficheiro absoluto requerido para ficheiro de configuração se usar -r"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "memória esgotada"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: impossível ler a pasta %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "caminho relativo \"%s\" usado para construir a cache"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Impossível mudar para /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Impossível abrir a pasta do ficheiro de cache %s\n"
@@ -1103,27 +1103,27 @@ msgstr "%s não é um ficheiro de objecto partilhado (tipo: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "mais de um segmento dinâmico\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Impossível fstat %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "O ficheiro %s está vazio, não verificado."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "O ficheiro %s é muito pequeno, não verificado."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Impossível mapear o ficheiro %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s não é um ficheiro ELF - tem os bytes mágicos iniciais errados\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index d8ce424425..50384eff41 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -11,7 +11,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.33.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2021-08-26 04:41-0300\n"
 "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
@@ -153,7 +153,7 @@ msgstr ""
 "-o ARQUIVO-SAÃDA [ARQUIVO-ENTRADA]...\n"
 "[ARQUIVO-SAÃDA [ARQUIVO-ENTRADA...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -168,7 +168,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -185,7 +185,7 @@ msgstr ""
 "PROPÓSITO EME PARTICULAR.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -392,7 +392,7 @@ msgstr "O arquivo de cache tem endianismo incorreto.\n"
 msgid "Cache generated by: "
 msgstr "Cache gerado por: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Não foi possível abrir arquivo de cache %s\n"
@@ -696,7 +696,7 @@ msgstr "não foi possível aplicar proteção de memória adicional após realoc
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT usado em código não dinamicamente carregado"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "não é possível criar estruturas de dados TLS"
 
@@ -708,214 +708,214 @@ msgstr "erro na procura por versão"
 msgid "cannot allocate version reference table"
 msgstr "não foi possível alocar tabela de referência de versão"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Mostra o cache"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Gera mensagens detalhadas"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Não compila o cache"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Não atualiza links simbólicos"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Muda para e usa RAIZ como diretório raiz"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "RAIZ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Usa CACHE como arquivo de cache"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Usa CONF como arquivo de configuração"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Processa apenas diretórios especificados na linha de comando. Não compila o cache."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Vincula manualmente bibliotecas individuais."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Formato para usar: new (padrão), old ou compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignora arquivo de cache auxiliar"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Configura associações de tempo real do vinculador dinâmico."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Caminho “%s†fornecido mais de uma vez"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(de %s:%d e %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Não foi possível formar o caminho de glibc-hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Listando o diretório %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Não foi possível obter estado de %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Não foi possível obter estado de %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s não é um link simbólico\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Não foi possível desvincular %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Não foi possível vincular %s a %s"
 
 # link alterado
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (alterado)\n"
 
 # link ignorado
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (IGNORADO)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Não foi possível localizar %s"
 
 # `lstat' similar a stat(), mas para links; `stat' = obtém estado de arquivo 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Não foi possível obter estado do link %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Arquivo %s ignorado já que agora não é mais um arquivo comum."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Nenhum link foi criado porque um soname não foi encontrado para %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (de %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Não foi possível abrir o diretório %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Arquivo de entrada %s não foi localizado.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Não foi possível obter estado do arquivo %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "biblioteca libc6 %s em diretório errado"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "bibliotecas %s e %s no diretório %s têm o mesmo soname, mas tipos diferentes."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Aviso: ignorando arquivo de configuração que não pode ser aberto: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: diretiva hwcap ignorada"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "necessita de nome de arquivo absoluto para arquivo de configuração quando usado -r"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "memória esgotada"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: não foi possível ler diretório %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "caminho relativo “%s†usado para compilar o cache"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Não foi possível mudar o diretório para /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Não foi possível abrir o diretório de arquivo cache %s\n"
@@ -1115,27 +1115,27 @@ msgstr "%s não é um arquivo de objeto compartilhado (Tipo: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "mais do que um segmento dinâmico\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Não é possível obter estado do arquivo %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Arquivo %s está vazio, não verificado."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Arquivo %s é pequeno demais, não verificado."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Não foi possível executar mmap no arquivo %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s não é um arquivo ELF – ele tem os magic bytes errados no início.\n"
diff --git a/po/ro.po b/po/ro.po
index 51e1898443..ad7aaf7129 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -16,7 +16,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-22 19:05+0200\n"
 "Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -158,7 +158,7 @@ msgstr ""
 "-o FIȘIER-IEȘIRE [FIȘIER-INTRARE]...\n"
 "[FIȘIER-IEȘIRE [FIȘIER-INTRARE]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -173,7 +173,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -189,7 +189,7 @@ msgstr ""
 "garanție; nici măcar pentru COMERCIALIZARE sau POTRIVIRE PENTRU UN ANUMIT SCOP.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -412,7 +412,7 @@ msgstr "Fișierul zonei de prestocare(cache) are tipul de „endianness†greș
 msgid "Cache generated by: "
 msgstr "Zonă de prestocare(cache) generată de către: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Nu se poate deschide fișierul spațiului de prestocare(cache) %s\n"
@@ -725,7 +725,7 @@ msgstr "nu se poate aplica protecția suplimentară de memorie după realocare"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT utilizat în cod nu s-a încărcat dinamic"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "nu se pot crea structurile de date TLS"
 
@@ -741,216 +741,216 @@ msgstr "nu se poate aloca tabelul de referință al versiunii"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR fără dependență de GLIBC_ABI_DT_RELR"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Afișează zona de prestocare(cache)"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Generează mesaje detaliate"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Nu construiește zona de prestocare(cache)"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Nu actualizează legăturile simbolice"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Schimbă la ROOT și-l utilizează ca director rădăcină"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROOT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Utilizează CACHE ca fișier de zonă de prestocare(cache)"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Utilizează CONF ca fișier de configurare"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Procesează doar directoarele specificate în linia de comandă. Nu construiește zona de prestocare(cache)."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Vinculați manual biblioteci individuale."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Format de utilizat: „new†(nou) implicit, „old†(vechi) sau „compat†(compatibil)"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignoră fișierul de zonă de prestocare(cache) auxiliar"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Configurează asocierile de timp de execuție ale editorului de legături dinamic."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Ruta „%s†a fost dată de mai multe ori"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(de la %s:%d și %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Nu s-a putut forma ruta glibc-hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Listare director %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Nu se poate obține starea %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Nu se poate obține starea %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s nu este o legătură simbolică\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Nu se poate înlătura legătura %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Nu se poate face legătura între %s și %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (schimbat)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (OMIS)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Nu se poate găsi %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Nu se poate obține starea legăturii %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "S-a ignorat fișierul %s, deoarece nu este un fișier obișnuit."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Nu s-a creat nicio legătură, deoarece „soname†(biblioteca obiectului partajat) nu a fost găsită pentru %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (de la %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Nu se poate deschide directorul %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Nu s-a putut forma ruta bibliotecii"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Fișierul de intrare %s nu a fost găsit.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Nu se poate obține starea %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "biblioteca libc6 %s este într-un director greșit"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "bibliotecile %s È™i %s din directorul %s au acelaÈ™i „sonameâ€, dar tip diferit."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Avertisment: se ignoră fișierul de configurare care nu poate fi deschis: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: directiva hwcap a fost ignorată"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "este nevoie de numele absolut de fiÈ™ier pentru fiÈ™ierul de configurare atunci când se utilizează opÈ›iunea „-râ€"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "memorie epuizată"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: nu se poate citi directorul %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "ruta relativă „%s†este folosită pentru a construi spațiul de prestocare (cache)"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Nu se poate executa «chdir» la /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Nu se poate deschide directorul de fișiere de spațiu de prestocare(cache) %s\n"
@@ -1148,27 +1148,27 @@ msgstr "%s nu este un fișier obiect partajat (Tip: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "mai mult de un segment dinamic\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Nu se poate evalua de către fstat() fișierul %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Fișierul %s este gol, nu se verifică."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Fișierul %s este prea mic, nu se verifică."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Nu se poate executa mmap asupra fișierului %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s nu este un fișier ELF - are octeții magici greșiți la început.\n"
diff --git a/po/ru.po b/po/ru.po
index 09bfab19f4..39be8bcac8 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -12,7 +12,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.38.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-07 18:04+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@d07.ru>\n"
@@ -154,7 +154,7 @@ msgstr ""
 "-o ВЫХОДÐОЙ-ФÐЙЛ [ВХОДÐОЙ-ФÐЙЛ]…\n"
 "[ВЫХОДÐОЙ-ФÐЙЛ [ВХОДÐОЙ-ФÐЙЛ]…]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -169,7 +169,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -186,7 +186,7 @@ msgstr ""
 "КОММЕРЧЕСКОЙ ПРИГОДÐОСТИ или ПРИГОДÐОСТИ ДЛЯ КÐКОЙ-ЛИБО ЦЕЛИ.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -402,7 +402,7 @@ msgstr "Ð’ кÑш-файле некорректный порÑдок ÑледоÐ
 msgid "Cache generated by: "
 msgstr "КÑш Ñгенерирован: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Ðевозможно открыть кÑш-файл %s\n"
@@ -714,7 +714,7 @@ msgstr "невозможно применить дополнительную зÐ
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT иÑпользовано в не динамичеÑки загруженном коде"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "невозможно Ñоздать Ñтруктуры данных TLS"
 
@@ -730,216 +730,216 @@ msgstr "невозможно выделить памÑÑ‚ÑŒ под таблицу
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR без завиÑимоÑти GLIBC_ABI_DT_RELR"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Ðапечатать кÑш"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Генерировать подробные ÑообщениÑ"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Ðе Ñтроить кÑш"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Ðе обновлÑÑ‚ÑŒ Ñимвольные ÑÑылки"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Перейти в КОРЕÐЬ и иÑпользовать его как корневой каталог"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "КОРЕÐЬ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "КЭШ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "ИÑпользовать КЭШ в качеÑтве кÑш-файла"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "КОÐФИГУРÐЦИЯ"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "ИÑпользовать КОÐФИГУРÐЦИЯ в качеÑтве конфигурационного файла"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Обработать только каталоги, указанные в командной Ñтроке.  Ðе Ñтроить кÑш."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Вручную Ñкомпоновать отдельные библиотеки."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "ИÑпользуемый формат: new (по умолчанию), old или compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Игнорирование вÑпомогательного файла кÑша"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "ÐаÑтраивает ÑвÑзи времени Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸Ñ‡ÐµÑкого компоновщика."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Путь «%s» задан неÑколько раз"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(из %s:%d и %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Ðе удалоÑÑŒ Ñформировать путь glibc-hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "ПроÑмотр каталога %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Ðевозможно выполнить stat %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Ðевозможно выполнить stat %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s не ÑвлÑетÑÑ Ñимвольной ÑÑылкой\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Ðевозможно удалить ÑÑылку %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Ðевозможно Ñоздать ÑÑылку Ñ %s на %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (изменено)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (ПРОПУЩЕÐО)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Ðевозможно найти %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Ðевозможно выполнить lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Файл %s проигнорирован, поÑкольку не ÑвлÑетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ файлом"
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "СÑылка не Ñоздана, поÑкольку Ð´Ð»Ñ %s не было найдено soname"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (из %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Ðевозможно открыть каталог %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Ðе удалоÑÑŒ ÑконÑтруировать путь библиотеки"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Входной файл %s не найден.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Ðевозможно выполнить stat %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6-библиотека %s в неправильном каталоге"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "библиотеки %s и %s в каталоге %s имеют одинаковый soname, но разные типы."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Предупреждение: файл наÑтройки игнорируетÑÑ, так как не может быть открыт: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: директива hwcap игнорируетÑÑ"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "при иÑпользовании -r необходимо задавать абÑолютное Ð¸Ð¼Ñ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ файла"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "памÑÑ‚ÑŒ иÑчерпана"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: невозможно прочитать каталог %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ ÐºÑша иÑпользован отноÑительный путь «%s»"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Ðевозможно перейти в каталог /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Ðевозможно открыть каталог кÑш-файла %s\n"
@@ -1137,27 +1137,27 @@ msgstr "%s не ÑвлÑетÑÑ Ñ€Ð°Ð·Ð´ÐµÐ»Ñемым объектным фаÐ
 msgid "more than one dynamic segment\n"
 msgstr "более одного динамичеÑких Ñегментов\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Ðевозможно выполнить fstat Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Файл %s пуÑÑ‚; не был проверен."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Файл %s Ñлишком мал; не был проверен."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Ðевозможно отобразить в памÑÑ‚ÑŒ файл %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s не ÑвлÑетÑÑ Ñ„Ð°Ð¹Ð»Ð¾Ð¼ в формате ELF — Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñигнатура в начале.\n"
diff --git a/po/rw.po b/po/rw.po
index 19d3839208..2b9ff3722f 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -14,7 +14,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.3\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2005-04-04 10:55-0700\n"
 "Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
 "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
diff --git a/po/sk.po b/po/sk.po
index 89472b5444..6d35519009 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.3.3\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2004-08-05 22:19+0200\n"
 "Last-Translator: Marcel Telka <marcel@telka.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -125,7 +125,7 @@ msgstr ""
 "[VÃSTUPNÃ_SÚBOR [VSTUPNÃ_SÚBOR]...]"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -142,7 +142,7 @@ msgstr ""
 "NA KONKRÉTNY ÚČEL.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -266,7 +266,7 @@ msgstr "neprípustná veľkostť ukazovateľa"
 msgid "unsupported dlinfo request"
 msgstr "nepodporovaná žiadosť dlinfo"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Nie je možné otvoriť cache súbor %s\n"
@@ -484,7 +484,7 @@ msgstr "nie je možné obnoviť segment prot po reloc"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT je použité pre kód, ktorý nie je dynamicky zavedený"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "nie je možné dátové štruktúry TLS"
 
@@ -492,143 +492,143 @@ msgstr "nie je možné dátové štruktúry TLS"
 msgid "cannot allocate version reference table"
 msgstr "nie je možné prideliÅ¥ pamäť pre referenÄnú tabuľku verzií"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Vypísať cache"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Vypísovať podrobnejšie správy"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Nevytvoriť cache"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Zmeniť adresár na ROOT a použiť ho ako koreňový adresár"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Použiť CACHE ako cache súbor"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "PoužiÅ¥ CONF ako konfiguraÄný súbor"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Na príkazovom riadku sú zadané iba adresáre procesov. Nevytvárať cache."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "RuÄne linkovaÅ¥ jednotlivé knižnice."
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Konfigurácia runtime väzieb dynamického linkera."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Cesta `%s' bola zadaná viac ako raz"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Zlyhal stat %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Zlyhal stat %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s nie je symbolický odkaz\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Nie je možné odstrániť %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Nie je možné vytvoriť odkaz %s na %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (zmenené)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (VYNECHANÉ)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Nie je možné nájsť %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Zlyhal lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Súbor %s ignorovaný, keÄže nie je regulérnym súborom."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Odkaz nebol vytvorený, keÄže pre %s nebolo možné nájsÅ¥ soname"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Nie je možné otvoriť adresár %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Vstupný súbor %s nebol nájdený.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Zlyhal stat %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 knižnica %s je v nesprávnom adresári"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "knižnice %s a %s v adresári %s majú rovnaké soname, ale odlišný typ."
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "nedostatok pamäti"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "relatívna cesta `%s' použitá na vytvorenie cache"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Nie je možné zmeniť adresár na /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Nie je možné otvoriť adresár cache súboru %s\n"
@@ -674,22 +674,22 @@ msgstr "%s nie je zdieľaný objektový súbor (Typ: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "viac ako jeden dynamický segment\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Nie je možné vykonať fstat() súboru %s.\n"
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Súbor %s je príliš krátky, neskontrolovaný."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Nie je možné mmap-ovať súbor %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s nie je ELF súbor - na zaÄiatku obsahujé chybné magické bajty.\n"
diff --git a/po/sl.po b/po/sl.po
index 4c71f4e0ca..eee7114006 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.22-pre1\n"
 "Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2016-01-04 23:59+0100\n"
 "Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -137,7 +137,7 @@ msgstr ""
 "-o IZHODNA_DATOTEKA [VHODNA_DATOTEKA]...\n"
 "[IZHODNA_DATOTEKA [VHODNA_DATOTEKA]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -152,7 +152,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -169,7 +169,7 @@ msgstr ""
 "niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA RABO.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -365,7 +365,7 @@ msgstr "napaÄna zaÅ¡Äita"
 msgid "invalid mode parameter"
 msgstr "napaÄen parameter zaÅ¡Äita"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Ni mogoÄe odpreti predpomnilniÅ¡ke datoteke %s\n"
@@ -636,7 +636,7 @@ msgstr "dodatne zaÅ¡Äite pomnilnika po premiku ni mogoÄe uporabiti"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT uporabljen v kodi se ni dinamiÄno naložil"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "podatkovnih struktur TLS ni mogoÄe ustvariti"
 
@@ -648,151 +648,151 @@ msgstr "napaka pri vpogledu v razliÄico"
 msgid "cannot allocate version reference table"
 msgstr "ni mogoÄe dodeliti tabele sklicev razliÄic"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Izpiši vsebino predpomnilnika"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Ustvarjaj obÅ¡irna sporoÄila"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Ne gradi predpomnilnika"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Spremeni delovni imenik v KOREN in ga uporabi kot korenski imenik"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "KOREN"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "PREDPOMNILNIK"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Uporabi PREDPOMNILNIK kot predpomnilniško datoteko"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "KONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Uporabi KONF kot nastavitveno datoteko"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Obdelaj le imenike, doloÄene v ukazni vrstici. Ne gradi predpomnilnika."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "RoÄno poveži posamiÄne knjižnice."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "OBLIKA"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ne upoštevaj nadomestne predpomnilniške datoteke"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Nastavi izvajalne povezave dinamiÄnega povezovalnika."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Pot »%s« je podana veÄ kot enkrat"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Statusa %s ni moÄ ugotoviti"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Statusa %s ni moÄ ugotoviti\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s ni simbolna povezava\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Ni mogoÄe odstraniti povezave %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Ni mogoÄe ustvariti povezave %s na %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (zamenjano)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (PRESKOÄŒENO)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Neuspelo iskanje %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Ni mogoÄe izvesti lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Datoteka %s ni bila upoštevana, ker ni navadna datoteka."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Povezava ni bila ustvarjena, ker ni bilo moÄ najti soname za %s"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Ni mogoÄe odpreti imenika %s"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Vhodne datoteke %s ni moÄ najti.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Statusa %s ni moÄ ugotoviti"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "knjižnica libc6 %s v napaÄnem imeniku"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "knjižnici %s in %s v imeniku %s imata isti soname, a sta razliÄnega tipa."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Opozorilo: nastavitvene datoteke ni mogoÄe prebrati in se je ne upoÅ¡teva: %s"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "ob izbiri -r je potrebo absolutno ime za nastavitveno datoteko"
@@ -803,29 +803,29 @@ msgstr "ob izbiri -r je potrebo absolutno ime za nastavitveno datoteko"
 # ! INEXACT
 # #-#-#-#-#  gettext-tools-0.18.3.sl.po (GNU gettext-tools 0.18.3)  #-#-#-#-#
 #  Morda ,,Zmanjkalo pomnilnika''?
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "pomnilnik porabljen"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: imenika %s ni mogoÄe prebrati"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "relativna pot »%s« uporabljena za izgradnjo predpomnilnika"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Sprememba imenika na / ni mogoÄa"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Ni mogoÄe odpreti imenika %s s predpomnilniÅ¡ko datoteko\n"
@@ -1018,27 +1018,27 @@ msgstr "%s ni deljena predmetna datoteka (tip: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "veÄ kot en dinamiÄni segment\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "fstat() na datoteki %s ni mogoÄe izvesti.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Datoteka %s je prazna, brez preverjanja."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Datoteka %s je premajhna, brez preverjanja."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "mmap() na datoteki %s ni mogoÄe izvesti.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s ni datoteka ELF - magiÄno zaporedje bajtov na zaÄetku je napaÄno.\n"
diff --git a/po/sr.po b/po/sr.po
index 44fcb40287..42a588ca87 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.38.9000\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-01-21 08:35+0100\n"
 "Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
@@ -148,7 +148,7 @@ msgstr ""
 "-o ИЗЛÐЗÐÐ-ДÐТОТЕКР[УЛÐЗÐÐ-ДÐТОТЕКÐ]...\n"
 "[ИЗЛÐЗÐÐ-ДÐТОТЕКР[УЛÐЗÐÐ-ДÐТОТЕКÐ]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -163,7 +163,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -179,7 +179,7 @@ msgstr ""
 "ÐИКÐКВРгаранција; чак ни о ТРЖИШÐОЈ ВРЕДÐОСТИ или ПРИЛÐГОЂЕÐОСТИ ОДРЕЂЕÐОЈ ÐÐМЕÐИ.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -395,7 +395,7 @@ msgstr "Датотека оÑтаве има погрешну крајноÑÑ‚.\
 msgid "Cache generated by: "
 msgstr "ОÑтаву је Ñтворио:"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Ðе могу да отворим датотеку оÑтаве „%s“\n"
@@ -706,7 +706,7 @@ msgstr "не могу да применим додатну заштиту мем
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "„RTLD_NEXT“ коришћено у коду није динамички учитано"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "не могу да направим Ñтруктуре ТЛС података"
 
@@ -722,216 +722,216 @@ msgstr "не могу да доделим табелу упуте издања"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "„DT_RELR“ без „GLIBC_ABI_DT_RELR“ завиÑноÑти"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "ИÑпиÑује оÑтаву"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Ствара опширне поруке"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Ðе гради оÑтаву"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Ðе оÑвежава Ñимболичке везе"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Прелази у и кориÑти КОРЕÐИ као корени директоријум"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "КОРЕÐИ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "ОСТÐÐ’Ð"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "КориÑти ОСТÐВУ као датотеку оÑтаве"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "ПОДЕШÐÐ’ÐЊÐ"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "КориÑти ПОДЕШÐÐ’ÐЊРкао датотеку подешавања"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Само обрађује директоријуме наведене на линији наредби.  Ðе гради оÑтаву."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Ручно Ñвезује појединачне библиотеке."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "ФОРМÐТ"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Формат за коришћење: „new“ (оÑновно), „old“, или „compat“"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Занемарује помоћну датотеку оÑтаве"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Подешава Ñвезивања времена извршења динамичког везача."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Путања „%s“ је дата више пута"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(од %s:%d и %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Ðе могу да формирам „glibc-hwcaps“ путању"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "ИÑпиÑујем директоријум „%s“"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Ðе могу да добавим податке за „%s“"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Ðе могу да добавим податке за „%s“\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "„%s“ није Ñимболичка веза\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Ðе могу да развежем „%s“"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Ðе могу да повежем „%s“ Ñа „%s“"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (измењено)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (ПРЕСКОЧЕÐО)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Ðе могу да нађем „%s“"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Ðе могу да извршим „lstat“ за „%s“"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Датотека „%s“ је занемарена јер није обична датотека."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Ðије направљена ниједна веза јер не могу да нађем „soname“ за „%s“"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (од %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Ðе могу да отворим директоријум „%s“"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Ðе могу да направим путању библиотеке"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "ÐиÑам нашао улазну датотеку „%s“.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Ðе могу да добавим податке за „%s“"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "„libc6“ библиотека „%s“ је у погрешном директоријуму"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "библиотека „%s“ и „%s“ у директоријуму „%s“ имају иÑти „soname“ али различите врÑте."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Упозорење: занемарујем датотеку подешавања која Ñе не може отворити: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: „hwcap“ директива је занемарена"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "потребан је апÑолутни назив датотеке за датотеку подешавања када Ñе кориÑти „-r“"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "меморија је потрошена"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: не могу да читам директоријум „%s“"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "релативна путања „%s“ је коришћена за градњу оÑтаве"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Ðе могу да Ñе пребацим у директоријум /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Ðе могу да отворим директоријум датотеке оÑтаве „%s“\n"
@@ -1129,27 +1129,27 @@ msgstr "„%s“ није датотека дељеног објекта (Ð’Ñ€Ñ
 msgid "more than one dynamic segment\n"
 msgstr "више од једног динамичког одломка\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Ðе могу да добијем податке о датотеци „%s“.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Датотека „%s“ је празна, није проверена."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Датотека „%s“ је премала, није проверена."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Ðе могу да м-мапирам датотеку „%s“.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "„%s“ није ЕЛФ датотека – има погрешне магичне бајтове на почетку.\n"
diff --git a/po/sv.po b/po/sv.po
index aec074fbea..66bca84762 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-23 09:41+0200\n"
 "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -151,7 +151,7 @@ msgstr ""
 "-o UTFIL [INFIL]...\n"
 "[UTFIL [INFIL]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -167,7 +167,7 @@ msgstr ""
 "Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -184,7 +184,7 @@ msgstr ""
 "ÄNDAMÅL.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -399,7 +399,7 @@ msgstr "Cache-filen har fel byteordning.\n"
 msgid "Cache generated by: "
 msgstr "Cachen genererad av: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Kan inte öppna cache-filen %s\n"
@@ -712,7 +712,7 @@ msgstr "kan inte applicera extra minnesskydd efter relokering"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT används i kod som inte är dynamiskt laddad"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "kan inte skapa datastrukturer för TLS"
 
@@ -728,216 +728,216 @@ msgstr "kan inte allokera tabell för versionsreferenser"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR utan beroandet GLIBC_ABI_DT_RELR"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Visa cache"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Använd utförligare meddelanden"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Bygg inte cache"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Uppdatera inte symboliska länkar"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Byt till och använd ROT som rotkatalog"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Använd CACHE som cache-fil"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Använd CONF som konfigurationsfil"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Behandla endast kataloger givna som argument.  Bygg inte cache."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Länka enskilda bibliotek manuellt."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Format att använda: new (standard), old eller compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ignorera hjälpcachefilen"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Konfigurera bindningar för den dynamiska länkaren."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "Sökväg \"%s\" given mer än en gång"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(från %s:%d och %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Kunde inte forma glibc-hwcaps-sökväg"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Listar katalogen %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Kan inte ta status på %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Kan inte ta status på %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s är inte en symbolisk länk\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Kan inte ta bort (unlink) %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Kan inte länka %s till %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (ändrad)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (HOPPAR ÖVER)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Kan inte hitta %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Kan inte ta status (lstat) på %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Ignorerar fil %s eftersom den inte är en vanlig fil."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Ingen länk skapad eftersom \"soname\" inte hittades för %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (från %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Kan inte öppna katalog %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Kunde inte forma bibliotekssökvägen"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Hittar inte infil %s.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Kan inte ta status på %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6-bibliotek %s i fel katalog"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "bibliotek %s och %s i katalog %s har samma \"soname\" men olika typ."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Varning: ignorerar konfigurationsfil som inte kan öppnas: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: hwcap-direktivet ignorerades"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "behöver absolut filnamn för konfigurationsfil när -r används"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "minne slut"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: kan inte läsa katalog %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "relativ sökväg \"%s\" använd för att bygga cache"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Kan inte byta katalog till /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Kan inte läsa cache-filkatalog \"%s\"\n"
@@ -1135,27 +1135,27 @@ msgstr "%s är inte en delad objektfil (typ: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "fler än ett dynamiskt segment\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Kan inte ta status (fstat) på fil %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Fil %s är tom, inte kontrollerad."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Fil %s är för liten, inte kontrollerad."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Kan inte minnesmappa (mmap) fil %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s är inte en ELF-fil — den har inte rätt magiska byte i början.\n"
diff --git a/po/tr.po b/po/tr.po
index 6fb78eb2ec..86e0207713 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -8,7 +8,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.33.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2021-07-29 13:23+0300\n"
 "Last-Translator: Mehmet Kececi <mkececi@mehmetkececi.com>\n"
 "Language-Team: Turkish <gnome-turk@gnome.org>\n"
@@ -150,7 +150,7 @@ msgstr ""
 "-o ÇIKTI-DOSYASI [GİRDİ-DOSYASI]...\n"
 "[ÇIKTI-DOSYASI [GİRDİ-DOSYASI]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -165,7 +165,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -182,7 +182,7 @@ msgstr ""
 "UYGUNLUĞU için bile garanti verilmez.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -390,7 +390,7 @@ msgstr "Önbellek dosyası yanlış sonsuzluğa sahip.\n"
 msgid "Cache generated by: "
 msgstr "Önbellek tarafından oluşturulan: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Arabellek dosyası %s açılamıyor\n"
@@ -693,7 +693,7 @@ msgstr "yeniden ayırma işleminden sonra ek bellek koruması uygulanamaz"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT kullanılan kod dinamik olarak yüklenmedi"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "veri yapıları TLS oluşturulamıyor"
 
@@ -705,211 +705,211 @@ msgstr "sürüm arama hatası"
 msgid "cannot allocate version reference table"
 msgstr "sürüm başvuru tablosu ayrılamadı"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "Yazıcı ön belleği"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Çok detaylı iletiler üretilir"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Arabellek oluşturulamıyor"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Sembolik bağlantıları güncellemeyin"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Dizine geçilir ve kök dizin olarak ROOT kullanır"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "KÖK"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "ARABELLEK"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Arabellek dosyası olarak ARABELLEK kullanılır"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "YAPL"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Yapılandırma dosyası olarak YAPD kullanılır"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Komut satırında sadece süreç dizinleri belirtilmiş. Önbellek oluşturulamadı."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Her bir kitaplığı kendiniz bağlayın."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "BİÇİM"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Kullanılacak biçim: yeni (varsayılan), eski, veya compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Yardımcı arabellek dosyası yoksayılır"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Dinamik Bağlayıcının İcra Zamanı Bağıntılarını Yapılandırır."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "`%s' dosya yolu birden fazla verilmiÅŸ"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(%s:%d itibaren ve %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Glibc-hwcaps yolu oluşturulamadı"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Listeleme dizini %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Stat %s yapılamıyor"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Stat %s yapılamıyor\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s bir sembolik baÄŸ deÄŸil\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "%s bağı kaldırılamadı"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "%s den %s'e bağ yapılamıyor"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (deÄŸiÅŸti)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (ATLANDI)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "%s bulunamıyor"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Lstat %s yapılamıyor"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Normal bir dosya olmadığından %s dosyası yoksayıldı."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "%s için kitaplık ismi bulunamadığından bağ oluşturulmadı"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (%s:%d itibaren)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "%s dizini açılamıyor"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Girdi dosyası %s bulunamadı.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Stat %s yapılamıyor"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 kitaplığı %s yanlış dizinde"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "%s ve %s kitaplıkları %s dizininde ve aynı isme sahip oldukları halde farklı türde."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Uyarı: açılmayan yapılandırma dosyası yok sayılıyor: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: hwcap yönergesi göz ardı edildi"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "-r kullanılırken yapılandırma dosyası için soyut dosya ismi gerekir"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "bellek tükendi"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: %s dizini okunamıyor"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "arabelleğin oluşturulduğu göreli yol `%s'"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Dizin chdir'e geçilemiyor /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Arabellek dosyasının dizini %s açılamıyor\n"
@@ -1108,27 +1108,27 @@ msgstr "%s paylaşımlı nesne dosyası değil (Tür: %d).\n"
 msgid "more than one dynamic segment\n"
 msgstr "bir dinamik parçadan fazla\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "%s dosyası fstat yapılamıyor.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "%s dosyası boş olduğundan denetlenemiyor."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "%s dosyası çok küçük, kontrol edilemedi."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "%s dosyası mmap yapılamıyor.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s bir ELF dosyası değil - Başlangıcındaki dosya tanımı hatalı.\n"
diff --git a/po/uk.po b/po/uk.po
index 2674424aea..08fafc1bae 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-22 18:34+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@@ -149,7 +149,7 @@ msgstr ""
 "-o ФÐЙЛ-ВИВЕДЕÐÐЯ [ФÐЙЛ-ВХІДÐИХ-ДÐÐИХ]...\n"
 "[ФÐЙЛ-ВИВЕДЕÐÐЯ [ФÐЙЛ-ВХІДÐИХ-ДÐÐИХ]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -164,7 +164,7 @@ msgstr ""
 "%s.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -179,7 +179,7 @@ msgstr ""
 "Це програмне Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ñ” вільним, умови ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ»Ð°Ð´ÐµÐ½Ð¾ у його початкових кодах. Умовами Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ ÐЕ передбачено жодних гарантій, зокрема гарантій працездатноÑÑ‚Ñ– або придатноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿ÐµÐ²Ð½Ð¾Ñ— мети.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -395,7 +395,7 @@ msgstr "ПорÑдок байтів у файлі кешу Ñ” помилкови
 msgid "Cache generated by: "
 msgstr "ЗаÑіб ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐµÑˆÑƒ:"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл кешу %s\n"
@@ -706,7 +706,7 @@ msgstr "не вдалоÑÑ Ð·Ð°ÑтоÑувати додатковий захи
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "ВикориÑтаний у коді Ñимвол RTLD_NEXT не завантажуєтьÑÑ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "не вдалоÑÑ Ñтворити Ñтруктури даних TLS"
 
@@ -722,216 +722,216 @@ msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити таблицю поÑилань
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR без залежноÑÑ‚Ñ– від GLIBC_ABI_DT_RELR"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "ВивеÑти кеш"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Режим докладних повідомлень"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Ðе збирати кеш"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Ðе оновлювати Ñимволічні поÑиланнÑ"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Перейти до каталогу КОРІÐЬ Ñ– викориÑтовувати його Ñк кореневий"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "КОРІÐЬ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "КЕШ"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "ВикориÑтовувати КЕШ Ñк файл кешу"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "КОÐФ"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "ВикориÑтовувати КОÐФ Ñк файл налаштувань"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "ОброблÑти лише каталоги, вказані у командному Ñ€Ñдку. Ðе будувати кеш."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Під’єднати окремі бібліотеки вручну."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "ФОРМÐТ"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Формат, Ñким Ñлід ÑкориÑтатиÑÑ: new (типовий), old або compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "Ігнорувати допоміжний файл кешу"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Ðалаштувати прив’Ñзки динамічного компонувальника під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "ШлÑÑ… «%s» вказано декілька разів"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(від %s:%d і %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Ðе вдалоÑÑ Ñформувати шлÑÑ… glibc-hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "Будуємо ÑпиÑок каталогу %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑтатиÑтичні дані щодо %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑтатиÑтичні дані щодо %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s не Ñ” Ñимволічним поÑиланнÑм\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Ðе вдалоÑÑ Ð¿Ñ–Ð´â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ %s до %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (змінено)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (ПРОПУЩЕÐО)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Ðе вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Файл %s проігноровано, оÑкільки він не Ñ” звичайним файлом."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Зв’Ñзку не Ñтворено, оÑкільки не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ бібліотеку so Ð´Ð»Ñ %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (від %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ каталог %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Ðе вдалоÑÑ Ñформувати шлÑÑ… до бібліотеки"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Файл вхідних даних %s не знайдено.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ÑтатиÑтичні дані щодо %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "Бібліотека libc6 %s зберігаєтьÑÑ Ñƒ помилковому каталозі"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "бібліотеки %s і %s у каталозі %s мають однакові назви so, але належать до різних типів."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "ПопередженнÑ: ігноруємо файл налаштувань, Ñкий не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: інÑтрукцію hwcap проігноровано"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "Ñкщо викориÑтано -r, Ñлід вказати абÑолютну назву файла Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° налаштувань"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "пам’ÑÑ‚ÑŒ вичерпано"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ каталог %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "відноÑний шлÑÑ… «%s» викориÑтано Ð´Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ ÐºÐµÑˆÑƒ"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ каталог на /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ каталог файлів кешу %s\n"
@@ -1129,27 +1129,27 @@ msgstr "%s не Ñ” файлом об’єктів Ñпільного викорÐ
 msgid "more than one dynamic segment\n"
 msgstr "більш ніж один динамічний Ñегмент\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Ðе вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ за допомогою fstat файл %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Файл %s є порожнім, не перевірено."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Файл %s є надто малим, не перевірено."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Ðе вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ mmap Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s не Ñ” файлом ELF. ВиÑвлено помилкові магічні байти на початку файла.\n"
diff --git a/po/vi.po b/po/vi.po
index 99e34651ec..f10408b75b 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.37.9000\n"
 "Report-Msgid-Bugs-To: http://www.gnu.org/software/libc/bugs.html\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2023-07-22 10:02+0700\n"
 "Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -153,7 +153,7 @@ msgstr ""
 "-o TẬP-TIN-ÄẦU-RA [TẬP-TIN-ÄẦU-VÀO]…\n"
 "[TẬP-TIN-ÄẦU-RA [TẬP-TIN-ÄẦU-VÀO]…]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -169,7 +169,7 @@ msgstr ""
 "Thông báo lỗi dịch cho: <https://translationproject.org/team/vi.html>.\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -185,7 +185,7 @@ msgstr ""
 "KHÔNG CÓ BẢO HÀNH GÃŒ CẢ; NGAY CẢ KHI NÓ ÄƯỢC BÃN HAY THÃCH HỢP CHO MỤC ÄÃCH Cà NHÂN.\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -396,7 +396,7 @@ msgstr "Tập tin nhớ đêm sai endianness.\n"
 msgid "Cache generated by: "
 msgstr "Bộ nhớ tạm được tạo bởi: "
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Không thể mở tập tin nhớ tạm %s\n"
@@ -707,7 +707,7 @@ msgstr "không thể áp dụng sự bảo vệ bộ nhớ thêm sau khi tái đ
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT được dùng trong mã không phải được nạp động"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "không thể tạo các cấu trúc dữ liệu TLS"
 
@@ -723,216 +723,216 @@ msgstr "không thể cấp phát bảng tham chiếu phiên bản"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR không phụ thuộc GLIBC_ABI_DT_RELR"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "In bộ nhớ đệm"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "Tạo thông tin chi tiết"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "Äừng xây dá»±ng bá»™ nhá»› tạm"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "Äừng cập nhật các liên kết má»m"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "Chuyển đổi và dùng Gá»C làm thÆ° mục gốc"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "Gá»C"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "NHỚ_ÄỆM"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "Dùng cái này làm TẬP-TIN nhớ đệm"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CẤU_HÌNH"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "Dùng CẤU_HÌNH làm tập tin cấu hình"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Chỉ xá»­ lý các thÆ° mục được chỉ ra trên dòng lệnh. Äừng xây dá»±ng bá»™ nhá»› tạm."
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "Liên kết bằng tay các thư viện riêng."
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "ÄỊNH_DẠNG"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "Äịnh dạng cần dùng: new (mặc định), old, compat (má»›i,cÅ©,tÆ°Æ¡ng thích)"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "BỠqua tập tin nhớ tạm bổ trợ"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Cấu hình ràng buộc liên kết động khi chạy."
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "ÄÆ°á»ng dẫn “%s†được Ä‘Æ°a ra nhiá»u lần"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(từ %s:%d và %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "Không thể tạo thành Ä‘Æ°á»ng dẫn glibc-hwcaps"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "ThÆ° mục liệt kê “%sâ€"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "Không thể lấy thống kê vỠ%s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "Không thể lấy thống kê vỠ%s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s không phải là má»™t liên kết má»m\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "Không thể bỠliên kết %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "Không thể liên kết %s tới %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (đã thay đổi)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (BỊ BỎ QUA)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "Không tìm thấy %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "Không thể lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Äã bá» qua tập tin %s vì nó không phải là tập tin thông thÆ°á»ng."
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "Chưa tạo liên kết vì không tìm thấy soname đối với %s"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (từ %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "Không thể mở thư mục %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "Không thể tạo Ä‘Æ°á»ng dẫn thÆ° viện"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Không tìm thấy tập tin đầu vào %s.\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "Không thể lấy trạng thái vỠ%s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "thư viện libc6 %s nằm trong thư mục không đúng"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "thư viện %s và %s trong thư mục %s có cùng một soname còn có kiểu khác nhau."
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "Cảnh báo: đang bỠqua tập tin cấu hình, cái mà đã không thể mở được: %s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: chỉ thị hwcap bị bỠqua"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "dùng tùy chá»n “-r†thì cÅ©ng cần tên tập tin tuyệt đối cho tập tin cấu hình"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "hết bộ nhớ"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: không thể Ä‘á»c thÆ° mục %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "Ä‘Æ°á»ng dẫn tÆ°Æ¡ng đối “%s†được dùng để xây dá»±ng bá»™ nhá»› tạm"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "Không thể chuyển đổi thư mục (chdir) sang /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Không thể mở thư mục nhớ tạm %s\n"
@@ -1130,27 +1130,27 @@ msgstr "%s không phải là tập tin đối tượng dùng chung (Kiểu: %d).
 msgid "more than one dynamic segment\n"
 msgstr "nhiá»u hÆ¡n má»™t Ä‘oạn Ä‘á»™ng\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "Không thể lấy thống kê tập tin %s.\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "Tập tin %s là trống nên không được kiểm tra."
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "Tập tin %s quá nhỠnên không được kiểm tra."
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "Không thể mmap tập tin %s.\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s không phải là tập tin ELF — có những byte ma thuật không đúng tại khởi đầu của nó.\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 0d9f5bbc24..1f7dab0be9 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -15,7 +15,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.39.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2024-06-22 21:14+0800\n"
 "Last-Translator: Wenbin Lv <wenbin816@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -157,7 +157,7 @@ msgstr ""
 "-o 输出文件 [输入文件]...\n"
 "[输出文件 [输入文件]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -172,7 +172,7 @@ msgstr ""
 "%s。\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -188,7 +188,7 @@ msgstr ""
 "å“è´¨ä¿è¯ï¼›ç”šè‡³ä¸ä¿è¯é€‚销性或是适用于æŸç§ç‰¹å®šç”¨é€”。\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -403,7 +403,7 @@ msgstr "缓存文件使用了错误的字节顺åºã€‚\n"
 msgid "Cache generated by: "
 msgstr "缓存生æˆè€…:"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "无法打开缓存文件 %s\n"
@@ -715,7 +715,7 @@ msgstr "无法在é‡å®šä½åŽåº”用é¢å¤–的内存ä¿æŠ¤"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "代ç æ‰€ä½¿ç”¨çš„ RTLD_NEXT 没有动æ€åŠ è½½"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "无法创建 TLS æ•°æ®ç»“æž„"
 
@@ -731,216 +731,216 @@ msgstr "无法分é…版本引用表格"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR 没有 GLIBC_ABI_DT_RELR ä¾èµ–"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "打å°ç¼“å­˜"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "生æˆè¯¦ç»†æ¶ˆæ¯"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "ä¸è¦åˆ›å»ºç¼“å­˜"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "ä¸è¦æ›´æ–°ç¬¦å·é“¾æŽ¥"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "进入 <根> 目录并将其作为根目录"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "æ ¹"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "缓存"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "将 <缓存> 用作缓存文件"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "é…ç½®"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "å°† <é…ç½®> 用作é…置文件"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "åªå¤„ç†å‘½ä»¤è¡Œä¸­æŒ‡å®šçš„目录。ä¸è¦åˆ›å»ºç¼“存。"
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "手动链接å„个库。"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "æ ¼å¼"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "使用的格å¼ï¼šnew(默认)ã€old 或 compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "忽略辅助缓存文件"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "é…置动æ€é“¾æŽ¥å™¨çš„è¿è¡Œæ—¶çš„绑定。"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "多次给出路径 \"%s\""
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(æ¥è‡ª %s:%d å’Œ %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "æ— æ³•å½¢æˆ glibc-hwcaps 路径"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "正在列出目录 %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "无法对 %s 进行 stat æ“作"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "无法对 %s 进行 stat æ“作\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s ä¸æ˜¯ç¬¦å·é“¾æŽ¥\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "无法å–消链接 %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "无法将 %s 链接到 %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr "(已改å˜ï¼‰\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr "(已跳过)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "无法找到 %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "无法对 %s 进行 lstat æ“作"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "忽略文件 %s,因为它ä¸æ˜¯ä¸€ä¸ªæ™®é€šæ–‡ä»¶ã€‚"
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "未创建链接,因为 %s 无法找到 soname"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr "(æ¥è‡ª %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "无法打开目录 %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "无法形æˆåº“路径"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "未找到输入文件 %s。\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "无法对 %s 进行 stat æ“作"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 的库 %s 处于错误的目录中"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "目录 %3$s 中的库 %1$s å’Œ %2$s çš„ soname 相åŒä½†ç±»åž‹ä¸åŒã€‚"
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "警告:已忽略无法打开的é…置文件:%s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: hwcap 指令已忽略"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "使用 -r 时,é…置文件的文件å需è¦ä½¿ç”¨ç»å¯¹è·¯å¾„"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: 无法读å–目录 %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "用æ¥æž„建缓存的路径 \"%s\" 是相对路径"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "无法改å˜ç›®å½•åˆ° /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "无法打开缓存文件目录 %s\n"
@@ -1139,27 +1139,27 @@ msgstr "%s ä¸æ˜¯å…±äº«ç›®æ ‡æ–‡ä»¶ï¼ˆç±»åž‹ï¼š%d)。\n"
 msgid "more than one dynamic segment\n"
 msgstr "多于一个动æ€æ®µ\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "无法对文件 %s 进行 fstat æ“作。\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "文件 %s 为空,未检查。"
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "文件 %s 过å°ï¼Œæœªæ£€æŸ¥ã€‚"
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "无法对文件 %s 进行 mmap æ“作。\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s ä¸æ˜¯ ELF 文件 - 起始处的魔数有误。\n"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 415d635103..d1d2b503d5 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -16,7 +16,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.37.9000\n"
-"POT-Creation-Date: 2024-06-19 22:30+0200\n"
+"POT-Creation-Date: 2024-07-21 00:32+0200\n"
 "PO-Revision-Date: 2023-07-18 23:05+0800\n"
 "Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@lists.linux.org.tw>\n"
@@ -158,7 +158,7 @@ msgstr ""
 "-o 輸出檔案å稱 [輸入檔案å稱]...\n"
 "[輸出檔案å稱 [輸入檔案å稱]...]"
 
-#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:216
+#: catgets/gencat.c:230 debug/pcprofiledump.c:208 elf/ldconfig.c:217
 #: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:371 iconv/iconv_prog.c:387
 #: iconv/iconvconfig.c:380 locale/programs/locale.c:275
 #: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
@@ -173,7 +173,7 @@ msgstr ""
 "%s。\n"
 
 #: catgets/gencat.c:246 debug/pcprofiledump.c:224 debug/xtrace.sh:63
-#: elf/ldconfig.c:232 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
+#: elf/ldconfig.c:233 elf/ldd.bash.in:38 elf/pldd.c:262 elf/sotruss.sh:75
 #: elf/sprof.c:388 iconv/iconv_prog.c:404 iconv/iconvconfig.c:397
 #: locale/programs/locale.c:292 locale/programs/localedef.c:459
 #: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
@@ -189,7 +189,7 @@ msgstr ""
 "售或者é©åˆæŸäº›ç‰¹æ®Šç›®çš„。\n"
 
 #: catgets/gencat.c:251 debug/pcprofiledump.c:229 debug/xtrace.sh:67
-#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
+#: elf/ldconfig.c:238 elf/pldd.c:267 elf/sprof.c:394 iconv/iconv_prog.c:409
 #: iconv/iconvconfig.c:402 locale/programs/locale.c:297
 #: locale/programs/localedef.c:464 malloc/memusage.sh:74
 #: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
@@ -400,7 +400,7 @@ msgstr "å¿«å–檔案的字節順åºæœ‰èª¤ã€‚\n"
 msgid "Cache generated by: "
 msgstr "å¿«å–產生者:"
 
-#: elf/cache.c:296 elf/ldconfig.c:1249
+#: elf/cache.c:296 elf/ldconfig.c:1239
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "無法開啟快å–檔 %s\n"
@@ -711,7 +711,7 @@ msgstr "é‡å®šå€ä¹‹å¾Œç„¡æ³•å¥—用é¡å¤–記憶體ä¿è­·"
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "程å¼ç¢¼æ‰€ä½¿ç”¨çš„ RTLD_NEXT 沒有動態載入"
 
-#: elf/dl-tls.c:1059
+#: elf/dl-tls.c:1136
 msgid "cannot create TLS data structures"
 msgstr "無法建立 TLS 資料çµæ§‹"
 
@@ -727,216 +727,216 @@ msgstr "無法é…置版本åƒç…§è¡¨"
 msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
 msgstr "DT_RELR 缺少 GLIBC_ABI_DT_RELR ä¾è³´é—œä¿‚"
 
-#: elf/ldconfig.c:124
+#: elf/ldconfig.c:125
 msgid "Print cache"
 msgstr "å°å‡ºå¿«å–"
 
-#: elf/ldconfig.c:125
+#: elf/ldconfig.c:126
 msgid "Generate verbose messages"
 msgstr "產生更多的訊æ¯"
 
-#: elf/ldconfig.c:126
+#: elf/ldconfig.c:127
 msgid "Don't build cache"
 msgstr "ä¸å»ºç«‹å¿«å–"
 
-#: elf/ldconfig.c:127
+#: elf/ldconfig.c:128
 msgid "Don't update symbolic links"
 msgstr "ä¸è¦æ›´æ–°ç¬¦è™Ÿé€£çµ"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "Change to and use ROOT as root directory"
 msgstr "變æ›åˆ° ROOT 目錄並以它åšç‚ºæ ¹ç›®éŒ„"
 
-#: elf/ldconfig.c:128
+#: elf/ldconfig.c:129
 msgid "ROOT"
 msgstr "ROOT"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "CACHE"
 msgstr "CACHE"
 
-#: elf/ldconfig.c:129
+#: elf/ldconfig.c:130
 msgid "Use CACHE as cache file"
 msgstr "使用 CACHE 當作快å–檔案"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "CONF"
 msgstr "CONF"
 
-#: elf/ldconfig.c:130
+#: elf/ldconfig.c:131
 msgid "Use CONF as configuration file"
 msgstr "使用 CONF 當作設定檔"
 
-#: elf/ldconfig.c:131
+#: elf/ldconfig.c:132
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "åªè™•ç†åœ¨æŒ‡ä»¤åˆ—引數中有指定的目錄,ä¸å»ºç«‹å¿«å–檔案。"
 
-#: elf/ldconfig.c:132
+#: elf/ldconfig.c:133
 msgid "Manually link individual libraries."
 msgstr "手動個別連çµå‡½å¼åº«"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:134
 msgid "Format to use: new (default), old, or compat"
 msgstr "è¦ä½¿ç”¨çš„æ ¼å¼ï¼šnew (é è¨­å€¼)ã€old 或 compat"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:135
 msgid "Ignore auxiliary cache file"
 msgstr "忽略輔助設備快å–檔案"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:143
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "設定執行時期動態連接"
 
-#: elf/ldconfig.c:276
+#: elf/ldconfig.c:277
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "路徑 `%s' 使用超éŽä¸€æ¬¡"
 
-#: elf/ldconfig.c:277
+#: elf/ldconfig.c:278
 #, c-format
 msgid "(from %s:%d and %s:%d)\n"
 msgstr "(自 %s:%d 和 %s:%d)\n"
 
-#: elf/ldconfig.c:309 elf/ldconfig.c:350
+#: elf/ldconfig.c:310 elf/ldconfig.c:351
 #, c-format
 msgid "Could not form glibc-hwcaps path"
 msgstr "無法建構 glibc-hwcaps 路徑"
 
-#: elf/ldconfig.c:323
+#: elf/ldconfig.c:324
 #, c-format
 msgid "Listing directory %s"
 msgstr "列出目錄 %s"
 
-#: elf/ldconfig.c:405
+#: elf/ldconfig.c:406
 #, c-format
 msgid "Can't stat %s"
 msgstr "無法 stat %s"
 
-#: elf/ldconfig.c:486
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "無法 stat %s\n"
 
-#: elf/ldconfig.c:496
+#: elf/ldconfig.c:497
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s ä¸æ˜¯ä¸€å€‹ç¬¦è™Ÿé€£æŽ¥æª”\n"
 
-#: elf/ldconfig.c:515
+#: elf/ldconfig.c:516
 #, c-format
 msgid "Can't unlink %s"
 msgstr "無法å–æ¶ˆé€£çµ %s"
 
-#: elf/ldconfig.c:521
+#: elf/ldconfig.c:522
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "無法從 %s 連çµåˆ° %s"
 
-#: elf/ldconfig.c:527
+#: elf/ldconfig.c:528
 msgid " (changed)\n"
 msgstr " (已改變)\n"
 
-#: elf/ldconfig.c:529
+#: elf/ldconfig.c:530
 msgid " (SKIPPED)\n"
 msgstr " (已忽略)\n"
 
-#: elf/ldconfig.c:584
+#: elf/ldconfig.c:585
 #, c-format
 msgid "Can't find %s"
 msgstr "找ä¸åˆ° %s"
 
-#: elf/ldconfig.c:600 elf/ldconfig.c:770 elf/ldconfig.c:837
+#: elf/ldconfig.c:601 elf/ldconfig.c:760 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "無法 lstat %s"
 
-#: elf/ldconfig.c:606
+#: elf/ldconfig.c:607
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "忽略檔案 %s 因為它ä¸æ˜¯ä¸€å€‹æ­£å¸¸çš„檔案。"
 
-#: elf/ldconfig.c:614
+#: elf/ldconfig.c:615
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "由於找ä¸åˆ° %s 的共用物件å稱,連çµä¸¦æœªè¢«å»ºç«‹"
 
-#: elf/ldconfig.c:711
+#: elf/ldconfig.c:701
 #, c-format
 msgid " (from %s:%d)\n"
 msgstr " (自 %s:%d)\n"
 
-#: elf/ldconfig.c:726
+#: elf/ldconfig.c:716
 #, c-format
 msgid "Can't open directory %s"
 msgstr "無法開啟目錄 %s"
 
-#: elf/ldconfig.c:753 elf/ldconfig.c:758
+#: elf/ldconfig.c:743 elf/ldconfig.c:748
 #, c-format
 msgid "Could not form library path"
 msgstr "無法組織函å¼åº«è·¯å¾‘"
 
-#: elf/ldconfig.c:787 elf/ldconfig.c:825 elf/readlib.c:78
+#: elf/ldconfig.c:777 elf/ldconfig.c:815 elf/readlib.c:81
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "輸入檔 %s 找ä¸åˆ°ã€‚\n"
 
-#: elf/ldconfig.c:794
+#: elf/ldconfig.c:784
 #, c-format
 msgid "Cannot stat %s"
 msgstr "無法顯示狀態 %s"
 
-#: elf/ldconfig.c:913
+#: elf/ldconfig.c:903
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 函å¼åº« %s 擺錯目錄了"
 
-#: elf/ldconfig.c:932
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "函å¼åº« %s è·Ÿ %s (在目錄 %s 底下) 有共åŒçš„共用函å¼åº«å稱,ä¸éŽå…¶æ ¼å¼å»ä¸åŒ"
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Warning: ignoring configuration file that cannot be opened: %s"
 msgstr "警告:正在忽略無法開啟的組態檔案:%s"
 
-#: elf/ldconfig.c:1109
+#: elf/ldconfig.c:1099
 #, c-format
 msgid "%s:%u: hwcap directive ignored"
 msgstr "%s:%u: 忽略 hwcap 指示詞"
 
-#: elf/ldconfig.c:1128
+#: elf/ldconfig.c:1118
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "需è¦çµ•å°æª”案å稱用於組態檔案時正在使用 -r"
 
-#: elf/ldconfig.c:1135 locale/programs/xasprintf.c:31
+#: elf/ldconfig.c:1125 locale/programs/xasprintf.c:31
 #: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
 #: posix/getconf.c:460 posix/getconf.c:699
 #, c-format
 msgid "memory exhausted"
 msgstr "記憶體用盡"
 
-#: elf/ldconfig.c:1168
+#: elf/ldconfig.c:1158
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: 無法讀å–目錄 %s"
 
-#: elf/ldconfig.c:1206
+#: elf/ldconfig.c:1196
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "用來建置快å–的相å°è·¯å¾‘ `%s'"
 
-#: elf/ldconfig.c:1228
+#: elf/ldconfig.c:1218
 #, c-format
 msgid "Can't chdir to /"
 msgstr "無法變更目錄到 /"
 
-#: elf/ldconfig.c:1269
+#: elf/ldconfig.c:1259
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "無法開啟快å–檔案目錄 %s\n"
@@ -1134,27 +1134,27 @@ msgstr "%s ä¸æ˜¯ä¸€å€‹å…±ç”¨ç‰©ä»¶ (åž‹æ…‹: %d)。\n"
 msgid "more than one dynamic segment\n"
 msgstr "超éŽä¸€å€‹çš„å‹•æ…‹å€æ®µ\n"
 
-#: elf/readlib.c:84
+#: elf/readlib.c:87
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr "無法 fstat 檔案 %s。\n"
 
-#: elf/readlib.c:95
+#: elf/readlib.c:98
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr "檔案 %s 為空,ä¸åšæª¢æŸ¥ã€‚"
 
-#: elf/readlib.c:101
+#: elf/readlib.c:104
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr "檔案 %s 太å°ï¼Œä¸åšæª¢æŸ¥ã€‚"
 
-#: elf/readlib.c:111
+#: elf/readlib.c:114
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr "無法 mmap 檔案 %s。\n"
 
-#: elf/readlib.c:149
+#: elf/readlib.c:152
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr "%s ä¸æ˜¯ä¸€å€‹ ELF 檔 - 其開頭的魔術ä½å…ƒçµ„是錯的。\n"
diff --git a/posix/tst-execveat.c b/posix/tst-execveat.c
index 4565d6b19f..dde034a9f1 100644
--- a/posix/tst-execveat.c
+++ b/posix/tst-execveat.c
@@ -155,7 +155,7 @@ do_test (void)
   tmp_sh = xasprintf ("%s/tmp_sh", tmp_dir);
   add_temp_file (tmp_sh);
   fd_out = xopen (symlink_name, O_CREAT | O_WRONLY, 0);
-  xstat ("/bin/sh", &st);
+  xstat64 ("/bin/sh", &st);
   fd = xopen ("/bin/sh", O_RDONLY, 0);
   xcopy_file_range (fd, 0, fd_out, 0, st.st_size, 0);
   xfchmod (fd_out, 0700);
diff --git a/posix/tst-truncate-common.c b/posix/tst-truncate-common.c
index b774fa46b8..b8c561ffdb 100644
--- a/posix/tst-truncate-common.c
+++ b/posix/tst-truncate-common.c
@@ -21,6 +21,8 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
+#include <support/check.h>
+
 static void do_prepare (void);
 #define PREPARE(argc, argv)     do_prepare ()
 static int do_test (void);
@@ -42,9 +44,6 @@ do_prepare (void)
     }
 }
 
-#define FAIL(str) \
-  do { printf ("error: %s (line %d)\n", str, __LINE__); return 1; } while (0)
-
 static int
 do_test_with_offset (off_t offset)
 {
@@ -54,35 +53,35 @@ do_test_with_offset (off_t offset)
   memset (buf, 0xcf, sizeof (buf));
 
   if (pwrite (temp_fd, buf, sizeof (buf), offset) != sizeof (buf))
-    FAIL ("write failed");
+    FAIL_RET ("write failed");
   if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + sizeof (buf)))
-    FAIL ("initial size wrong");
+    FAIL_RET ("initial size wrong");
 
   if (ftruncate (temp_fd, offset + 800) < 0)
-    FAIL ("size reduction with ftruncate failed");
+    FAIL_RET ("size reduction with ftruncate failed");
   if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800))
-    FAIL ("size after reduction with ftruncate is incorrect");
+    FAIL_RET ("size after reduction with ftruncate is incorrect");
 
   /* The following test covers more than POSIX.  POSIX does not require
      that ftruncate() can increase the file size.  But we are testing
      Unix systems.  */
   if (ftruncate (temp_fd, offset + 1200) < 0)
-    FAIL ("size increate with ftruncate failed");
+    FAIL_RET ("size increate with ftruncate failed");
   if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200))
-    FAIL ("size after increase is incorrect");
+    FAIL_RET ("size after increase is incorrect");
 
   if (truncate (temp_filename, offset + 800) < 0)
-    FAIL ("size reduction with truncate failed");
+    FAIL_RET ("size reduction with truncate failed");
   if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800))
-    FAIL ("size after reduction with truncate incorrect");
+    FAIL_RET ("size after reduction with truncate incorrect");
 
   /* The following test covers more than POSIX.  POSIX does not require
      that truncate() can increase the file size.  But we are testing
      Unix systems.  */
   if (truncate (temp_filename, (offset + 1200)) < 0)
-    FAIL ("size increase with truncate failed");
+    FAIL_RET ("size increase with truncate failed");
   if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200))
-    FAIL ("size increase with truncate is incorrect");
+    FAIL_RET ("size increase with truncate is incorrect");
 
   return 0;
 }
diff --git a/resolv/Makefile b/resolv/Makefile
index 5f44f5896b..abff7fc007 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -106,6 +106,8 @@ tests += \
   tst-resolv-nondecimal \
   tst-resolv-res_init-multi \
   tst-resolv-search \
+  tst-resolv-semi-failure \
+  tst-resolv-short-response \
   tst-resolv-trailing \
 
 # This test calls __res_context_send directly, which is not exported
@@ -299,6 +301,10 @@ $(objpfx)tst-resolv-nondecimal: $(objpfx)libresolv.so $(shared-thread-library)
 $(objpfx)tst-resolv-qtypes: $(objpfx)libresolv.so $(shared-thread-library)
 $(objpfx)tst-resolv-rotate: $(objpfx)libresolv.so $(shared-thread-library)
 $(objpfx)tst-resolv-search: $(objpfx)libresolv.so $(shared-thread-library)
+$(objpfx)tst-resolv-semi-failure: $(objpfx)libresolv.so \
+  $(shared-thread-library)
+$(objpfx)tst-resolv-short-response: $(objpfx)libresolv.so \
+  $(shared-thread-library)
 $(objpfx)tst-resolv-trailing: $(objpfx)libresolv.so $(shared-thread-library)
 $(objpfx)tst-resolv-threads: $(objpfx)libresolv.so $(shared-thread-library)
 $(objpfx)tst-resolv-txnid-collision: $(objpfx)libresolv.a \
diff --git a/resolv/res_init.c b/resolv/res_init.c
index 263263d474..b838dc7064 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -682,27 +682,30 @@ res_setoptions (struct resolv_conf_parser *parser, const char *options)
           {
             char str[22];
             uint8_t len;
-            uint8_t clear;
             unsigned long int flag;
           } options[] = {
 #define STRnLEN(str) str, sizeof (str) - 1
-            { STRnLEN ("rotate"), 0, RES_ROTATE },
-            { STRnLEN ("edns0"), 0, RES_USE_EDNS0 },
-            { STRnLEN ("single-request-reopen"), 0, RES_SNGLKUPREOP },
-            { STRnLEN ("single-request"), 0, RES_SNGLKUP },
-            { STRnLEN ("no_tld_query"), 0, RES_NOTLDQUERY },
-            { STRnLEN ("no-tld-query"), 0, RES_NOTLDQUERY },
-            { STRnLEN ("no-reload"), 0, RES_NORELOAD },
-            { STRnLEN ("use-vc"), 0, RES_USEVC },
-            { STRnLEN ("trust-ad"), 0, RES_TRUSTAD },
-            { STRnLEN ("no-aaaa"), 0, RES_NOAAAA },
+            { STRnLEN ("rotate"), RES_ROTATE },
+            { STRnLEN ("edns0"),  RES_USE_EDNS0 },
+            { STRnLEN ("single-request-reopen"), RES_SNGLKUPREOP },
+            { STRnLEN ("single-request"), RES_SNGLKUP },
+            { STRnLEN ("no_tld_query"), RES_NOTLDQUERY },
+            { STRnLEN ("no-tld-query"), RES_NOTLDQUERY },
+            { STRnLEN ("no-reload"), RES_NORELOAD },
+            { STRnLEN ("use-vc"),  RES_USEVC },
+            { STRnLEN ("trust-ad"), RES_TRUSTAD },
+            { STRnLEN ("no-aaaa"), RES_NOAAAA },
+            { STRnLEN ("strict-error"), RES_STRICTERR },
           };
 #define noptions (sizeof (options) / sizeof (options[0]))
+          bool negate_option = *cp == '-';
+          if (negate_option)
+            ++cp;
           for (int i = 0; i < noptions; ++i)
             if (strncmp (cp, options[i].str, options[i].len) == 0)
               {
-                if (options[i].clear)
-                  parser->template.options &= options[i].flag;
+                if (negate_option)
+                  parser->template.options &= ~options[i].flag;
                 else
                   parser->template.options |= options[i].flag;
                 break;
diff --git a/resolv/res_send.c b/resolv/res_send.c
index ea7cf192b2..9a284ed44a 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -1199,19 +1199,30 @@ send_dg(res_state statp,
 		}
 
 		/* Check for the correct header layout and a matching
-		   question.  */
+		   question.  Some recursive resolvers send REFUSED
+		   without copying back the question section
+		   (producing a response that is only HFIXEDSZ bytes
+		   long).  Skip query matching in this case.  */
+		bool thisansp_error = (anhp->rcode == SERVFAIL ||
+				       anhp->rcode == NOTIMP ||
+				       anhp->rcode == REFUSED);
+		bool skip_query_match = (*thisresplenp == HFIXEDSZ
+					 && ntohs (anhp->qdcount) == 0
+					 && thisansp_error);
 		int matching_query = 0; /* Default to no matching query.  */
 		if (!recvresp1
 		    && anhp->id == hp->id
-		    && __libc_res_queriesmatch (buf, buf + buflen,
-						*thisansp,
-						*thisansp + *thisanssizp))
+		    && (skip_query_match
+			|| __libc_res_queriesmatch (buf, buf + buflen,
+						    *thisansp,
+						    *thisansp + *thisanssizp)))
 		  matching_query = 1;
 		if (!recvresp2
 		    && anhp->id == hp2->id
-		    && __libc_res_queriesmatch (buf2, buf2 + buflen2,
-						*thisansp,
-						*thisansp + *thisanssizp))
+		    && (skip_query_match
+			|| __libc_res_queriesmatch (buf2, buf2 + buflen2,
+						    *thisansp,
+						    *thisansp + *thisanssizp)))
 		  matching_query = 2;
 		if (matching_query == 0)
 		  /* Spurious UDP packet.  Drop it and continue
@@ -1221,25 +1232,40 @@ send_dg(res_state statp,
 		    goto wait;
 		  }
 
-		if (anhp->rcode == SERVFAIL ||
-		    anhp->rcode == NOTIMP ||
-		    anhp->rcode == REFUSED) {
+		if (thisansp_error) {
 		next_ns:
-			if (recvresp1 || (buf2 != NULL && recvresp2)) {
-			  *resplen2 = 0;
-			  return resplen;
-			}
-			if (buf2 != NULL)
+		        /* Outside of strict-error mode, use the first
+			   response even if the second response is an
+			   error.  This allows parallel resolution to
+			   succeed even if the recursive resolver
+			   always answers with SERVFAIL for AAAA
+			   queries (which still happens in practice
+			   unfortunately).
+
+			   In strict-error mode, always switch to the
+			   next server and try to get a response from
+			   there.  */
+			if ((statp->options & RES_STRICTERR) == 0)
 			  {
-			    /* No data from the first reply.  */
-			    resplen = 0;
-			    /* We are waiting for a possible second reply.  */
-			    if (matching_query == 1)
-			      recvresp1 = 1;
-			    else
-			      recvresp2 = 1;
-
-			    goto wait;
+			    if (recvresp1 || (buf2 != NULL && recvresp2))
+			      {
+				*resplen2 = 0;
+				return resplen;
+			      }
+
+			    if (buf2 != NULL && !single_request)
+			      {
+				/* No data from the first reply.  */
+				resplen = 0;
+				/* We are waiting for a possible
+				   second reply.  */
+				if (matching_query == 1)
+				  recvresp1 = 1;
+				else
+				  recvresp2 = 1;
+
+				goto wait;
+			      }
 			  }
 
 			/* don't retry if called from dig */
diff --git a/resolv/resolv.h b/resolv/resolv.h
index f40d6c58ce..b8a0f66a5f 100644
--- a/resolv/resolv.h
+++ b/resolv/resolv.h
@@ -133,6 +133,7 @@ struct res_sym {
 #define RES_NORELOAD    0x02000000 /* No automatic configuration reload.  */
 #define RES_TRUSTAD     0x04000000 /* Request AD bit, keep it in responses.  */
 #define RES_NOAAAA      0x08000000 /* Suppress AAAA queries.  */
+#define RES_STRICTERR   0x10000000 /* Report more DNS errors as errors.  */
 
 #define RES_DEFAULT	(RES_RECURSE|RES_DEFNAMES|RES_DNSRCH)
 
diff --git a/resolv/tst-resolv-res_init-skeleton.c b/resolv/tst-resolv-res_init-skeleton.c
index 6bef62cde2..e41bcebd9d 100644
--- a/resolv/tst-resolv-res_init-skeleton.c
+++ b/resolv/tst-resolv-res_init-skeleton.c
@@ -129,6 +129,7 @@ print_resp (FILE *fp, res_state resp)
         print_option_flag (fp, &options, RES_NORELOAD, "no-reload");
         print_option_flag (fp, &options, RES_TRUSTAD, "trust-ad");
         print_option_flag (fp, &options, RES_NOAAAA, "no-aaaa");
+        print_option_flag (fp, &options, RES_STRICTERR, "strict-error");
         fputc ('\n', fp);
         if (options != 0)
           fprintf (fp, "; error: unresolved option bits: 0x%x\n", options);
@@ -679,6 +680,16 @@ struct test_case test_cases[] =
      "; nameserver[0]: [192.0.2.1]:53\n",
      .res_options = "attempts:5 ndots:3 edns0 ",
     },
+    {.name = "RES_OPTIONS can clear flags",
+     .conf = "options ndots:2 use-vc no-aaaa edns0\n"
+     "nameserver 192.0.2.1\n",
+     .expected = "options ndots:3 use-vc\n"
+     "search example.com\n"
+     "; search[0]: example.com\n"
+     "nameserver 192.0.2.1\n"
+     "; nameserver[0]: [192.0.2.1]:53\n",
+     .res_options = "ndots:3 -edns0 -no-aaaa",
+    },
     {.name = "many search list entries (bug 19569)",
      .conf = "nameserver 192.0.2.1\n"
      "search corp.example.com support.example.com"
@@ -731,6 +742,15 @@ struct test_case test_cases[] =
      "nameserver 192.0.2.1\n"
      "; nameserver[0]: [192.0.2.1]:53\n"
     },
+    {.name = "strict-error flag",
+     .conf = "options strict-error\n"
+     "nameserver 192.0.2.1\n",
+     .expected = "options strict-error\n"
+     "search example.com\n"
+     "; search[0]: example.com\n"
+     "nameserver 192.0.2.1\n"
+     "; nameserver[0]: [192.0.2.1]:53\n"
+    },
     { NULL }
   };
 
diff --git a/resolv/tst-resolv-semi-failure.c b/resolv/tst-resolv-semi-failure.c
new file mode 100644
index 0000000000..b7681210f4
--- /dev/null
+++ b/resolv/tst-resolv-semi-failure.c
@@ -0,0 +1,142 @@
+/* Test parallel failure/success responses (bug 30081).
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <resolv.h>
+#include <support/check.h>
+#include <support/resolv_test.h>
+#include <support/check_nss.h>
+
+/* The rcode in the initial response.  */
+static volatile int rcode;
+
+/* Whether to fail the initial A query (!fail_aaaa) or the initial
+   AAAA query (fail_aaaa).  */
+static volatile bool fail_aaaa;
+
+static void
+response (const struct resolv_response_context *ctx,
+          struct resolv_response_builder *b,
+          const char *qname, uint16_t qclass, uint16_t qtype)
+{
+  /* Handle the failing query.  */
+  if ((fail_aaaa && qtype == T_AAAA) && ctx->server_index == 0)
+    {
+      struct resolv_response_flags flags = {.rcode = rcode};
+      resolv_response_init (b, flags);
+      return;
+    }
+
+  /* Otherwise produce a response.  */
+  resolv_response_init (b, (struct resolv_response_flags) {});
+  resolv_response_add_question (b, qname, qclass, qtype);
+  resolv_response_section (b, ns_s_an);
+  resolv_response_open_record (b, qname, qclass, qtype, 0);
+  switch (qtype)
+    {
+    case T_A:
+      {
+        char ipv4[4] = {192, 0, 2, 17};
+        resolv_response_add_data (b, &ipv4, sizeof (ipv4));
+      }
+      break;
+    case T_AAAA:
+      {
+        char ipv6[16]
+          = {0x20, 0x01, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1};
+        resolv_response_add_data (b, &ipv6, sizeof (ipv6));
+      }
+      break;
+    default:
+      FAIL_EXIT1 ("unexpected TYPE%d query", qtype);
+    }
+  resolv_response_close_record (b);
+}
+
+/* Set to 1 if strict error checking is enabled.  */
+static int do_strict_error;
+
+static void
+check_one (void)
+{
+
+  /* The buggy 1-second query timeout results in 30 seconds of delay,
+     which triggers are test timeout failure.  */
+  for (int i = 0;  i < 30; ++i)
+    {
+      static const struct addrinfo hints =
+        {
+          .ai_family = AF_UNSPEC,
+          .ai_socktype = SOCK_STREAM,
+        };
+      struct addrinfo *ai;
+      int ret = getaddrinfo ("www.example", "80", &hints, &ai);
+      const char *expected;
+      /* In strict-error mode, a switch to the second name server
+         happens, and both responses are received, so a single
+         response is a bug.  */
+      if (do_strict_error || (ret == 0 && ai->ai_next != NULL))
+        expected = ("address: STREAM/TCP 192.0.2.17 80\n"
+                    "address: STREAM/TCP 2001:db8::1 80\n");
+      else
+        /* Only one response because the AAAA lookup failure is
+           treated as an ignoreable error.  */
+        expected = "address: STREAM/TCP 192.0.2.17 80\n";
+      check_addrinfo ("www.example", ai, ret, expected);
+      if (ret == 0)
+        freeaddrinfo (ai);
+    }
+}
+
+static int
+do_test (void)
+{
+  for (do_strict_error = 0; do_strict_error < 2; ++do_strict_error)
+    for (int do_single_lookup = 0; do_single_lookup < 2; ++do_single_lookup)
+      {
+        struct resolv_test *aux = resolv_test_start
+          ((struct resolv_redirect_config)
+           {
+             .response_callback = response,
+           });
+
+        if (do_strict_error)
+          _res.options |= RES_STRICTERR;
+        if (do_single_lookup)
+          _res.options |= RES_SNGLKUP;
+
+        for (int do_fail_aaaa = 0; do_fail_aaaa < 2; ++do_fail_aaaa)
+          {
+            fail_aaaa = do_fail_aaaa;
+
+            rcode = 2; /* SERVFAIL.  */
+            check_one ();
+
+            rcode = 4; /* NOTIMP.  */
+            check_one ();
+
+            rcode = 5; /* REFUSED.  */
+            check_one ();
+          }
+
+        resolv_test_end (aux);
+      }
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/resolv/tst-resolv-short-response.c b/resolv/tst-resolv-short-response.c
new file mode 100644
index 0000000000..9b06b0c176
--- /dev/null
+++ b/resolv/tst-resolv-short-response.c
@@ -0,0 +1,126 @@
+/* Test for spurious timeouts with short 12-byte responses (bug 31890).
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <resolv.h>
+#include <support/check.h>
+#include <support/resolv_test.h>
+#include <support/check_nss.h>
+
+/* The rcode in the initial response.  */
+static volatile int rcode;
+
+static void
+response (const struct resolv_response_context *ctx,
+          struct resolv_response_builder *b,
+          const char *qname, uint16_t qclass, uint16_t qtype)
+{
+  switch (ctx->server_index)
+    {
+    case 0:
+      /* First server times out.  */
+      {
+        struct resolv_response_flags flags = {.rcode = rcode};
+        resolv_response_init (b, flags);
+      }
+      break;
+    case 1:
+      /* Second server sends reply.  */
+      resolv_response_init (b, (struct resolv_response_flags) {});
+      resolv_response_add_question (b, qname, qclass, qtype);
+      resolv_response_section (b, ns_s_an);
+      resolv_response_open_record (b, qname, qclass, qtype, 0);
+      switch (qtype)
+        {
+        case T_A:
+          {
+            char ipv4[4] = {192, 0, 2, 17};
+            resolv_response_add_data (b, &ipv4, sizeof (ipv4));
+          }
+          break;
+        case T_AAAA:
+          {
+            char ipv6[16]
+              = {0x20, 0x01, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1};
+            resolv_response_add_data (b, &ipv6, sizeof (ipv6));
+          }
+          break;
+        default:
+          FAIL_EXIT1 ("unexpected TYPE%d query", qtype);
+        }
+      resolv_response_close_record (b);
+      break;
+    default:
+      FAIL_EXIT1 ("unexpected query to server %d", ctx->server_index);
+    }
+}
+
+static void
+check_one (void)
+{
+
+  /* The buggy 1-second query timeout results in 30 seconds of delay,
+     which triggers a test timeout failure.  */
+  for (int i = 0;  i < 10; ++i)
+    {
+      check_hostent ("www.example", gethostbyname ("www.example"),
+                     "name: www.example\n"
+                     "address: 192.0.2.17\n");
+      check_hostent ("www.example", gethostbyname2 ("www.example", AF_INET6),
+                     "name: www.example\n"
+                     "address: 2001:db8::1\n");
+      static const struct addrinfo hints =
+        {
+          .ai_family = AF_UNSPEC,
+          .ai_socktype = SOCK_STREAM,
+        };
+      struct addrinfo *ai;
+      int ret = getaddrinfo ("www.example", "80", &hints, &ai);
+      check_addrinfo ("www.example", ai, ret,
+                      "address: STREAM/TCP 192.0.2.17 80\n"
+                      "address: STREAM/TCP 2001:db8::1 80\n");
+      if (ret == 0)
+        freeaddrinfo (ai);
+    }
+}
+
+static int
+do_test (void)
+{
+  struct resolv_test *aux = resolv_test_start
+    ((struct resolv_redirect_config)
+     {
+       .response_callback = response,
+     });
+
+  _res.options |= RES_SNGLKUP;
+
+  rcode = 2; /* SERVFAIL.  */
+  check_one ();
+
+  rcode = 4; /* NOTIMP.  */
+  check_one ();
+
+  rcode = 5; /* REFUSED.  */
+  check_one ();
+
+  resolv_test_end (aux);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index b4e7f953ef..7882d7d6fb 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -830,11 +830,11 @@ class Context(object):
 
     def checkout(self, versions):
         """Check out the desired component versions."""
-        default_versions = {'binutils': 'vcs-2.42',
+        default_versions = {'binutils': 'vcs-2.43',
                             'gcc': 'vcs-13',
                             'glibc': 'vcs-mainline',
                             'gmp': '6.3.0',
-                            'linux': '6.9',
+                            'linux': '6.10',
                             'mpc': '1.3.1',
                             'mpfr': '4.2.1',
                             'mig': 'vcs-mainline',
diff --git a/scripts/check-local-headers.sh b/scripts/check-local-headers.sh
index 5d3e61f889..ad23840333 100755
--- a/scripts/check-local-headers.sh
+++ b/scripts/check-local-headers.sh
@@ -33,7 +33,7 @@ exec ${AWK} -v includedir="$includedir" '
 BEGIN {
   status = 0
   exclude = "^" includedir \
-    "/(.*-.*-.*/|.*-.*/|)(asm[-/]|arch|linux/|selinux/|mach/|mach_debug/|device/|hurd/(((hurd|ioctl)_types|paths)\\.h|ioctls\\.defs|ihash\\.h|version\\.h)|gd|nss3/|nspr4?/|c\\+\\+/|sys/(capability|sdt(|-config))\\.h|libaudit\\.h)"
+    "/(.*-.*-.*/|.*-.*/|)(asm[-/]|arch|linux/|selinux/|mach/|mach_debug/|device/|hurd/(((hurd|ioctl)_types|paths)\\.h|ioctls\\.defs|ihash\\.h|version\\.h)|gd|nss3/|nspr4?/|c\\+\\+/|sys/(capability|sdt(|-config))\\.h|libaudit\\.h|audit(_logging|-records)\\.h)"
 }
 /^[^ ]/ && $1 ~ /.*:/ { obj = $1 }
 {
diff --git a/scripts/localplt.awk b/scripts/localplt.awk
index fe79ca01ab..621ae7d8e8 100644
--- a/scripts/localplt.awk
+++ b/scripts/localplt.awk
@@ -10,7 +10,8 @@ BEGIN {
 }
 
 FILENAME != lastfile {
-  if (lastfile && jmprel_offset == 0 && rela_offset == 0 && rel_offset == 0) {
+  if (lastfile && jmprel_offset == 0 && rela_offset == 0 && rel_offset == 0 \
+      && relr_offset == 0) {
     print FILENAME ": *** failed to find expected output (readelf -WSdr)";
     result = 2;
   }
@@ -22,6 +23,7 @@ FILENAME != lastfile {
   jmprel_offset = 0;
   rela_offset = 0;
   rel_offset = 0;
+  relr_offset = 0;
   pltrelsz = -1;
   delete section_offset_by_address;
 }
@@ -77,6 +79,8 @@ in_relocs && relocs_offset == rel_offset && NF >= 5 {
   }
 }
 
+# No need to handle DT_RELR (all packed relocations are relative).
+
 in_relocs { next }
 
 $1 == "Relocation" && $2 == "section" && $5 == "offset" {
@@ -121,4 +125,14 @@ $2 == "(REL)" {
   }
   next
 }
+
+$2 == "(RELR)" {
+  relr_addr = strtonum($3);
+  if (relr_addr in section_offset_by_address) {
+    relr_offset = section_offset_by_address[relr_addr];
+  } else {
+    print FILENAME ": *** DT_RELR does not match any section's address";
+    result = 2;
+  }
+}
 END { exit(result) }
diff --git a/socket/bits/socket2.h b/socket/bits/socket2.h
index 04780f320e..bd91647f37 100644
--- a/socket/bits/socket2.h
+++ b/socket/bits/socket2.h
@@ -37,14 +37,14 @@ recv (int __fd, __fortify_clang_overload_arg0 (void *, ,__buf), size_t __n,
 					      "recv called with bigger length than "
 					      "size of destination buffer")
 {
-  size_t sz = __glibc_objsize0 (__buf);
-  if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz))
+  size_t __sz = __glibc_objsize0 (__buf);
+  if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz))
     return __recv_alias (__fd, __buf, __n, __flags);
 #if !__fortify_use_clang
-  if (__glibc_unsafe_len (__n, sizeof (char), sz))
-    return __recv_chk_warn (__fd, __buf, __n, sz, __flags);
+  if (__glibc_unsafe_len (__n, sizeof (char), __sz))
+    return __recv_chk_warn (__fd, __buf, __n, __sz, __flags);
 #endif
-  return __recv_chk (__fd, __buf, __n, sz, __flags);
+  return __recv_chk (__fd, __buf, __n, __sz, __flags);
 }
 
 extern ssize_t __recvfrom_chk (int __fd, void *__restrict __buf, size_t __n,
@@ -71,13 +71,13 @@ recvfrom (int __fd, __fortify_clang_overload_arg0 (void *, __restrict, __buf),
 					      "recvfrom called with bigger length "
 					      "than size of destination buffer")
 {
-  size_t sz = __glibc_objsize0 (__buf);
-  if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz))
+  size_t __sz = __glibc_objsize0 (__buf);
+  if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz))
     return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len);
 #if !__fortify_use_clang
-  if (__glibc_unsafe_len (__n, sizeof (char), sz))
-    return __recvfrom_chk_warn (__fd, __buf, __n, sz, __flags, __addr,
+  if (__glibc_unsafe_len (__n, sizeof (char), __sz))
+    return __recvfrom_chk_warn (__fd, __buf, __n, __sz, __flags, __addr,
 				__addr_len);
 #endif
-  return __recvfrom_chk (__fd, __buf, __n, sz, __flags, __addr, __addr_len);
+  return __recvfrom_chk (__fd, __buf, __n, __sz, __flags, __addr, __addr_len);
 }
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index a63c05a120..03d597f8e6 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -209,6 +209,7 @@ tests := \
   tst-fdopen \
   tst-ferror \
   tst-fgets \
+  tst-fgets2 \
   tst-fileno \
   tst-fmemopen \
   tst-fmemopen2 \
@@ -216,8 +217,14 @@ tests := \
   tst-fmemopen4 \
   tst-fphex \
   tst-fphex-wide \
+  tst-freopen2 \
+  tst-freopen3 \
+  tst-freopen64-2 \
+  tst-freopen64-3 \
   tst-fseek \
   tst-fwrite \
+  tst-getline \
+  tst-getline-enomem \
   tst-gets \
   tst-grouping \
   tst-grouping2 \
@@ -240,6 +247,7 @@ tests := \
   tst-scanf-binary-c23 \
   tst-scanf-binary-gnu11 \
   tst-scanf-binary-gnu89 \
+  tst-scanf-bz27650 \
   tst-scanf-intn \
   tst-scanf-round \
   tst-scanf-to_inpunct \
@@ -253,6 +261,7 @@ tests := \
   tst-swscanf \
   tst-tmpnam \
   tst-ungetc \
+  tst-ungetc-leak \
   tst-unlockedio \
   tst-vfprintf-mbs-prec \
   tst-vfprintf-user-type \
@@ -311,14 +320,27 @@ tests-special += \
 ifeq (yes,$(build-shared))
 ifneq ($(PERL),no)
 tests-special += \
+  $(objpfx)tst-freopen2-mem.out \
+  $(objpfx)tst-freopen64-2-mem.out \
+  $(objpfx)tst-getline-enomem-mem.out \
+  $(objpfx)tst-getline-mem.out \
   $(objpfx)tst-printf-bz18872-mem.out \
   $(objpfx)tst-printf-bz25691-mem.out \
   $(objpfx)tst-printf-fp-free-mem.out \
   $(objpfx)tst-printf-fp-leak-mem.out \
+  $(objpfx)tst-ungetc-leak-mem.out \
   $(objpfx)tst-vfprintf-width-prec-mem.out \
   # tests-special
 
 generated += \
+  tst-freopen2-mem.out \
+  tst-freopen2.mtrace \
+  tst-freopen64-2-mem.out \
+  tst-freopen64-2.mtrace \
+  tst-getline-enomem-mem.out \
+  tst-getline-enomem.mtrace \
+  tst-getline-mem.out \
+  tst-getline.mtrace \
   tst-printf-bz18872-mem.out \
   tst-printf-bz18872.c \
   tst-printf-bz18872.mtrace \
@@ -328,6 +350,9 @@ generated += \
   tst-printf-fp-free.mtrace \
   tst-printf-fp-leak-mem.out \
   tst-printf-fp-leak.mtrace \
+  tst-scanf-bz27650.mtrace \
+  tst-ungetc-leak-mem.out \
+  tst-ungetc-leak.mtrace \
   tst-vfprintf-width-prec-mem.out \
   tst-vfprintf-width-prec.mtrace \
   # generated
@@ -419,6 +444,24 @@ tst-printf-fp-free-ENV = \
 tst-printf-fp-leak-ENV = \
   MALLOC_TRACE=$(objpfx)tst-printf-fp-leak.mtrace \
   LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so
+tst-scanf-bz27650-ENV = \
+  MALLOC_TRACE=$(objpfx)tst-scanf-bz27650.mtrace \
+  LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so
+tst-ungetc-leak-ENV = \
+  MALLOC_TRACE=$(objpfx)tst-ungetc-leak.mtrace \
+  LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so
+tst-getline-ENV = \
+  MALLOC_TRACE=$(objpfx)tst-getline.mtrace \
+  LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so
+tst-getline-enomem-ENV = \
+  MALLOC_TRACE=$(objpfx)tst-getline-enomem.mtrace \
+  LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so
+tst-freopen2-ENV = \
+  MALLOC_TRACE=$(objpfx)tst-freopen2.mtrace \
+  LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so
+tst-freopen64-2-ENV = \
+  MALLOC_TRACE=$(objpfx)tst-freopen64-2.mtrace \
+  LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so
 
 $(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc
 	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \
diff --git a/stdio-common/tst-fgets2.c b/stdio-common/tst-fgets2.c
new file mode 100644
index 0000000000..5b78447ea9
--- /dev/null
+++ b/stdio-common/tst-fgets2.c
@@ -0,0 +1,253 @@
+/* Test for additional fgets error handling.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <libc-diag.h>
+#include <stdio.h>
+#include <error.h>
+#include <errno.h>
+#include <limits.h>
+#include <mcheck.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/types.h>
+
+#include <support/support.h>
+#include <support/check.h>
+
+/* This avoids compiler warnings about passing NULL where a valid
+   pointer is expected.  */
+static void *volatile null = NULL;
+
+/* Implementation of our FILE stream backend.  */
+
+static int bytes_read;
+static int cookie_valid = 0;
+struct Cookie {
+  const char *buffer;
+  int bufptr;
+  int bufsz;
+};
+
+#define VALIDATE_COOKIE() if (! cookie_valid) { \
+  FAIL ("call to %s after file closed", __FUNCTION__); \
+  return -1;    \
+  }
+
+static ssize_t
+io_read (void *vcookie, char *buf, size_t size)
+{
+  struct Cookie *cookie = (struct Cookie *) vcookie;
+
+  VALIDATE_COOKIE ();
+
+  if (size > cookie->bufsz - cookie->bufptr)
+    size = cookie->bufsz - cookie->bufptr;
+
+  memcpy (buf, cookie->buffer + cookie->bufptr, size);
+  cookie->bufptr += size;
+  bytes_read += size;
+  return size;
+}
+
+static ssize_t
+io_write (void *vcookie, const char *buf, size_t size)
+{
+  VALIDATE_COOKIE ();
+  FAIL_EXIT1 ("io_write called");
+}
+
+static int
+io_seek (void *vcookie, off64_t *position, int whence)
+{
+  VALIDATE_COOKIE ();
+  FAIL_EXIT1 ("io_seek called");
+}
+
+static int
+io_clean (void *vcookie)
+{
+  struct Cookie *cookie = (struct Cookie *) vcookie;
+
+  VALIDATE_COOKIE ();
+
+  cookie->buffer = NULL;
+  cookie->bufsz = 0;
+  cookie->bufptr = 0;
+
+  cookie_valid = 0;
+  free (cookie);
+  return 0;
+}
+
+cookie_io_functions_t io_funcs = {
+  .read = io_read,
+  .write = io_write,
+  .seek = io_seek,
+  .close = io_clean
+};
+
+FILE *
+io_open (const char *buffer, int buflen, const char *mode, void **vcookie)
+{
+  FILE *f;
+  struct Cookie *cookie;
+
+  cookie = (struct Cookie *) xcalloc (1, sizeof (struct Cookie));
+  *vcookie = cookie;
+  cookie_valid = 1;
+
+  cookie->buffer = buffer;
+  cookie->bufsz = buflen;
+  bytes_read = 0;
+
+  f = fopencookie (cookie, mode, io_funcs);
+  if (f == NULL)
+    FAIL_EXIT1 ("fopencookie failed");
+
+  clearerr (f);
+  return f;
+}
+
+/* The test cases.  */
+
+#define my_open(s,l,m) io_open (s, l, m, (void *) &cookie)
+
+#define TEST_COMPARE_0x11(buf, len)			\
+  TEST_COMPARE_BLOB (buf + (len), sizeof (buf) - (len),	\
+		     buf2, sizeof (buf) - (len));
+
+#define check_flags(f, expected_eof, expected_err)	\
+  {							\
+    if (expected_eof)					\
+      TEST_VERIFY (feof (f) != 0);			\
+    else						\
+      TEST_VERIFY (feof (f) == 0);			\
+    if (expected_err)					\
+      TEST_VERIFY (ferror (f) != 0);			\
+    else						\
+      TEST_VERIFY (ferror (f) == 0);			\
+  }
+
+static int
+do_test (void)
+{
+  FILE *f;
+  struct Cookie *cookie;
+  char buf [10];
+  char buf2 [10];
+  char *returned_string;
+
+  memset (buf2, 0x11, sizeof (buf2));
+
+  printf ("testing base operation...\n");
+  f = my_open ("hello\n", 6, "r");
+  memset (buf, 0x11, sizeof (buf));
+  returned_string = fgets (buf, sizeof (buf) - 1, f);
+  TEST_VERIFY (returned_string == buf);
+  TEST_COMPARE_BLOB (buf, bytes_read + 1, "hello\n\0", 7);
+  TEST_COMPARE_0x11 (buf, bytes_read + 1);
+  check_flags (f, 0, 0);
+
+  fclose (f);
+
+  printf ("testing zero size file...\n");
+  f = my_open ("hello\n", 0, "r");
+  memset (buf, 0x11, sizeof (buf));
+  returned_string = fgets (buf, sizeof (buf) - 1, f);
+  TEST_VERIFY (returned_string == NULL);
+  TEST_VERIFY (bytes_read == 0);
+  check_flags (f, 1, 0);
+  fclose (f);
+
+  printf ("testing zero size buffer...\n");
+  f = my_open ("hello\n", 6, "r");
+  memset (buf, 0x11, sizeof (buf));
+  returned_string = fgets (buf, 0, f);
+  TEST_VERIFY (returned_string == NULL);
+  TEST_VERIFY (bytes_read == 0);
+  check_flags (f, 0, 0);
+  fclose (f);
+
+  printf ("testing NULL buffer with empty stream...\n");
+  f = my_open ("hello\n", 0, "r");
+  memset (buf, 0x11, sizeof (buf));
+
+  returned_string = fgets (null, sizeof (buf), f);
+
+  TEST_VERIFY (returned_string == NULL);
+  TEST_VERIFY (bytes_read == 0);
+  check_flags (f, 1, 0);
+  fclose (f);
+
+  printf ("testing embedded NUL...\n");
+  f = my_open ("hel\0lo\n", 7, "r");
+  memset (buf, 0x11, sizeof (buf));
+  returned_string = fgets (buf, sizeof (buf) - 1, f);
+  TEST_VERIFY (returned_string == buf);
+  TEST_COMPARE_BLOB (buf, bytes_read + 1, "hel\0lo\n\0", 8);
+  TEST_COMPARE_0x11 (buf, bytes_read + 1);
+  check_flags (f, 0, 0);
+  fclose (f);
+
+  printf ("testing writable stream...\n");
+  f = my_open ("hel\0lo\n", 7, "w");
+  memset (buf, 0x11, sizeof (buf));
+  returned_string = fgets (buf, sizeof (buf) - 1, f);
+  TEST_VERIFY (returned_string == NULL);
+  TEST_VERIFY (bytes_read == 0);
+  check_flags (f, 0, 1);
+  fclose (f);
+
+  printf ("testing closed fd stream...\n");
+  int fd = open ("/dev/null", O_RDONLY);
+  f = fdopen (fd, "r");
+  close (fd);
+  memset (buf, 0x11, sizeof (buf));
+  returned_string = fgets (buf, sizeof (buf) - 1, f);
+  TEST_VERIFY (returned_string == NULL);
+  TEST_VERIFY (bytes_read == 0);
+  check_flags (f, 0, 1);
+  fclose (f);
+
+#ifdef IO_DEBUG
+  /* These tests only pass if glibc is built with -DIO_DEBUG, but are
+     included for reference.  */
+
+  printf ("testing NULL descriptor...\n");
+  memset (buf, 0x11, sizeof (buf));
+  returned_string = fgets (buf, sizeof (buf) - 1, null);
+  TEST_VERIFY (returned_string == NULL);
+  TEST_VERIFY (bytes_read == 0);
+
+  printf ("testing closed descriptor...\n");
+  f = my_open ("hello\n", 7, "r");
+  fclose (f);
+  memset (buf, 0x11, sizeof (buf));
+  returned_string = fgets (buf, sizeof (buf) - 1, f);
+  TEST_VERIFY (returned_string == NULL);
+  TEST_VERIFY (bytes_read == 0);
+#endif
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/stdio-common/tst-freopen2-main.c b/stdio-common/tst-freopen2-main.c
new file mode 100644
index 0000000000..22b21afebf
--- /dev/null
+++ b/stdio-common/tst-freopen2-main.c
@@ -0,0 +1,526 @@
+/* Test freopen.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <mcheck.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <wchar.h>
+
+#include <support/check.h>
+#include <support/descriptors.h>
+#include <support/file_contents.h>
+#include <support/support.h>
+#include <support/temp_file.h>
+#include <support/test-driver.h>
+#include <support/xstdio.h>
+
+#define START_TEST(DESC)			\
+  do						\
+    {						\
+      fds = support_descriptors_list ();	\
+      verbose_printf (DESC);			\
+    }						\
+  while (0)
+
+#define END_TEST				\
+  do						\
+    {						\
+      support_descriptors_check (fds);		\
+      support_descriptors_free (fds);		\
+    }						\
+  while (0)
+
+int
+do_test (void)
+{
+  mtrace ();
+  struct support_descriptors *fds;
+  char *temp_dir = support_create_temp_directory ("tst-freopen2");
+  char *file1 = xasprintf ("%s/file1", temp_dir);
+  support_write_file_string (file1, "file1");
+  add_temp_file (file1);
+  char *file2 = xasprintf ("%s/file2", temp_dir);
+  support_write_file_string (file2, "file2");
+  add_temp_file (file2);
+  char *file3 = xasprintf ("%s/file3", temp_dir);
+  char *file4 = xasprintf ("%s/file4", temp_dir);
+  char *file1a = xasprintf ("%s/file1a", temp_dir);
+  FILE *fp;
+  int ret;
+  wint_t wc;
+
+  /* Test each pair of old and new modes from r w a.  */
+
+  START_TEST ("Testing r -> r\n");
+  fp = xfopen (file1, "r");
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "file2");
+  xfclose (fp);
+  END_TEST;
+
+  START_TEST ("Testing r -> w\n");
+  fp = xfopen (file1, "r");
+  fp = FREOPEN (file2, "w", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("File2new", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file1, "file1");
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "File2new");
+  END_TEST;
+
+  START_TEST ("Testing r -> a\n");
+  fp = xfopen (file1, "r");
+  fp = FREOPEN (file2, "a", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("3", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "File2new3");
+  END_TEST;
+
+  START_TEST ("Testing w -> r\n");
+  fp = xfopen (file1, "w");
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "File2new3");
+  xfclose (fp);
+  END_TEST;
+
+  START_TEST ("Testing w -> w\n");
+  fp = xfopen (file1, "w");
+  fp = FREOPEN (file2, "w", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("next", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file1, "");
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "next");
+  END_TEST;
+
+  START_TEST ("Testing w -> a\n");
+  fp = xfopen (file1, "w");
+  fp = FREOPEN (file2, "a", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("4", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "next4");
+  END_TEST;
+
+  START_TEST ("Testing a -> r\n");
+  fp = xfopen (file1, "a");
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "next4");
+  xfclose (fp);
+  END_TEST;
+
+  START_TEST ("Testing a -> w\n");
+  fp = xfopen (file1, "a");
+  fp = FREOPEN (file2, "w", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("another", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "another");
+  END_TEST;
+
+  START_TEST ("Testing a -> a\n");
+  fp = xfopen (file1, "a");
+  fp = FREOPEN (file2, "a", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("5", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "another5");
+  END_TEST;
+
+  /* Test for file originally opened with fopen64.  */
+  START_TEST ("Testing fopen64 a -> a\n");
+  fp = fopen64 (file1, "a");
+  TEST_VERIFY_EXIT (fp != NULL);
+  fp = FREOPEN (file2, "a", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("64", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "another564");
+  END_TEST;
+
+  /* Test calling freopen more than once on the same FILE *.  */
+
+  START_TEST ("Testing r -> w -> r\n");
+  fp = xfopen (file1, "r");
+  fp = FREOPEN (file2, "w", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("freopen-twice", fp);
+  TEST_VERIFY (ret >= 0);
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "freopen-twice");
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "freopen-twice");
+  END_TEST;
+
+  START_TEST ("Testing r -> w -> r (exactly one freopen64)\n");
+  fp = xfopen (file1, "r");
+  fp = OTHER_FREOPEN (file2, "w", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("freopen-twice64", fp);
+  TEST_VERIFY (ret >= 0);
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "freopen-twice64");
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "freopen-twice64");
+  END_TEST;
+
+  /* Test changing to/from b (binary, no-op).  */
+
+  START_TEST ("Testing rb -> r\n");
+  fp = xfopen (file1, "rb");
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "freopen-twice64");
+  xfclose (fp);
+  END_TEST;
+
+  START_TEST ("Testing r -> rb\n");
+  fp = xfopen (file1, "r");
+  fp = FREOPEN (file2, "rb", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "freopen-twice64");
+  xfclose (fp);
+  END_TEST;
+
+  /* Test changing to/from + (read-and-write).  */
+
+  START_TEST ("Testing r -> w+\n");
+  fp = xfopen (file1, "r");
+  fp = FREOPEN (file2, "w+", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("latest", fp);
+  TEST_VERIFY (ret >= 0);
+  ret = fseek (fp, 0, SEEK_SET);
+  TEST_COMPARE (ret, 0);
+  TEST_COMPARE_FILE_STRING (fp, "latest");
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "latest");
+  END_TEST;
+
+  START_TEST ("Testing w -> a+\n");
+  fp = xfopen (file1, "w");
+  fp = FREOPEN (file2, "a+", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("suffix", fp);
+  TEST_VERIFY (ret >= 0);
+  ret = fseek (fp, 0, SEEK_SET);
+  TEST_COMPARE (ret, 0);
+  TEST_COMPARE_FILE_STRING (fp, "latestsuffix");
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "latestsuffix");
+  END_TEST;
+
+  START_TEST ("Testing a -> r+\n");
+  fp = xfopen (file1, "a");
+  fp = FREOPEN (file2, "r+", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "latestsuffix");
+  ret = fseek (fp, 0, SEEK_SET);
+  TEST_COMPARE (ret, 0);
+  ret = fputs ("new", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "newestsuffix");
+  END_TEST;
+
+  START_TEST ("Testing r+ -> w\n");
+  fp = xfopen (file1, "r+");
+  fp = FREOPEN (file2, "w", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("plusto", fp);
+  TEST_VERIFY (ret >= 0);
+  ret = fseek (fp, 0, SEEK_SET);
+  TEST_COMPARE (ret, 0);
+  errno = 0;
+  TEST_COMPARE (fgetc (fp), EOF);
+  TEST_COMPARE (errno, EBADF);
+  clearerr (fp);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "plusto");
+  END_TEST;
+
+  START_TEST ("Testing w+ -> a\n");
+  fp = xfopen (file1, "w+");
+  fp = FREOPEN (file2, "a", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("more", fp);
+  TEST_VERIFY (ret >= 0);
+  ret = fseek (fp, 0, SEEK_SET);
+  TEST_COMPARE (ret, 0);
+  errno = 0;
+  TEST_COMPARE (fgetc (fp), EOF);
+  TEST_COMPARE (errno, EBADF);
+  clearerr (fp);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "plustomore");
+  END_TEST;
+
+  START_TEST ("Testing a+ -> r\n");
+  fp = xfopen (file1, "a+");
+  fp = FREOPEN (file2, "rr", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "plustomore");
+  ret = fputs ("2", fp);
+  TEST_COMPARE (ret, EOF);
+  clearerr (fp);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "plustomore");
+  END_TEST;
+
+  /* Test changing to/from e (FD_CLOEXEC).  */
+
+  START_TEST ("Testing re -> r\n");
+  fp = xfopen (file1, "re");
+  ret = fcntl (fileno (fp), F_GETFD);
+  TEST_VERIFY (ret != -1);
+  TEST_COMPARE (ret & FD_CLOEXEC, FD_CLOEXEC);
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fcntl (fileno (fp), F_GETFD);
+  TEST_VERIFY (ret != -1);
+#if 0 /* Fails to clear FD_CLOEXEC (bug 32134).  */
+  TEST_COMPARE (ret & FD_CLOEXEC, 0);
+#endif
+  TEST_COMPARE_FILE_STRING (fp, "plustomore");
+  xfclose (fp);
+  END_TEST;
+
+  START_TEST ("Testing r -> re\n");
+  fp = xfopen (file1, "r");
+  ret = fcntl (fileno (fp), F_GETFD);
+  TEST_VERIFY (ret != -1);
+  TEST_COMPARE (ret & FD_CLOEXEC, 0);
+  fp = FREOPEN (file2, "re", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fcntl (fileno (fp), F_GETFD);
+  TEST_VERIFY (ret != -1);
+  TEST_COMPARE (ret & FD_CLOEXEC, FD_CLOEXEC);
+  TEST_COMPARE_FILE_STRING (fp, "plustomore");
+  xfclose (fp);
+  END_TEST;
+
+  /* Test changing to/from m (mmap) (a no-op as far as testing
+     semantics is concerned).  */
+
+  START_TEST ("Testing rm -> r\n");
+  fp = xfopen (file1, "rm");
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "plustomore");
+  xfclose (fp);
+  END_TEST;
+
+  START_TEST ("Testing r -> rm\n");
+  fp = xfopen (file1, "r");
+  fp = FREOPEN (file2, "rm", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "plustomore");
+  xfclose (fp);
+  END_TEST;
+
+  /* Test changing to/from x (O_EXCL).  */
+
+  START_TEST ("Testing wx -> w\n");
+  fp = xfopen (file3, "wx");
+  add_temp_file (file3);
+  fp = FREOPEN (file2, "w", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = fputs ("wxtow", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file2, "wxtow");
+  END_TEST;
+
+  START_TEST ("Testing w -> wx (file does not exist)\n");
+  fp = xfopen (file1, "w");
+  fp = FREOPEN (file4, "wx", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  add_temp_file (file4);
+  ret = fputs ("wtowx", fp);
+  TEST_VERIFY (ret >= 0);
+  xfclose (fp);
+  TEST_OPEN_AND_COMPARE_FILE_STRING (file4, "wtowx");
+  END_TEST;
+
+  /* Test with ,ccs=CHARSET.  */
+
+  START_TEST ("testing w,ccs=utf-8 -> r\n");
+  fp = xfopen (file1, "w,ccs=utf-8");
+  ret = fputws (L"\xc0\xc1", fp);
+  TEST_VERIFY (ret >= 0);
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "wxtow");
+  xfclose (fp);
+  END_TEST;
+
+  START_TEST ("testing w,ccs=iso-8859-1 -> r,ccs=utf-8\n");
+  fp = xfopen (file2, "w,ccs=iso-8859-1");
+  ret = fputws (L"\xc0\xc1", fp);
+  TEST_VERIFY (ret >= 0);
+#if 0 /* Doesn't work (bug 23675).  */
+  fp = FREOPEN (file1, "r,ccs=utf-8", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+#else /* Works instead.  */
+  xfclose (fp);
+  fp = xfopen (file1, "r,ccs=utf-8");
+#endif
+  wc = fgetwc (fp);
+  TEST_COMPARE (wc, (wint_t) 0xc0);
+  wc = fgetwc (fp);
+  TEST_COMPARE (wc, (wint_t) 0xc1);
+  wc = fgetwc (fp);
+  TEST_COMPARE (wc, WEOF);
+  xfclose (fp);
+  END_TEST;
+
+  START_TEST ("testing r,ccs=utf-8 -> r\n");
+  fp = xfopen (file1, "r,ccs=utf-8");
+  fp = FREOPEN (file1, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "\u00c0\u00c1");
+  xfclose (fp);
+  END_TEST;
+
+  /* Test that errors closing the old file are ignored.  */
+
+  START_TEST ("testing errors closing old file ignored\n");
+  fp = xfopen ("/dev/full", "w");
+  fputc ('x', fp);
+  fp = FREOPEN (file1, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "\u00c0\u00c1");
+  xfclose (fp);
+  END_TEST;
+
+  /* Test that error / EOF state from the old file are cleared.  */
+
+  START_TEST ("testing error state from old file cleared\n");
+  fp = xfopen ("/dev/full", "w");
+  fputc ('x', fp);
+  fflush (fp);
+  TEST_VERIFY (ferror (fp));
+  TEST_VERIFY (!feof (fp));
+  fp = FREOPEN (file2, "w", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_VERIFY (!ferror (fp));
+  TEST_VERIFY (!feof (fp));
+  xfclose (fp);
+  END_TEST;
+
+  START_TEST ("testing EOF state from old file cleared\n");
+  fp = xfopen ("/dev/null", "r");
+  fgetc (fp);
+  TEST_VERIFY (!ferror (fp));
+  TEST_VERIFY (feof (fp));
+  fp = FREOPEN (file2, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_VERIFY (!ferror (fp));
+  TEST_VERIFY (!feof (fp));
+  xfclose (fp);
+  END_TEST;
+
+  /* Test freopen with NULL, same mode (should flush content and reset
+     file offset).  */
+
+  START_TEST ("testing freopen with NULL, same mode\n");
+  fp = xfopen (file1, "r+");
+  ret = fputs ("same mode", fp);
+  TEST_VERIFY (ret >= 0);
+  fp = FREOPEN (NULL, "r+", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "same mode");
+  xfclose (fp);
+  END_TEST;
+
+  /* Test freopen with NULL, different mode.  */
+
+  START_TEST ("testing freopen with NULL, different mode\n");
+  fp = xfopen (file1, "w");
+  ret = fputs ("different mode", fp);
+  TEST_VERIFY (ret >= 0);
+  fp = FREOPEN (NULL, "r", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "different mode");
+  xfclose (fp);
+  END_TEST;
+
+  /* Test freopen with NULL, renamed file.  This verifies that
+     reopening succeeds (and resets the file position indicator to
+     start of file) even when the original path could no longer be
+     opened.  */
+
+  START_TEST ("testing freopen with NULL, renamed file\n");
+  fp = xfopen (file1, "r+");
+  ret = fputs ("file has been renamed", fp);
+  TEST_VERIFY (ret >= 0);
+  ret = rename (file1, file1a);
+  TEST_COMPARE (ret, 0);
+  fp = FREOPEN (NULL, "r+", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "file has been renamed");
+  xfclose (fp);
+  ret = rename (file1a, file1);
+  TEST_COMPARE (ret, 0);
+  END_TEST;
+
+  /* Test freopen with NULL, deleted file.  This verifies that
+     reopening succeeds (and resets the file position indicator to
+     start of file) even when the original path could no longer be
+     opened.  */
+
+  START_TEST ("testing freopen with NULL, deleted file\n");
+  fp = xfopen (file1, "r+");
+  ret = fputs ("file has now been deleted", fp);
+  TEST_VERIFY (ret >= 0);
+  ret = remove (file1);
+  TEST_COMPARE (ret, 0);
+  fp = FREOPEN (NULL, "r+", fp);
+  TEST_VERIFY_EXIT (fp != NULL);
+  TEST_COMPARE_FILE_STRING (fp, "file has now been deleted");
+  xfclose (fp);
+  /* Recreate the file so it is present when expected for temporary
+     file deletion.  */
+  support_write_file_string (file1, "file1");
+  END_TEST;
+
+  free (temp_dir);
+  free (file1);
+  free (file2);
+  free (file3);
+  free (file4);
+  free (file1a);
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/stdio-common/tst-freopen2.c b/stdio-common/tst-freopen2.c
new file mode 100644
index 0000000000..11ec7a9783
--- /dev/null
+++ b/stdio-common/tst-freopen2.c
@@ -0,0 +1,3 @@
+#define FREOPEN freopen
+#define OTHER_FREOPEN freopen64
+#include <tst-freopen2-main.c>
diff --git a/stdio-common/tst-freopen3-main.c b/stdio-common/tst-freopen3-main.c
new file mode 100644
index 0000000000..5107e1f98e
--- /dev/null
+++ b/stdio-common/tst-freopen3-main.c
@@ -0,0 +1,90 @@
+/* Test freopen failure.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <support/check.h>
+#include <support/descriptors.h>
+#include <support/file_contents.h>
+#include <support/support.h>
+#include <support/temp_file.h>
+#include <support/test-driver.h>
+#include <support/xstdio.h>
+
+#define START_TEST(DESC)			\
+  do						\
+    {						\
+      fds = support_descriptors_list ();	\
+      verbose_printf (DESC);			\
+    }						\
+  while (0)
+
+#define END_TEST				\
+  do						\
+    {						\
+      support_descriptors_check (fds);		\
+      support_descriptors_free (fds);		\
+    }						\
+  while (0)
+
+int
+do_test (void)
+{
+  struct support_descriptors *fds;
+  char *temp_dir = support_create_temp_directory ("tst-freopen3");
+  char *file1 = xasprintf ("%s/file1", temp_dir);
+  support_write_file_string (file1, "file1");
+  add_temp_file (file1);
+  char *file2 = xasprintf ("%s/file2", temp_dir);
+  support_write_file_string (file2, "file2");
+  add_temp_file (file2);
+  char *file_nodir = xasprintf ("%s/nodir/file", temp_dir);
+  FILE *fp;
+  int ret;
+  int fd;
+
+  START_TEST ("Testing w -> wx (file exists)\n");
+  fp = xfopen (file1, "w");
+  fp = FREOPEN (file2, "wx", fp);
+  TEST_VERIFY (fp == NULL);
+  END_TEST;
+
+  /* Test old file is closed even when opening the new file fails.  */
+
+  START_TEST ("testing r -> r (opening new file fails)\n");
+  fp = xfopen (file1, "r");
+  fd = fileno (fp);
+  fp = FREOPEN (file_nodir, "r", fp);
+  TEST_VERIFY (fp == NULL);
+  errno = 0;
+  ret = fcntl (fd, F_GETFL);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (errno, EBADF);
+  END_TEST;
+
+  free (temp_dir);
+  free (file1);
+  free (file2);
+  free (file_nodir);
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/stdio-common/tst-freopen3.c b/stdio-common/tst-freopen3.c
new file mode 100644
index 0000000000..5041b6b233
--- /dev/null
+++ b/stdio-common/tst-freopen3.c
@@ -0,0 +1,2 @@
+#define FREOPEN freopen
+#include <tst-freopen3-main.c>
diff --git a/stdio-common/tst-freopen64-2.c b/stdio-common/tst-freopen64-2.c
new file mode 100644
index 0000000000..88fdc64d8c
--- /dev/null
+++ b/stdio-common/tst-freopen64-2.c
@@ -0,0 +1,3 @@
+#define FREOPEN freopen64
+#define OTHER_FREOPEN freopen
+#include <tst-freopen2-main.c>
diff --git a/stdio-common/tst-freopen64-3.c b/stdio-common/tst-freopen64-3.c
new file mode 100644
index 0000000000..b91b6d2c03
--- /dev/null
+++ b/stdio-common/tst-freopen64-3.c
@@ -0,0 +1,2 @@
+#define FREOPEN freopen64
+#include <tst-freopen3-main.c>
diff --git a/stdio-common/tst-getline-enomem.c b/stdio-common/tst-getline-enomem.c
new file mode 100644
index 0000000000..7fc70ea9b5
--- /dev/null
+++ b/stdio-common/tst-getline-enomem.c
@@ -0,0 +1,78 @@
+/* Test getline: ENOMEM on allocation failure.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <mcheck.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/resource.h>
+
+#include <support/check.h>
+#include <support/test-driver.h>
+
+/* Produce a stream of test data based on data in COOKIE (ignored),
+   storing up to SIZE bytes in BUF.  */
+
+static ssize_t
+io_read (void *cookie, char *buf, size_t size)
+{
+  memset (buf, 'x', size);
+  return size;
+}
+
+/* Set up a test stream with fopencookie.  */
+
+static FILE *
+open_test_stream (void)
+{
+  static cookie_io_functions_t io_funcs = { .read = io_read };
+  static int cookie;
+  FILE *fp = fopencookie (&cookie, "r", io_funcs);
+  TEST_VERIFY_EXIT (fp != NULL);
+  return fp;
+}
+
+int
+do_test (void)
+{
+  FILE *fp;
+  char *lineptr = NULL;
+  size_t size = 0;
+  ssize_t ret;
+  mtrace ();
+  /* Test ENOMEM (and error indicator for stream set) for memory
+     allocation failure.  */
+  verbose_printf ("Testing memory allocation failure\n");
+  fp = open_test_stream ();
+  struct rlimit limit;
+  TEST_VERIFY_EXIT (getrlimit (RLIMIT_AS, &limit) == 0);
+  limit.rlim_cur = 32 * 1024 * 1024;
+  TEST_VERIFY_EXIT (setrlimit (RLIMIT_AS, &limit) == 0);
+  errno = 0;
+  ret = getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (errno, ENOMEM);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  free (lineptr);
+  fclose (fp);
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/stdio-common/tst-getline.c b/stdio-common/tst-getline.c
new file mode 100644
index 0000000000..29eb7cec0f
--- /dev/null
+++ b/stdio-common/tst-getline.c
@@ -0,0 +1,451 @@
+/* Test getline.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <malloc.h>
+#include <mcheck.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <support/check.h>
+#include <support/test-driver.h>
+#include <support/support.h>
+#include <support/xstdio.h>
+#include <support/xunistd.h>
+
+static struct test_data
+{
+  /* Input test data for fopencookie stream.  */
+  const char *in_data;
+
+  /* The amount of test data left.  */
+  size_t in_data_left;
+
+  /* Error number for forcing an error on next read.  */
+  int in_error;
+
+  /* Error number for forcing an error (rather than EOF) after all
+     bytes read.  */
+  int in_error_after;
+} the_cookie;
+
+/* Produce a stream of test data based on data in COOKIE, storing up
+   to SIZE bytes in BUF.  */
+
+static ssize_t
+io_read (void *cookie, char *buf, size_t size)
+{
+  struct test_data *p = cookie;
+  if (p->in_error)
+    {
+      errno = p->in_error;
+      return -1;
+    }
+  if (size > p->in_data_left)
+    size = p->in_data_left;
+  memcpy (buf, p->in_data, size);
+  p->in_data += size;
+  p->in_data_left -= size;
+  if (p->in_data_left == 0)
+    p->in_error = p->in_error_after;
+  return size;
+}
+
+/* Set up a test stream with fopencookie.  */
+
+static FILE *
+open_test_stream (const char *in_data, size_t size)
+{
+  static cookie_io_functions_t io_funcs = { .read = io_read };
+  the_cookie.in_data = in_data;
+  the_cookie.in_data_left = size;
+  the_cookie.in_error = 0;
+  the_cookie.in_error_after = 0;
+  FILE *fp = fopencookie (&the_cookie, "r", io_funcs);
+  TEST_VERIFY_EXIT (fp != NULL);
+  return fp;
+}
+
+/* Set up a test stream with fopencookie, using data from a string
+   literal.  */
+#define OPEN_TEST_STREAM(IN_DATA) open_test_stream (IN_DATA, sizeof (IN_DATA))
+
+/* Wrap getline to verify that (as per the glibc manual), *LINEPTR is
+   returned as non-null and with at least *N bytes (even on error or
+   EOF).  Also clear errno for the benefit of tests that check the
+   value of errno after the call.  */
+
+ssize_t
+wrap_getline (char **lineptr, size_t *n, FILE *stream)
+{
+  errno = 0;
+  ssize_t ret = getline (lineptr, n, stream);
+  if (lineptr != NULL && n != NULL)
+    {
+      TEST_VERIFY (*lineptr != NULL);
+      TEST_VERIFY (malloc_usable_size (*lineptr) >= *n);
+    }
+  return ret;
+}
+
+int
+do_test (void)
+{
+  FILE *fp;
+  char *lineptr = NULL;
+  size_t size = 0;
+  ssize_t ret;
+  mtrace ();
+  /* Test failure with EINVAL (and error indicator for stream set) if
+     lineptr is a null pointer.  */
+  verbose_printf ("Testing lineptr == NULL\n");
+  fp = OPEN_TEST_STREAM ("test");
+  ret = wrap_getline (NULL, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (errno, EINVAL);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  fclose (fp);
+  /* Test failure with EINVAL (and error indicator for stream set) if
+     n is a null pointer.  */
+  verbose_printf ("Testing n == NULL\n");
+  fp = OPEN_TEST_STREAM ("test");
+  ret = wrap_getline (&lineptr, NULL, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (errno, EINVAL);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  fclose (fp);
+  /* Test failure with EINVAL (and error indicator for stream set) if
+     both lineptr and n are null pointers.  */
+  verbose_printf ("Testing lineptr == NULL and n == NULL\n");
+  fp = OPEN_TEST_STREAM ("test");
+  ret = wrap_getline (NULL, NULL, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (errno, EINVAL);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  fclose (fp);
+  /* Test normal line, fitting in available space (including case with
+     null bytes).  */
+  verbose_printf ("Testing normal nonempty input\n");
+  lineptr = xmalloc (10);
+  size = 10;
+  fp = OPEN_TEST_STREAM ("foo\nbar\0\n\0baz\nte\0st\n");
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 4);
+  TEST_COMPARE_BLOB (lineptr, 5, "foo\n", 5);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 5);
+  TEST_COMPARE_BLOB (lineptr, 6, "bar\0\n", 6);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 5);
+  TEST_COMPARE_BLOB (lineptr, 6, "\0baz\n", 6);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 6);
+  TEST_COMPARE_BLOB (lineptr, 7, "te\0st\n", 7);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 1);
+  TEST_COMPARE_BLOB (lineptr, 1, "", 1);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (ferror (fp), 0);
+  TEST_COMPARE (!!feof (fp), 1);
+  fclose (fp);
+  /* Test normal line, with reallocation (including case with null bytes).  */
+  verbose_printf ("Testing normal nonempty input with reallocation\n");
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  fp = OPEN_TEST_STREAM ("foo\nbar\0\n\0baz\nte\0st\n"
+			 "foo\nbar\0\n\0baz\nte\0st\n");
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 4);
+  TEST_COMPARE_BLOB (lineptr, 5, "foo\n", 5);
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 5);
+  TEST_COMPARE_BLOB (lineptr, 6, "bar\0\n", 6);
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 5);
+  TEST_COMPARE_BLOB (lineptr, 6, "\0baz\n", 6);
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 6);
+  TEST_COMPARE_BLOB (lineptr, 7, "te\0st\n", 7);
+  free (lineptr);
+  lineptr = xmalloc (1);
+  size = 1;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 4);
+  TEST_COMPARE_BLOB (lineptr, 5, "foo\n", 5);
+  free (lineptr);
+  lineptr = xmalloc (1);
+  size = 1;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 5);
+  TEST_COMPARE_BLOB (lineptr, 6, "bar\0\n", 6);
+  free (lineptr);
+  lineptr = xmalloc (1);
+  size = 1;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 5);
+  TEST_COMPARE_BLOB (lineptr, 6, "\0baz\n", 6);
+  free (lineptr);
+  lineptr = xmalloc (1);
+  size = 1;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 6);
+  TEST_COMPARE_BLOB (lineptr, 7, "te\0st\n", 7);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 1);
+  TEST_COMPARE_BLOB (lineptr, 1, "", 1);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (ferror (fp), 0);
+  TEST_COMPARE (!!feof (fp), 1);
+  fclose (fp);
+  /* Test EOF before delimiter but after some bytes read, fitting in
+     available space (including case with null bytes).  */
+  verbose_printf ("Testing EOF before delimiter\n");
+  free (lineptr);
+  lineptr = xmalloc (10);
+  size = 10;
+  fp = open_test_stream ("foo", 3);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 3);
+  TEST_COMPARE_BLOB (lineptr, 4, "foo", 4);
+  fclose (fp);
+  free (lineptr);
+  lineptr = xmalloc (10);
+  size = 10;
+  fp = open_test_stream ("bar\0", 4);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 4);
+  TEST_COMPARE_BLOB (lineptr, 5, "bar\0", 5);
+  fclose (fp);
+  free (lineptr);
+  lineptr = xmalloc (10);
+  size = 10;
+  fp = open_test_stream ("\0baz", 4);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 4);
+  TEST_COMPARE_BLOB (lineptr, 5, "\0baz", 5);
+  fclose (fp);
+  free (lineptr);
+  lineptr = xmalloc (10);
+  size = 10;
+  fp = open_test_stream ("te\0st", 5);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 5);
+  TEST_COMPARE_BLOB (lineptr, 6, "te\0st", 6);
+  fclose (fp);
+  /* Test EOF before delimiter but after some bytes read, with
+     reallocation (including case with null bytes).  */
+  verbose_printf ("Testing EOF before delimiter with reallocation\n");
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  fp = open_test_stream ("foo", 3);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 3);
+  TEST_COMPARE_BLOB (lineptr, 4, "foo", 4);
+  fclose (fp);
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  fp = open_test_stream ("bar\0", 4);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 4);
+  TEST_COMPARE_BLOB (lineptr, 5, "bar\0", 5);
+  fclose (fp);
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  fp = open_test_stream ("\0baz", 4);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 4);
+  TEST_COMPARE_BLOB (lineptr, 5, "\0baz", 5);
+  fclose (fp);
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  fp = open_test_stream ("te\0st", 5);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 5);
+  TEST_COMPARE_BLOB (lineptr, 6, "te\0st", 6);
+  fclose (fp);
+  free (lineptr);
+  lineptr = xmalloc (1);
+  size = 1;
+  fp = open_test_stream ("foo", 3);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 3);
+  TEST_COMPARE_BLOB (lineptr, 4, "foo", 4);
+  fclose (fp);
+  free (lineptr);
+  lineptr = xmalloc (1);
+  size = 1;
+  fp = open_test_stream ("bar\0", 4);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 4);
+  TEST_COMPARE_BLOB (lineptr, 5, "bar\0", 5);
+  fclose (fp);
+  free (lineptr);
+  lineptr = xmalloc (1);
+  size = 1;
+  fp = open_test_stream ("\0baz", 4);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 4);
+  TEST_COMPARE_BLOB (lineptr, 5, "\0baz", 5);
+  fclose (fp);
+  free (lineptr);
+  lineptr = xmalloc (1);
+  size = 1;
+  fp = open_test_stream ("te\0st", 5);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 5);
+  TEST_COMPARE_BLOB (lineptr, 6, "te\0st", 6);
+  fclose (fp);
+  /* Test EOF with no bytes read (nothing is specified about anything
+     written to the buffer), including EOF again when already at end
+     of file.  */
+  verbose_printf ("Testing EOF with no bytes read\n");
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  fp = open_test_stream ("", 0);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (ferror (fp), 0);
+  TEST_COMPARE (!!feof (fp), 1);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (ferror (fp), 0);
+  TEST_COMPARE (!!feof (fp), 1);
+  fclose (fp);
+  free (lineptr);
+  lineptr = xmalloc (1);
+  size = 1;
+  fp = open_test_stream ("", 0);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (ferror (fp), 0);
+  TEST_COMPARE (!!feof (fp), 1);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (ferror (fp), 0);
+  TEST_COMPARE (!!feof (fp), 1);
+  fclose (fp);
+  /* Test error occurring with no bytes read, including calling
+     wrap_getline again while the file is in error state.  */
+  verbose_printf ("Testing error with no bytes read\n");
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  fp = open_test_stream ("", 0);
+  the_cookie.in_error = EINVAL;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (errno, EINVAL);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  /* Make sure error state is sticky.  */
+  the_cookie.in_error = 0;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  fclose (fp);
+  /* Test error occurring after some bytes read.  Specifications are
+     ambiguous here; at least in the fopencookie case used for
+     testing, glibc returns the partial line (but with the error
+     indicator on the stream set).  */
+  verbose_printf ("Testing error after some bytes read\n");
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  fp = open_test_stream ("foo", 3);
+  the_cookie.in_error_after = EINVAL;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, 3);
+  TEST_COMPARE_BLOB (lineptr, 4, "foo", 4);
+  TEST_COMPARE (errno, EINVAL);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  /* Make sure error state is sticky.  */
+  the_cookie.in_error = 0;
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  fclose (fp);
+  /* Test EBADF error as a representative example of an fgetc error
+     resulting in an error from wrap_getline.  We don't try to cover all
+     error cases for fgetc here.  */
+  verbose_printf ("Testing EBADF error\n");
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  fp = xfopen ("/dev/null", "r");
+  xclose (fileno (fp));
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (errno, EBADF);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  fclose (fp);
+  /* Test EAGAIN error as an example of an fgetc error on a valid file
+     descriptor.  */
+  verbose_printf ("Testing EAGAIN error\n");
+  free (lineptr);
+  lineptr = NULL;
+  size = 0;
+  int pipefd[2];
+  xpipe (pipefd);
+  ret = fcntl (pipefd[0], F_SETFL, O_NONBLOCK);
+  TEST_VERIFY_EXIT (ret == 0);
+  fp = fdopen (pipefd[0], "r");
+  TEST_VERIFY_EXIT (fp != NULL);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (errno, EAGAIN);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  /* Make sure error state is sticky (even after more data is
+     available to read).  */
+  xwrite (pipefd[1], "x\n", 2);
+  ret = wrap_getline (&lineptr, &size, fp);
+  TEST_COMPARE (ret, -1);
+  TEST_COMPARE (!!ferror (fp), 1);
+  TEST_COMPARE (feof (fp), 0);
+  fclose (fp);
+  free (lineptr);
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/stdio-common/tst-renameat2.c b/stdio-common/tst-renameat2.c
index b65afed75e..7f4345f716 100644
--- a/stdio-common/tst-renameat2.c
+++ b/stdio-common/tst-renameat2.c
@@ -82,7 +82,7 @@ static void
 check_size (const char *path, off64_t expected_size)
 {
   struct stat64 st;
-  xstat (path, &st);
+  xstat64 (path, &st);
   if (st.st_size != expected_size)
     FAIL_EXIT1 ("file \"%s\": expected size %lld, actual size %lld",
                 path, (unsigned long long int) expected_size,
diff --git a/stdio-common/tst-scanf-bz27650.c b/stdio-common/tst-scanf-bz27650.c
new file mode 100644
index 0000000000..3a742bc865
--- /dev/null
+++ b/stdio-common/tst-scanf-bz27650.c
@@ -0,0 +1,108 @@
+/* Test for BZ #27650, formatted input matching beyond INT_MAX.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <error.h>
+#include <errno.h>
+#include <limits.h>
+#include <mcheck.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <sys/types.h>
+
+#include <support/check.h>
+#include <support/test-driver.h>
+
+/* Produce a stream of more than INT_MAX characters via buffer BUF of
+   size SIZE according to bookkeeping in COOKIE and then return EOF.  */
+
+static ssize_t
+io_read (void *cookie, char *buf, size_t size)
+{
+  unsigned int *written = cookie;
+  unsigned int w = *written;
+
+  if (w > INT_MAX)
+    return 0;
+
+  memset (buf, 'a', size);
+  *written = w + size;
+  return size;
+}
+
+/* Consume a stream of more than INT_MAX characters from an artificial
+   input stream of which none is the new line character.  The call to
+   fscanf is supposed to complete upon the EOF condition of input,
+   however in the presence of BZ #27650 it will terminate prematurely
+   with characters still outstanding in input.  Diagnose the condition
+   and return status accordingly.  */
+
+int
+do_test (void)
+{
+  static cookie_io_functions_t io_funcs = { .read = io_read };
+  unsigned int written = 0;
+  FILE *in;
+  int v;
+
+  mtrace ();
+
+  in = fopencookie (&written, "r", io_funcs);
+  if (in == NULL)
+    {
+      FAIL ("fopencookie: %m");
+      goto out;
+    }
+
+  v = fscanf (in, "%*[^\n]");
+  if (ferror (in))
+    {
+      FAIL ("fscanf: input failure, at %u: %m", written);
+      goto out_close;
+    }
+  else if (v == EOF)
+    {
+      FAIL ("fscanf: unexpected end of file, at %u", written);
+      goto out_close;
+    }
+
+  if (!feof (in))
+    {
+      v = fgetc (in);
+      if (ferror (in))
+	FAIL ("fgetc: input failure: %m");
+      else if (v == EOF)
+	FAIL ("fgetc: unexpected end of file after missing end of file");
+      else if (v == '\n')
+	FAIL ("unexpected new line character received");
+      else
+	FAIL ("character received after end of file expected: \\x%02x", v);
+    }
+
+out_close:
+  if (fclose (in) != 0)
+    FAIL ("fclose: %m");
+
+out:
+  return EXIT_SUCCESS;
+}
+
+#define TIMEOUT (DEFAULT_TIMEOUT * 8)
+#include <support/test-driver.c>
diff --git a/stdio-common/tst-ungetc-leak.c b/stdio-common/tst-ungetc-leak.c
new file mode 100644
index 0000000000..6c5152b43f
--- /dev/null
+++ b/stdio-common/tst-ungetc-leak.c
@@ -0,0 +1,32 @@
+/* Test for memory leak with ungetc when stream is unused.
+   Copyright The GNU Toolchain Authors.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <mcheck.h>
+#include <support/check.h>
+#include <support/support.h>
+
+static int
+do_test (void)
+{
+  mtrace ();
+  TEST_COMPARE (ungetc('y', stdin), 'y');
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/stdio-common/tst-ungetc.c b/stdio-common/tst-ungetc.c
index 1344b2b591..388b202493 100644
--- a/stdio-common/tst-ungetc.c
+++ b/stdio-common/tst-ungetc.c
@@ -1,70 +1,74 @@
-/* Test for ungetc bugs.  */
+/* Test for ungetc bugs.
+   Copyright (C) 1996-2024 Free Software Foundation, Inc.
+   Copyright The GNU Toolchain Authors.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <unistd.h>
-
-#undef assert
-#define assert(x) \
-  if (!(x)) \
-    { \
-      fputs ("test failed: " #x "\n", stderr); \
-      retval = 1; \
-      goto the_end; \
-    }
+#include <support/check.h>
+#include <support/support.h>
+#include <support/temp_file.h>
+#include <support/xstdio.h>
+#include <support/xunistd.h>
 
-int
-main (int argc, char *argv[])
+static int
+do_test (void)
 {
-  char name[] = "/tmp/tst-ungetc.XXXXXX";
+  char *name = NULL;
   FILE *fp = NULL;
-  int retval = 0;
   int c;
   char buffer[64];
 
-  int fd = mkstemp (name);
+  int fd = create_temp_file ("tst-ungetc.", &name);
   if (fd == -1)
-    {
-      printf ("mkstemp failed: %m\n");
-      return 1;
-    }
-  close (fd);
-  fp = fopen (name, "w");
-  assert (fp != NULL)
-  fputs ("bla", fp);
-  fclose (fp);
-  fp = NULL;
+    FAIL_EXIT1 ("cannot create temporary file: %m");
+  xclose (fd);
 
-  fp = fopen (name, "r");
-  assert (fp != NULL);
-  assert (ungetc ('z', fp) == 'z');
-  assert (getc (fp) == 'z');
-  assert (getc (fp) == 'b');
-  assert (getc (fp) == 'l');
-  assert (ungetc ('m', fp) == 'm');
-  assert (getc (fp) == 'm');
-  assert ((c = getc (fp)) == 'a');
-  assert (getc (fp) == EOF);
-  assert (ungetc (c, fp) == c);
-  assert (feof (fp) == 0);
-  assert (getc (fp) == c);
-  assert (getc (fp) == EOF);
-  fclose (fp);
-  fp = NULL;
+  fp = xfopen (name, "w");
+  fputs ("bla", fp);
+  xfclose (fp);
 
-  fp = fopen (name, "r");
-  assert (fp != NULL);
-  assert (getc (fp) == 'b');
-  assert (getc (fp) == 'l');
-  assert (ungetc ('b', fp) == 'b');
-  assert (fread (buffer, 1, 64, fp) == 2);
-  assert (buffer[0] == 'b');
-  assert (buffer[1] == 'a');
+  fp = xfopen (name, "r");
+  TEST_VERIFY_EXIT (ungetc ('z', fp) == 'z');
+  TEST_VERIFY_EXIT (getc (fp) == 'z');
+  TEST_VERIFY_EXIT (getc (fp) == 'b');
+  TEST_VERIFY_EXIT (getc (fp) == 'l');
+  TEST_VERIFY_EXIT (ungetc ('m', fp) == 'm');
+  TEST_VERIFY_EXIT (ungetc ('n', fp) == 'n');
+  TEST_VERIFY_EXIT (getc (fp) == 'n');
+  TEST_VERIFY_EXIT (getc (fp) == 'm');
+  TEST_VERIFY_EXIT ((c = getc (fp)) == 'a');
+  TEST_VERIFY_EXIT (getc (fp) == EOF);
+  TEST_VERIFY_EXIT (ungetc (c, fp) == c);
+  TEST_VERIFY_EXIT (feof (fp) == 0);
+  TEST_VERIFY_EXIT (getc (fp) == c);
+  TEST_VERIFY_EXIT (getc (fp) == EOF);
+  xfclose (fp);
 
-the_end:
-  if (fp != NULL)
-    fclose (fp);
-  unlink (name);
+  fp = xfopen (name, "r");
+  TEST_VERIFY_EXIT (getc (fp) == 'b');
+  TEST_VERIFY_EXIT (getc (fp) == 'l');
+  TEST_VERIFY_EXIT (ungetc ('b', fp) == 'b');
+  TEST_VERIFY_EXIT (fread (buffer, 1, 64, fp) == 2);
+  TEST_VERIFY_EXIT (buffer[0] == 'b');
+  TEST_VERIFY_EXIT (buffer[1] == 'a');
+  xfclose (fp);
 
-  return retval;
+  return 0;
 }
+
+#include <support/test-driver.c>
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 8b0ac63ddb..347491de53 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -273,6 +273,8 @@ tests := \
   tst-bsearch \
   tst-bz20544 \
   tst-canon-bz26341 \
+  tst-concurrent-exit \
+  tst-concurrent-quick_exit \
   tst-cxa_atexit \
   tst-environ \
   tst-getrandom \
@@ -623,3 +625,5 @@ $(objpfx)tst-setcontext3.out: tst-setcontext3.sh $(objpfx)tst-setcontext3
 	$(evaluate-test)
 
 $(objpfx)tst-qsort5: $(libm)
+$(objpfx)tst-concurrent-exit: $(shared-thread-library)
+$(objpfx)tst-concurrent-quick_exit: $(shared-thread-library)
diff --git a/stdlib/arc4random.c b/stdlib/arc4random.c
index 3ae8fc1302..7818cb9cf6 100644
--- a/stdlib/arc4random.c
+++ b/stdlib/arc4random.c
@@ -51,7 +51,7 @@ __arc4random_buf (void *p, size_t n)
 	  n -= l;
 	  continue; /* Interrupted by a signal; keep going.  */
 	}
-      else if (l == -ENOSYS)
+      else if (l < 0 && errno == ENOSYS)
 	break; /* No syscall, so fallback to /dev/urandom.  */
       arc4random_getrandom_failure ();
     }
diff --git a/stdlib/bits/stdlib.h b/stdlib/bits/stdlib.h
index 1557b862b1..9c78ecf458 100644
--- a/stdlib/bits/stdlib.h
+++ b/stdlib/bits/stdlib.h
@@ -43,16 +43,16 @@ __NTH (realpath (const char *__restrict __name,
 					     "bytes long buffer")
 #endif
 {
-  size_t sz = __glibc_objsize (__resolved);
+  size_t __sz = __glibc_objsize (__resolved);
 
-  if (sz == (size_t) -1)
+  if (__sz == (size_t) -1)
     return __realpath_alias (__name, __resolved);
 
 #if !__fortify_use_clang && defined _LIBC_LIMITS_H_ && defined PATH_MAX
-  if (__glibc_unsafe_len (PATH_MAX, sizeof (char), sz))
-    return __realpath_chk_warn (__name, __resolved, sz);
+  if (__glibc_unsafe_len (PATH_MAX, sizeof (char), __sz))
+    return __realpath_chk_warn (__name, __resolved, __sz);
 #endif
-  return __realpath_chk (__name, __resolved, sz);
+  return __realpath_chk (__name, __resolved, __sz);
 }
 
 
diff --git a/stdlib/exit.c b/stdlib/exit.c
index 5166c78044..8d7e2e53d0 100644
--- a/stdlib/exit.c
+++ b/stdlib/exit.c
@@ -28,6 +28,13 @@
    __exit_funcs_lock is declared.  */
 bool __exit_funcs_done = false;
 
+/* The lock handles concurrent exit() and quick_exit(), even though the
+   C/POSIX standard states that calling exit() more than once is UB.  The
+   recursive lock allows atexit() handlers or destructors to call exit()
+   itself.  In this case, the  handler list execution will resume at the
+   point of the current handler.  */
+__libc_lock_define_initialized_recursive (static, __exit_lock)
+
 /* Call all functions registered with `atexit' and `on_exit',
    in the reverse of the order in which they were registered
    perform stdio cleanup, and terminate program execution with STATUS.  */
@@ -36,6 +43,9 @@ attribute_hidden
 __run_exit_handlers (int status, struct exit_function_list **listp,
 		     bool run_list_atexit, bool run_dtors)
 {
+  /* The exit should never return, so there is no need to unlock it.  */
+  __libc_lock_lock_recursive (__exit_lock);
+
   /* First, call the TLS destructors.  */
   if (run_dtors)
     call_function_static_weak (__call_tls_dtors);
diff --git a/stdlib/gen-tst-strtod-round.c b/stdlib/gen-tst-strtod-round.c
index e48bf4d6ea..7ce735f81d 100644
--- a/stdlib/gen-tst-strtod-round.c
+++ b/stdlib/gen-tst-strtod-round.c
@@ -46,6 +46,7 @@ static int
 string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd)
 {
   mpfr_clear_overflow ();
+  mpfr_clear_underflow ();
 #ifdef WORKAROUND
   mpfr_t f2;
   mpfr_init2 (f2, 100000);
@@ -53,12 +54,16 @@ string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd)
   int r = mpfr_set (f, f2, rnd);
   r |= mpfr_subnormalize (f, r, rnd);
   mpfr_clear (f2);
-  return r0 | r;
+  r |= r0;
 #else
   int r = mpfr_strtofr (f, s, NULL, 0, rnd);
   r |= mpfr_subnormalize (f, r, rnd);
-  return r;
 #endif
+  if (r == 0)
+    /* The MPFR underflow flag is set for exact subnormal results,
+       which is not wanted here.  */
+    mpfr_clear_underflow ();
+  return r;
 }
 
 void
@@ -70,6 +75,21 @@ print_fp (FILE *fout, mpfr_t f, const char *suffix)
     mpfr_fprintf (fout, "\t%Ra%s", f, suffix);
 }
 
+static const char *
+suffix_to_print (bool overflow, bool underflow, bool underflow_before_rounding,
+		 bool with_comma)
+{
+  if (overflow)
+    return with_comma ? ", true, false,\n" : ", true, false";
+  if (underflow)
+    return with_comma ? ", false, true,\n" : ", false, true";
+  if (underflow_before_rounding)
+    return (with_comma
+	    ? ", false, !TININESS_AFTER_ROUNDING,\n"
+	    : ", false, !TININESS_AFTER_ROUNDING");
+  return with_comma ? ", false, false,\n" : ", false, false";
+}
+
 static void
 round_str (FILE *fout, const char *s, int prec, int emin, int emax,
 	   bool ibm_ld)
@@ -80,8 +100,11 @@ round_str (FILE *fout, const char *s, int prec, int emin, int emax,
   mpfr_set_emin (emin);
   mpfr_set_emax (emax);
   mpfr_init (f);
+  string_to_fp (f, s, MPFR_RNDZ);
+  bool underflow_before_rounding = mpfr_underflow_p () != 0;
   int r = string_to_fp (f, s, MPFR_RNDD);
   bool overflow = mpfr_overflow_p () != 0;
+  bool underflow = mpfr_underflow_p () != 0;
   if (ibm_ld)
     {
       assert (prec == 106 && emin == -1073 && emax == 1024);
@@ -97,19 +120,27 @@ round_str (FILE *fout, const char *s, int prec, int emin, int emax,
 	}
     }
   mpfr_fprintf (fout, "\t%s,\n", r ? "false" : "true");
-  print_fp (fout, f, overflow ? ", true,\n" : ", false,\n");
+  print_fp (fout, f,
+	    suffix_to_print (overflow, underflow, underflow_before_rounding,
+			     true));
   string_to_fp (f, s, MPFR_RNDN);
   overflow = (mpfr_overflow_p () != 0
 	      || (ibm_ld && mpfr_cmpabs (f, max_value) > 0));
-  print_fp (fout, f, overflow ? ", true,\n" : ", false,\n");
+  print_fp (fout, f,
+	    suffix_to_print (overflow, underflow, underflow_before_rounding,
+			     true));
   string_to_fp (f, s, MPFR_RNDZ);
   overflow = (mpfr_overflow_p () != 0
 	      || (ibm_ld && mpfr_cmpabs (f, max_value) > 0));
-  print_fp (fout, f, overflow ? ", true,\n" : ", false,\n");
+  print_fp (fout, f,
+	    suffix_to_print (overflow, underflow, underflow_before_rounding,
+			     true));
   string_to_fp (f, s, MPFR_RNDU);
   overflow = (mpfr_overflow_p () != 0
 	      || (ibm_ld && mpfr_cmpabs (f, max_value) > 0));
-  print_fp (fout, f, overflow ? ", true" : ", false");
+  print_fp (fout, f,
+	    suffix_to_print (overflow, underflow, underflow_before_rounding,
+			     false));
   mpfr_clear (f);
   if (ibm_ld)
     mpfr_clear (max_value);
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 901926e893..17487c6640 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -727,7 +727,7 @@ extern void *aligned_alloc (size_t __alignment, size_t __size)
 #endif
 
 /* Abort execution and generate a core-dump.  */
-extern void abort (void) __THROW __attribute__ ((__noreturn__));
+extern void abort (void) __THROW __attribute__ ((__noreturn__)) __COLD;
 
 
 /* Register a function to be called when `exit' is called.  */
diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
index be515ce659..beb97b3d0c 100644
--- a/stdlib/strtod_l.c
+++ b/stdlib/strtod_l.c
@@ -222,6 +222,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
 
       mp_size_t shift = MIN_EXP - 1 - exponent;
       bool is_tiny = true;
+      bool old_half_bit = (round_limb & (((mp_limb_t) 1) << round_bit)) != 0;
 
       more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0;
       if (shift == MANT_DIG)
@@ -292,6 +293,7 @@ round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
 	  round_bit = shift - 1;
 	  (void) __mpn_rshift (retval, retval, RETURN_LIMB_SIZE, shift);
 	}
+      more_bits |= old_half_bit;
       /* This is a hook for the m68k long double format, where the
 	 exponent bias is the same for normalized and denormalized
 	 numbers.  */
diff --git a/stdlib/strtod_nan_main.c b/stdlib/strtod_nan_main.c
index 4cb286d2b3..39fb7e9f75 100644
--- a/stdlib/strtod_nan_main.c
+++ b/stdlib/strtod_nan_main.c
@@ -16,6 +16,7 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+#include <errno.h>
 #include <ieee754.h>
 #include <locale.h>
 #include <math.h>
@@ -50,7 +51,9 @@ STRTOD_NAN (const STRING_TYPE *str, STRING_TYPE **endptr, STRING_TYPE endc)
   STRING_TYPE *endp;
   unsigned long long int mant;
 
+  int save_errno = errno;
   mant = STRTOULL (str, &endp, 0);
+  __set_errno (save_errno);
   if (endp == cp)
     SET_NAN_PAYLOAD (retval, mant);
 
diff --git a/stdlib/tst-concurrent-exit-skeleton.c b/stdlib/tst-concurrent-exit-skeleton.c
new file mode 100644
index 0000000000..cfd5140466
--- /dev/null
+++ b/stdlib/tst-concurrent-exit-skeleton.c
@@ -0,0 +1,160 @@
+/* Check if exit/quick_exit can be called concurrently by multiple threads.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <array_length.h>
+#include <stdlib.h>
+#include <support/check.h>
+#include <support/xthread.h>
+#include <stdio.h>
+#include <support/xunistd.h>
+#include <string.h>
+
+/* A value larger than the minimum required by C/POSIX (32), to trigger a
+   new block memory allocation.  */
+#define MAX_atexit 64
+
+static pthread_barrier_t barrier;
+
+static void *
+tf (void *closure)
+{
+  xpthread_barrier_wait (&barrier);
+  EXIT (0);
+
+  return NULL;
+}
+
+static const char expected[] = "00000000000000000000000000000000000"
+			       "00000000000000000000003021121130211";
+static char crumbs[sizeof (expected)];
+static int next_slot = 0;
+
+static void
+exit_with_flush (int code)
+{
+  fflush (stdout);
+  /* glibc allows recursive EXIT, the ATEXIT handlers execution will be
+     resumed from the where the previous EXIT was interrupted.  */
+  EXIT (code);
+}
+
+/* Take some time, so another thread potentially issue EXIT.  */
+#define SETUP_NANOSLEEP \
+  if (nanosleep (&(struct timespec) { .tv_sec = 0, .tv_nsec = 1000L },	\
+		 NULL) != 0)						\
+    FAIL_EXIT1 ("nanosleep: %m")
+
+static void
+fn0 (void)
+{
+  crumbs[next_slot++] = '0';
+  SETUP_NANOSLEEP;
+}
+
+static void
+fn1 (void)
+{
+  crumbs[next_slot++] = '1';
+  SETUP_NANOSLEEP;
+}
+
+static void
+fn2 (void)
+{
+  crumbs[next_slot++] = '2';
+  ATEXIT (fn1);
+  SETUP_NANOSLEEP;
+}
+
+static void
+fn3 (void)
+{
+  crumbs[next_slot++] = '3';
+  ATEXIT (fn2);
+  ATEXIT (fn0);
+  SETUP_NANOSLEEP;
+}
+
+static void
+fn_final (void)
+{
+  TEST_COMPARE_STRING (crumbs, expected);
+  exit_with_flush (0);
+}
+
+_Noreturn static void
+child (void)
+{
+  enum { nthreads = 8 };
+
+  xpthread_barrier_init (&barrier, NULL, nthreads + 1);
+
+  pthread_t thr[nthreads];
+  for (int i = 0; i < nthreads; i++)
+    thr[i] = xpthread_create (NULL, tf, NULL);
+
+  xpthread_barrier_wait (&barrier);
+
+  for (int i = 0; i < nthreads; i++)
+    {
+      pthread_join (thr[i], NULL);
+      /* It should not be reached, it means that thread did not exit for
+	 some reason.  */
+      support_record_failure ();
+    }
+
+  EXIT (2);
+}
+
+static int
+do_test (void)
+{
+  /* Register a large number of handler that will trigger a heap allocation
+     for the handle state.  On EXIT, each block will be freed after the
+     handle is processed.  */
+  int slots_remaining = MAX_atexit;
+
+  /* Register this first so it can verify expected order of the rest.  */
+  ATEXIT (fn_final); --slots_remaining;
+
+  TEST_VERIFY_EXIT (ATEXIT (fn1) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn3) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn1) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn2) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn1) == 0); --slots_remaining;
+  TEST_VERIFY_EXIT (ATEXIT (fn3) == 0); --slots_remaining;
+
+  while (slots_remaining > 0)
+    {
+      TEST_VERIFY_EXIT (ATEXIT (fn0) == 0); --slots_remaining;
+    }
+
+  pid_t pid = xfork ();
+  if (pid != 0)
+    {
+      int status;
+      xwaitpid (pid, &status, 0);
+      TEST_VERIFY (WIFEXITED (status));
+    }
+  else
+    child ();
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/stdlib/tst-concurrent-exit.c b/stdlib/tst-concurrent-exit.c
new file mode 100644
index 0000000000..421c39d631
--- /dev/null
+++ b/stdlib/tst-concurrent-exit.c
@@ -0,0 +1,22 @@
+/* Check if exit can be called concurrently by multiple threads.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#define EXIT(__r)    exit (__r)
+#define ATEXIT(__f)  atexit (__f)
+
+#include "tst-concurrent-exit-skeleton.c"
diff --git a/stdlib/tst-concurrent-quick_exit.c b/stdlib/tst-concurrent-quick_exit.c
new file mode 100644
index 0000000000..3f321668d6
--- /dev/null
+++ b/stdlib/tst-concurrent-quick_exit.c
@@ -0,0 +1,22 @@
+/* Check if quick_exit can be called concurrently by multiple threads.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#define EXIT(__r)    quick_exit (__r)
+#define ATEXIT(__f)  at_quick_exit (__f)
+
+#include "tst-concurrent-exit-skeleton.c"
diff --git a/stdlib/tst-strtod-round-data b/stdlib/tst-strtod-round-data
index 84ab705709..9489fbcc9c 100644
--- a/stdlib/tst-strtod-round-data
+++ b/stdlib/tst-strtod-round-data
@@ -265,3 +265,15 @@
 1.000000000000000000000000000000000385185988877447170611195588516985463707620329643077639047987759113311767578125
 1.0000000000000000000000000000000001925929944387235853055977942584927318538101648215388195239938795566558837890625
 1.00000000000000000000000000000000009629649721936179265279889712924636592690508241076940976199693977832794189453125
+0x30000002222225p-1077
+0x0.7fffffffffffeap-1022
+0x0.7fffffffffffe9p-1022
+0x0.7ffffd4p-126
+0x0.7ffffffffffffffd4p-16382
+0x0.7ffffffffffffffd4p-16383
+0x0.7ffffffffffffffffffffffffffeap-16382
+0x0.7000004p-126
+0x0.70000000000002p-1022
+0x0.70000000000000004p-16382
+0x0.70000000000000004p-16383
+0x0.70000000000000000000000000002p-16382
diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h
index 8899d15f9b..ed50eb2537 100644
--- a/stdlib/tst-strtod-round-data.h
+++ b/stdlib/tst-strtod-round-data.h
@@ -2,1852 +2,1852 @@
 static const struct test tests[] = {
   TEST ("3.518437208883201171875E+013",
 	false,
-	0x2p+44, false,
-	0x2p+44, false,
-	0x2p+44, false,
-	0x2.000004p+44, false,
-	false,
-	0x2.0000000000002p+44, false,
-	0x2.0000000000004p+44, false,
-	0x2.0000000000002p+44, false,
-	0x2.0000000000004p+44, false,
-	true,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	true,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	true,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	true,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false,
-	0x2.0000000000003p+44, false),
+	0x2p+44, false, false,
+	0x2p+44, false, false,
+	0x2p+44, false, false,
+	0x2.000004p+44, false, false,
+	false,
+	0x2.0000000000002p+44, false, false,
+	0x2.0000000000004p+44, false, false,
+	0x2.0000000000002p+44, false, false,
+	0x2.0000000000004p+44, false, false,
+	true,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	true,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	true,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	true,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false,
+	0x2.0000000000003p+44, false, false),
   TEST ("1.00000005960464477550",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000004p+0, false,
-	false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000004p+0, false,
-	false,
-	0x1.0000010000000002048242f2ffp+0, false,
-	0x1.0000010000000002048242f2ff8p+0, false,
-	0x1.0000010000000002048242f2ffp+0, false,
-	0x1.0000010000000002048242f2ff8p+0, false,
-	false,
-	0x1.0000010000000002048242f2ff66p+0, false,
-	0x1.0000010000000002048242f2ff67p+0, false,
-	0x1.0000010000000002048242f2ff66p+0, false,
-	0x1.0000010000000002048242f2ff67p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000004p+0, false, false,
+	false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000004p+0, false, false,
+	false,
+	0x1.0000010000000002048242f2ffp+0, false, false,
+	0x1.0000010000000002048242f2ff8p+0, false, false,
+	0x1.0000010000000002048242f2ffp+0, false, false,
+	0x1.0000010000000002048242f2ff8p+0, false, false,
+	false,
+	0x1.0000010000000002048242f2ff66p+0, false, false,
+	0x1.0000010000000002048242f2ff67p+0, false, false,
+	0x1.0000010000000002048242f2ff66p+0, false, false,
+	0x1.0000010000000002048242f2ff67p+0, false, false),
   TEST ("1.0000000596046447755",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000004p+0, false,
-	false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000002p+0, false,
-	0x1.0000010000000004p+0, false,
-	false,
-	0x1.0000010000000002048242f2ffp+0, false,
-	0x1.0000010000000002048242f2ff8p+0, false,
-	0x1.0000010000000002048242f2ffp+0, false,
-	0x1.0000010000000002048242f2ff8p+0, false,
-	false,
-	0x1.0000010000000002048242f2ff66p+0, false,
-	0x1.0000010000000002048242f2ff67p+0, false,
-	0x1.0000010000000002048242f2ff66p+0, false,
-	0x1.0000010000000002048242f2ff67p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000004p+0, false, false,
+	false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	0x1.0000010000000004p+0, false, false,
+	false,
+	0x1.0000010000000002048242f2ffp+0, false, false,
+	0x1.0000010000000002048242f2ff8p+0, false, false,
+	0x1.0000010000000002048242f2ffp+0, false, false,
+	0x1.0000010000000002048242f2ff8p+0, false, false,
+	false,
+	0x1.0000010000000002048242f2ff66p+0, false, false,
+	0x1.0000010000000002048242f2ff67p+0, false, false,
+	0x1.0000010000000002048242f2ff66p+0, false, false,
+	0x1.0000010000000002048242f2ff67p+0, false, false),
   TEST ("1.000000059604644776",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.000001000000000ap+0, false,
-	0x1.000001000000000cp+0, false,
-	0x1.000001000000000ap+0, false,
-	0x1.000001000000000cp+0, false,
-	false,
-	0x1.000001000000000ap+0, false,
-	0x1.000001000000000cp+0, false,
-	0x1.000001000000000ap+0, false,
-	0x1.000001000000000cp+0, false,
-	false,
-	0x1.000001000000000b3db12bdc21p+0, false,
-	0x1.000001000000000b3db12bdc21p+0, false,
-	0x1.000001000000000b3db12bdc21p+0, false,
-	0x1.000001000000000b3db12bdc218p+0, false,
-	false,
-	0x1.000001000000000b3db12bdc213cp+0, false,
-	0x1.000001000000000b3db12bdc213dp+0, false,
-	0x1.000001000000000b3db12bdc213cp+0, false,
-	0x1.000001000000000b3db12bdc213dp+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.000001000000000ap+0, false, false,
+	0x1.000001000000000cp+0, false, false,
+	0x1.000001000000000ap+0, false, false,
+	0x1.000001000000000cp+0, false, false,
+	false,
+	0x1.000001000000000ap+0, false, false,
+	0x1.000001000000000cp+0, false, false,
+	0x1.000001000000000ap+0, false, false,
+	0x1.000001000000000cp+0, false, false,
+	false,
+	0x1.000001000000000b3db12bdc21p+0, false, false,
+	0x1.000001000000000b3db12bdc21p+0, false, false,
+	0x1.000001000000000b3db12bdc21p+0, false, false,
+	0x1.000001000000000b3db12bdc218p+0, false, false,
+	false,
+	0x1.000001000000000b3db12bdc213cp+0, false, false,
+	0x1.000001000000000b3db12bdc213dp+0, false, false,
+	0x1.000001000000000b3db12bdc213cp+0, false, false,
+	0x1.000001000000000b3db12bdc213dp+0, false, false),
   TEST ("1.000000059604644775",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffffffp+0, false,
-	0x1.000001p+0, false,
-	0x1.000000fffffffp+0, false,
-	0x1.000001p+0, false,
-	false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffffap+0, false,
-	false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffff8p+0, false,
-	0x1.000000fffffffffap+0, false,
-	false,
-	0x1.000000fffffffff8cb535a09dd8p+0, false,
-	0x1.000000fffffffff8cb535a09dd8p+0, false,
-	0x1.000000fffffffff8cb535a09dd8p+0, false,
-	0x1.000000fffffffff8cb535a09dep+0, false,
-	false,
-	0x1.000000fffffffff8cb535a09dd9p+0, false,
-	0x1.000000fffffffff8cb535a09dd91p+0, false,
-	0x1.000000fffffffff8cb535a09dd9p+0, false,
-	0x1.000000fffffffff8cb535a09dd91p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffffffp+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000000fffffffp+0, false, false,
+	0x1.000001p+0, false, false,
+	false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffffap+0, false, false,
+	false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffff8p+0, false, false,
+	0x1.000000fffffffffap+0, false, false,
+	false,
+	0x1.000000fffffffff8cb535a09dd8p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd8p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd8p+0, false, false,
+	0x1.000000fffffffff8cb535a09dep+0, false, false,
+	false,
+	0x1.000000fffffffff8cb535a09dd9p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd91p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd9p+0, false, false,
+	0x1.000000fffffffff8cb535a09dd91p+0, false, false),
   TEST ("1.00000005960464478",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.0000010000000054p+0, false,
-	0x1.0000010000000056p+0, false,
-	0x1.0000010000000054p+0, false,
-	0x1.0000010000000056p+0, false,
-	false,
-	0x1.0000010000000054p+0, false,
-	0x1.0000010000000056p+0, false,
-	0x1.0000010000000054p+0, false,
-	0x1.0000010000000056p+0, false,
-	false,
-	0x1.0000010000000055072873252f8p+0, false,
-	0x1.0000010000000055072873253p+0, false,
-	0x1.0000010000000055072873252f8p+0, false,
-	0x1.0000010000000055072873253p+0, false,
-	false,
-	0x1.0000010000000055072873252febp+0, false,
-	0x1.0000010000000055072873252febp+0, false,
-	0x1.0000010000000055072873252febp+0, false,
-	0x1.0000010000000055072873252fecp+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.0000010000000054p+0, false, false,
+	0x1.0000010000000056p+0, false, false,
+	0x1.0000010000000054p+0, false, false,
+	0x1.0000010000000056p+0, false, false,
+	false,
+	0x1.0000010000000054p+0, false, false,
+	0x1.0000010000000056p+0, false, false,
+	0x1.0000010000000054p+0, false, false,
+	0x1.0000010000000056p+0, false, false,
+	false,
+	0x1.0000010000000055072873252f8p+0, false, false,
+	0x1.0000010000000055072873253p+0, false, false,
+	0x1.0000010000000055072873252f8p+0, false, false,
+	0x1.0000010000000055072873253p+0, false, false,
+	false,
+	0x1.0000010000000055072873252febp+0, false, false,
+	0x1.0000010000000055072873252febp+0, false, false,
+	0x1.0000010000000055072873252febp+0, false, false,
+	0x1.0000010000000055072873252fecp+0, false, false),
   TEST ("1.0000000596046448",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.00000100000001c4p+0, false,
-	0x1.00000100000001c6p+0, false,
-	0x1.00000100000001c4p+0, false,
-	0x1.00000100000001c6p+0, false,
-	false,
-	0x1.00000100000001c4p+0, false,
-	0x1.00000100000001c6p+0, false,
-	0x1.00000100000001c4p+0, false,
-	0x1.00000100000001c6p+0, false,
-	false,
-	0x1.00000100000001c5f67cd79279p+0, false,
-	0x1.00000100000001c5f67cd792798p+0, false,
-	0x1.00000100000001c5f67cd79279p+0, false,
-	0x1.00000100000001c5f67cd792798p+0, false,
-	false,
-	0x1.00000100000001c5f67cd7927953p+0, false,
-	0x1.00000100000001c5f67cd7927954p+0, false,
-	0x1.00000100000001c5f67cd7927953p+0, false,
-	0x1.00000100000001c5f67cd7927954p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.00000100000001c4p+0, false, false,
+	0x1.00000100000001c6p+0, false, false,
+	0x1.00000100000001c4p+0, false, false,
+	0x1.00000100000001c6p+0, false, false,
+	false,
+	0x1.00000100000001c4p+0, false, false,
+	0x1.00000100000001c6p+0, false, false,
+	0x1.00000100000001c4p+0, false, false,
+	0x1.00000100000001c6p+0, false, false,
+	false,
+	0x1.00000100000001c5f67cd79279p+0, false, false,
+	0x1.00000100000001c5f67cd792798p+0, false, false,
+	0x1.00000100000001c5f67cd79279p+0, false, false,
+	0x1.00000100000001c5f67cd792798p+0, false, false,
+	false,
+	0x1.00000100000001c5f67cd7927953p+0, false, false,
+	0x1.00000100000001c5f67cd7927954p+0, false, false,
+	0x1.00000100000001c5f67cd7927953p+0, false, false,
+	0x1.00000100000001c5f67cd7927954p+0, false, false),
   TEST ("1.000000059604645",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.0000010000001p+0, false,
-	0x1.0000010000001p+0, false,
-	0x1.0000010000001p+0, false,
-	0x1.0000010000002p+0, false,
-	false,
-	0x1.000001000000102ep+0, false,
-	0x1.000001000000103p+0, false,
-	0x1.000001000000102ep+0, false,
-	0x1.000001000000103p+0, false,
-	false,
-	0x1.000001000000102ep+0, false,
-	0x1.000001000000103p+0, false,
-	0x1.000001000000102ep+0, false,
-	0x1.000001000000103p+0, false,
-	false,
-	0x1.000001000000102f4fc8c3d757p+0, false,
-	0x1.000001000000102f4fc8c3d7578p+0, false,
-	0x1.000001000000102f4fc8c3d757p+0, false,
-	0x1.000001000000102f4fc8c3d7578p+0, false,
-	false,
-	0x1.000001000000102f4fc8c3d75769p+0, false,
-	0x1.000001000000102f4fc8c3d75769p+0, false,
-	0x1.000001000000102f4fc8c3d75769p+0, false,
-	0x1.000001000000102f4fc8c3d7576ap+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.0000010000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	0x1.0000010000002p+0, false, false,
+	false,
+	0x1.000001000000102ep+0, false, false,
+	0x1.000001000000103p+0, false, false,
+	0x1.000001000000102ep+0, false, false,
+	0x1.000001000000103p+0, false, false,
+	false,
+	0x1.000001000000102ep+0, false, false,
+	0x1.000001000000103p+0, false, false,
+	0x1.000001000000102ep+0, false, false,
+	0x1.000001000000103p+0, false, false,
+	false,
+	0x1.000001000000102f4fc8c3d757p+0, false, false,
+	0x1.000001000000102f4fc8c3d7578p+0, false, false,
+	0x1.000001000000102f4fc8c3d757p+0, false, false,
+	0x1.000001000000102f4fc8c3d7578p+0, false, false,
+	false,
+	0x1.000001000000102f4fc8c3d75769p+0, false, false,
+	0x1.000001000000102f4fc8c3d75769p+0, false, false,
+	0x1.000001000000102f4fc8c3d75769p+0, false, false,
+	0x1.000001000000102f4fc8c3d7576ap+0, false, false),
   TEST ("1.00000005960464",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffffeap+0, false,
-	0x1.000000fffffeap+0, false,
-	0x1.000000fffffeap+0, false,
-	0x1.000000fffffebp+0, false,
-	false,
-	0x1.000000fffffea7e4p+0, false,
-	0x1.000000fffffea7e6p+0, false,
-	0x1.000000fffffea7e4p+0, false,
-	0x1.000000fffffea7e6p+0, false,
-	false,
-	0x1.000000fffffea7e4p+0, false,
-	0x1.000000fffffea7e6p+0, false,
-	0x1.000000fffffea7e4p+0, false,
-	0x1.000000fffffea7e6p+0, false,
-	false,
-	0x1.000000fffffea7e5975eb11da7p+0, false,
-	0x1.000000fffffea7e5975eb11da78p+0, false,
-	0x1.000000fffffea7e5975eb11da7p+0, false,
-	0x1.000000fffffea7e5975eb11da78p+0, false,
-	false,
-	0x1.000000fffffea7e5975eb11da74ap+0, false,
-	0x1.000000fffffea7e5975eb11da74bp+0, false,
-	0x1.000000fffffea7e5975eb11da74ap+0, false,
-	0x1.000000fffffea7e5975eb11da74bp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffffeap+0, false, false,
+	0x1.000000fffffeap+0, false, false,
+	0x1.000000fffffeap+0, false, false,
+	0x1.000000fffffebp+0, false, false,
+	false,
+	0x1.000000fffffea7e4p+0, false, false,
+	0x1.000000fffffea7e6p+0, false, false,
+	0x1.000000fffffea7e4p+0, false, false,
+	0x1.000000fffffea7e6p+0, false, false,
+	false,
+	0x1.000000fffffea7e4p+0, false, false,
+	0x1.000000fffffea7e6p+0, false, false,
+	0x1.000000fffffea7e4p+0, false, false,
+	0x1.000000fffffea7e6p+0, false, false,
+	false,
+	0x1.000000fffffea7e5975eb11da7p+0, false, false,
+	0x1.000000fffffea7e5975eb11da78p+0, false, false,
+	0x1.000000fffffea7e5975eb11da7p+0, false, false,
+	0x1.000000fffffea7e5975eb11da78p+0, false, false,
+	false,
+	0x1.000000fffffea7e5975eb11da74ap+0, false, false,
+	0x1.000000fffffea7e5975eb11da74bp+0, false, false,
+	0x1.000000fffffea7e5975eb11da74ap+0, false, false,
+	0x1.000000fffffea7e5975eb11da74bp+0, false, false),
   TEST ("1.0000000596046",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffff36p+0, false,
-	0x1.000000fffff36p+0, false,
-	0x1.000000fffff36p+0, false,
-	0x1.000000fffff37p+0, false,
-	false,
-	0x1.000000fffff36596p+0, false,
-	0x1.000000fffff36598p+0, false,
-	0x1.000000fffff36596p+0, false,
-	0x1.000000fffff36598p+0, false,
-	false,
-	0x1.000000fffff36596p+0, false,
-	0x1.000000fffff36598p+0, false,
-	0x1.000000fffff36596p+0, false,
-	0x1.000000fffff36598p+0, false,
-	false,
-	0x1.000000fffff36597d40e1b5026p+0, false,
-	0x1.000000fffff36597d40e1b50268p+0, false,
-	0x1.000000fffff36597d40e1b5026p+0, false,
-	0x1.000000fffff36597d40e1b50268p+0, false,
-	false,
-	0x1.000000fffff36597d40e1b502655p+0, false,
-	0x1.000000fffff36597d40e1b502656p+0, false,
-	0x1.000000fffff36597d40e1b502655p+0, false,
-	0x1.000000fffff36597d40e1b502656p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffff36p+0, false, false,
+	0x1.000000fffff36p+0, false, false,
+	0x1.000000fffff36p+0, false, false,
+	0x1.000000fffff37p+0, false, false,
+	false,
+	0x1.000000fffff36596p+0, false, false,
+	0x1.000000fffff36598p+0, false, false,
+	0x1.000000fffff36596p+0, false, false,
+	0x1.000000fffff36598p+0, false, false,
+	false,
+	0x1.000000fffff36596p+0, false, false,
+	0x1.000000fffff36598p+0, false, false,
+	0x1.000000fffff36596p+0, false, false,
+	0x1.000000fffff36598p+0, false, false,
+	false,
+	0x1.000000fffff36597d40e1b5026p+0, false, false,
+	0x1.000000fffff36597d40e1b50268p+0, false, false,
+	0x1.000000fffff36597d40e1b5026p+0, false, false,
+	0x1.000000fffff36597d40e1b50268p+0, false, false,
+	false,
+	0x1.000000fffff36597d40e1b502655p+0, false, false,
+	0x1.000000fffff36597d40e1b502656p+0, false, false,
+	0x1.000000fffff36597d40e1b502655p+0, false, false,
+	0x1.000000fffff36597d40e1b502656p+0, false, false),
   TEST ("1.000000059605",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001000063fp+0, false,
-	0x1.000001000064p+0, false,
-	0x1.000001000063fp+0, false,
-	0x1.000001000064p+0, false,
-	false,
-	0x1.000001000063fcap+0, false,
-	0x1.000001000063fca2p+0, false,
-	0x1.000001000063fcap+0, false,
-	0x1.000001000063fca2p+0, false,
-	false,
-	0x1.000001000063fcap+0, false,
-	0x1.000001000063fca2p+0, false,
-	0x1.000001000063fcap+0, false,
-	0x1.000001000063fca2p+0, false,
-	false,
-	0x1.000001000063fca17533f5572f8p+0, false,
-	0x1.000001000063fca17533f5573p+0, false,
-	0x1.000001000063fca17533f5572f8p+0, false,
-	0x1.000001000063fca17533f5573p+0, false,
-	false,
-	0x1.000001000063fca17533f5572fe9p+0, false,
-	0x1.000001000063fca17533f5572feap+0, false,
-	0x1.000001000063fca17533f5572fe9p+0, false,
-	0x1.000001000063fca17533f5572feap+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001000063fp+0, false, false,
+	0x1.000001000064p+0, false, false,
+	0x1.000001000063fp+0, false, false,
+	0x1.000001000064p+0, false, false,
+	false,
+	0x1.000001000063fcap+0, false, false,
+	0x1.000001000063fca2p+0, false, false,
+	0x1.000001000063fcap+0, false, false,
+	0x1.000001000063fca2p+0, false, false,
+	false,
+	0x1.000001000063fcap+0, false, false,
+	0x1.000001000063fca2p+0, false, false,
+	0x1.000001000063fcap+0, false, false,
+	0x1.000001000063fca2p+0, false, false,
+	false,
+	0x1.000001000063fca17533f5572f8p+0, false, false,
+	0x1.000001000063fca17533f5573p+0, false, false,
+	0x1.000001000063fca17533f5572f8p+0, false, false,
+	0x1.000001000063fca17533f5573p+0, false, false,
+	false,
+	0x1.000001000063fca17533f5572fe9p+0, false, false,
+	0x1.000001000063fca17533f5572feap+0, false, false,
+	0x1.000001000063fca17533f5572fe9p+0, false, false,
+	0x1.000001000063fca17533f5572feap+0, false, false),
   TEST ("1.00000005960",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffae49p+0, false,
-	0x1.000000fffae4ap+0, false,
-	0x1.000000fffae49p+0, false,
-	0x1.000000fffae4ap+0, false,
-	false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff388p+0, false,
-	false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382ep+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffae49p+0, false, false,
+	0x1.000000fffae4ap+0, false, false,
+	0x1.000000fffae49p+0, false, false,
+	0x1.000000fffae4ap+0, false, false,
+	false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff388p+0, false, false,
+	false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382ep+0, false, false),
   TEST ("1.0000000596",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffae49p+0, false,
-	0x1.000000fffae4ap+0, false,
-	0x1.000000fffae49p+0, false,
-	0x1.000000fffae4ap+0, false,
-	false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	0x1.000000fffae49ca8p+0, false,
-	0x1.000000fffae49caap+0, false,
-	false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff38p+0, false,
-	0x1.000000fffae49ca916dacfff388p+0, false,
-	false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382dp+0, false,
-	0x1.000000fffae49ca916dacfff382ep+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffae49p+0, false, false,
+	0x1.000000fffae4ap+0, false, false,
+	0x1.000000fffae49p+0, false, false,
+	0x1.000000fffae4ap+0, false, false,
+	false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	0x1.000000fffae49ca8p+0, false, false,
+	0x1.000000fffae49caap+0, false, false,
+	false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff38p+0, false, false,
+	0x1.000000fffae49ca916dacfff388p+0, false, false,
+	false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382dp+0, false, false,
+	0x1.000000fffae49ca916dacfff382ep+0, false, false),
   TEST ("1.000000060",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.00000101b2b29p+0, false,
-	0x1.00000101b2b2ap+0, false,
-	0x1.00000101b2b29p+0, false,
-	0x1.00000101b2b2ap+0, false,
-	false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a48p+0, false,
-	false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a48p+0, false,
-	false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca38p+0, false,
-	false,
-	0x1.00000101b2b29a4692b67b7ca313p+0, false,
-	0x1.00000101b2b29a4692b67b7ca314p+0, false,
-	0x1.00000101b2b29a4692b67b7ca313p+0, false,
-	0x1.00000101b2b29a4692b67b7ca314p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.00000101b2b29p+0, false, false,
+	0x1.00000101b2b2ap+0, false, false,
+	0x1.00000101b2b29p+0, false, false,
+	0x1.00000101b2b2ap+0, false, false,
+	false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a48p+0, false, false,
+	false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a48p+0, false, false,
+	false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca38p+0, false, false,
+	false,
+	0x1.00000101b2b29a4692b67b7ca313p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca314p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca313p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca314p+0, false, false),
   TEST ("1.00000006",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.00000101b2b29p+0, false,
-	0x1.00000101b2b2ap+0, false,
-	0x1.00000101b2b29p+0, false,
-	0x1.00000101b2b2ap+0, false,
-	false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a48p+0, false,
-	false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a46p+0, false,
-	0x1.00000101b2b29a48p+0, false,
-	false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca3p+0, false,
-	0x1.00000101b2b29a4692b67b7ca38p+0, false,
-	false,
-	0x1.00000101b2b29a4692b67b7ca313p+0, false,
-	0x1.00000101b2b29a4692b67b7ca314p+0, false,
-	0x1.00000101b2b29a4692b67b7ca313p+0, false,
-	0x1.00000101b2b29a4692b67b7ca314p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.00000101b2b29p+0, false, false,
+	0x1.00000101b2b2ap+0, false, false,
+	0x1.00000101b2b29p+0, false, false,
+	0x1.00000101b2b2ap+0, false, false,
+	false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a48p+0, false, false,
+	false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a46p+0, false, false,
+	0x1.00000101b2b29a48p+0, false, false,
+	false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca3p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca38p+0, false, false,
+	false,
+	0x1.00000101b2b29a4692b67b7ca313p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca314p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca313p+0, false, false,
+	0x1.00000101b2b29a4692b67b7ca314p+0, false, false),
   TEST ("1.0000001",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001ad7f29ap+0, false,
-	0x1.000001ad7f29bp+0, false,
-	0x1.000001ad7f29ap+0, false,
-	0x1.000001ad7f29bp+0, false,
-	false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abccp+0, false,
-	false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abcap+0, false,
-	0x1.000001ad7f29abccp+0, false,
-	false,
-	0x1.000001ad7f29abcaf485787a65p+0, false,
-	0x1.000001ad7f29abcaf485787a65p+0, false,
-	0x1.000001ad7f29abcaf485787a65p+0, false,
-	0x1.000001ad7f29abcaf485787a658p+0, false,
-	false,
-	0x1.000001ad7f29abcaf485787a652p+0, false,
-	0x1.000001ad7f29abcaf485787a6521p+0, false,
-	0x1.000001ad7f29abcaf485787a652p+0, false,
-	0x1.000001ad7f29abcaf485787a6521p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001ad7f29ap+0, false, false,
+	0x1.000001ad7f29bp+0, false, false,
+	0x1.000001ad7f29ap+0, false, false,
+	0x1.000001ad7f29bp+0, false, false,
+	false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abccp+0, false, false,
+	false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abcap+0, false, false,
+	0x1.000001ad7f29abccp+0, false, false,
+	false,
+	0x1.000001ad7f29abcaf485787a65p+0, false, false,
+	0x1.000001ad7f29abcaf485787a65p+0, false, false,
+	0x1.000001ad7f29abcaf485787a65p+0, false, false,
+	0x1.000001ad7f29abcaf485787a658p+0, false, false,
+	false,
+	0x1.000001ad7f29abcaf485787a652p+0, false, false,
+	0x1.000001ad7f29abcaf485787a6521p+0, false, false,
+	0x1.000001ad7f29abcaf485787a652p+0, false, false,
+	0x1.000001ad7f29abcaf485787a6521p+0, false, false),
   TEST ("1.000000",
 	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	true,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	true,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false),
   TEST ("1.00000000000000011113",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.0000000000000801fc96557232p+0, false,
-	0x1.0000000000000801fc96557232p+0, false,
-	0x1.0000000000000801fc96557232p+0, false,
-	0x1.0000000000000801fc965572328p+0, false,
-	false,
-	0x1.0000000000000801fc9655723222p+0, false,
-	0x1.0000000000000801fc9655723222p+0, false,
-	0x1.0000000000000801fc9655723222p+0, false,
-	0x1.0000000000000801fc9655723223p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.0000000000000801fc96557232p+0, false, false,
+	0x1.0000000000000801fc96557232p+0, false, false,
+	0x1.0000000000000801fc96557232p+0, false, false,
+	0x1.0000000000000801fc965572328p+0, false, false,
+	false,
+	0x1.0000000000000801fc9655723222p+0, false, false,
+	0x1.0000000000000801fc9655723222p+0, false, false,
+	0x1.0000000000000801fc9655723222p+0, false, false,
+	0x1.0000000000000801fc9655723223p+0, false, false),
   TEST ("1.00000000000000011103",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008002459c076c48p+0, false,
-	0x1.00000000000008002459c076c5p+0, false,
-	0x1.00000000000008002459c076c48p+0, false,
-	0x1.00000000000008002459c076c5p+0, false,
-	false,
-	0x1.00000000000008002459c076c4f7p+0, false,
-	0x1.00000000000008002459c076c4f8p+0, false,
-	0x1.00000000000008002459c076c4f7p+0, false,
-	0x1.00000000000008002459c076c4f8p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008002459c076c48p+0, false, false,
+	0x1.00000000000008002459c076c5p+0, false, false,
+	0x1.00000000000008002459c076c48p+0, false, false,
+	0x1.00000000000008002459c076c5p+0, false, false,
+	false,
+	0x1.00000000000008002459c076c4f7p+0, false, false,
+	0x1.00000000000008002459c076c4f8p+0, false, false,
+	0x1.00000000000008002459c076c4f7p+0, false, false,
+	0x1.00000000000008002459c076c4f8p+0, false, false),
   TEST ("1.00000000000000011102",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007fff5207e5dap+0, false,
-	0x1.00000000000007fff5207e5da08p+0, false,
-	0x1.00000000000007fff5207e5dap+0, false,
-	0x1.00000000000007fff5207e5da08p+0, false,
-	false,
-	0x1.00000000000007fff5207e5da073p+0, false,
-	0x1.00000000000007fff5207e5da073p+0, false,
-	0x1.00000000000007fff5207e5da073p+0, false,
-	0x1.00000000000007fff5207e5da074p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007fff5207e5dap+0, false, false,
+	0x1.00000000000007fff5207e5da08p+0, false, false,
+	0x1.00000000000007fff5207e5dap+0, false, false,
+	0x1.00000000000007fff5207e5da08p+0, false, false,
+	false,
+	0x1.00000000000007fff5207e5da073p+0, false, false,
+	0x1.00000000000007fff5207e5da073p+0, false, false,
+	0x1.00000000000007fff5207e5da073p+0, false, false,
+	0x1.00000000000007fff5207e5da074p+0, false, false),
   TEST ("1.00000000000000011101",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007ffc5e73c447b8p+0, false,
-	0x1.00000000000007ffc5e73c447cp+0, false,
-	0x1.00000000000007ffc5e73c447b8p+0, false,
-	0x1.00000000000007ffc5e73c447cp+0, false,
-	false,
-	0x1.00000000000007ffc5e73c447befp+0, false,
-	0x1.00000000000007ffc5e73c447befp+0, false,
-	0x1.00000000000007ffc5e73c447befp+0, false,
-	0x1.00000000000007ffc5e73c447bfp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007ffc5e73c447b8p+0, false, false,
+	0x1.00000000000007ffc5e73c447cp+0, false, false,
+	0x1.00000000000007ffc5e73c447b8p+0, false, false,
+	0x1.00000000000007ffc5e73c447cp+0, false, false,
+	false,
+	0x1.00000000000007ffc5e73c447befp+0, false, false,
+	0x1.00000000000007ffc5e73c447befp+0, false, false,
+	0x1.00000000000007ffc5e73c447befp+0, false, false,
+	0x1.00000000000007ffc5e73c447bfp+0, false, false),
   TEST ("1.0000000000000001111",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.0000000000000802p+0, false,
-	false,
-	0x1.00000000000008016eea8f26c48p+0, false,
-	0x1.00000000000008016eea8f26c48p+0, false,
-	0x1.00000000000008016eea8f26c48p+0, false,
-	0x1.00000000000008016eea8f26c5p+0, false,
-	false,
-	0x1.00000000000008016eea8f26c495p+0, false,
-	0x1.00000000000008016eea8f26c496p+0, false,
-	0x1.00000000000008016eea8f26c495p+0, false,
-	0x1.00000000000008016eea8f26c496p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.0000000000000802p+0, false, false,
+	false,
+	0x1.00000000000008016eea8f26c48p+0, false, false,
+	0x1.00000000000008016eea8f26c48p+0, false, false,
+	0x1.00000000000008016eea8f26c48p+0, false, false,
+	0x1.00000000000008016eea8f26c5p+0, false, false,
+	false,
+	0x1.00000000000008016eea8f26c495p+0, false, false,
+	0x1.00000000000008016eea8f26c496p+0, false, false,
+	0x1.00000000000008016eea8f26c495p+0, false, false,
+	0x1.00000000000008016eea8f26c496p+0, false, false),
   TEST ("1.000000000000000111",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000007fep+0, false,
-	0x1.00000000000008p+0, false,
-	false,
-	0x1.00000000000007ff96adfa2b57p+0, false,
-	0x1.00000000000007ff96adfa2b578p+0, false,
-	0x1.00000000000007ff96adfa2b57p+0, false,
-	0x1.00000000000007ff96adfa2b578p+0, false,
-	false,
-	0x1.00000000000007ff96adfa2b576ap+0, false,
-	0x1.00000000000007ff96adfa2b576bp+0, false,
-	0x1.00000000000007ff96adfa2b576ap+0, false,
-	0x1.00000000000007ff96adfa2b576bp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000007fep+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	false,
+	0x1.00000000000007ff96adfa2b57p+0, false, false,
+	0x1.00000000000007ff96adfa2b578p+0, false, false,
+	0x1.00000000000007ff96adfa2b57p+0, false, false,
+	0x1.00000000000007ff96adfa2b578p+0, false, false,
+	false,
+	0x1.00000000000007ff96adfa2b576ap+0, false, false,
+	0x1.00000000000007ff96adfa2b576bp+0, false, false,
+	0x1.00000000000007ff96adfa2b576ap+0, false, false,
+	0x1.00000000000007ff96adfa2b576bp+0, false, false),
   TEST ("1.00000000000000011",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.00000000000007ecp+0, false,
-	0x1.00000000000007eep+0, false,
-	0x1.00000000000007ecp+0, false,
-	0x1.00000000000007eep+0, false,
-	false,
-	0x1.00000000000007ecp+0, false,
-	0x1.00000000000007eep+0, false,
-	0x1.00000000000007ecp+0, false,
-	0x1.00000000000007eep+0, false,
-	false,
-	0x1.00000000000007ed24502859138p+0, false,
-	0x1.00000000000007ed24502859138p+0, false,
-	0x1.00000000000007ed24502859138p+0, false,
-	0x1.00000000000007ed2450285914p+0, false,
-	false,
-	0x1.00000000000007ed2450285913bfp+0, false,
-	0x1.00000000000007ed2450285913bfp+0, false,
-	0x1.00000000000007ed2450285913bfp+0, false,
-	0x1.00000000000007ed2450285913cp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.00000000000007ecp+0, false, false,
+	0x1.00000000000007eep+0, false, false,
+	0x1.00000000000007ecp+0, false, false,
+	0x1.00000000000007eep+0, false, false,
+	false,
+	0x1.00000000000007ecp+0, false, false,
+	0x1.00000000000007eep+0, false, false,
+	0x1.00000000000007ecp+0, false, false,
+	0x1.00000000000007eep+0, false, false,
+	false,
+	0x1.00000000000007ed24502859138p+0, false, false,
+	0x1.00000000000007ed24502859138p+0, false, false,
+	0x1.00000000000007ed24502859138p+0, false, false,
+	0x1.00000000000007ed2450285914p+0, false, false,
+	false,
+	0x1.00000000000007ed2450285913bfp+0, false, false,
+	0x1.00000000000007ed2450285913bfp+0, false, false,
+	0x1.00000000000007ed2450285913bfp+0, false, false,
+	0x1.00000000000007ed2450285913cp+0, false, false),
   TEST ("1.0000000000000001",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000736p+0, false,
-	false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000734p+0, false,
-	0x1.0000000000000736p+0, false,
-	false,
-	0x1.0000000000000734aca5f6226fp+0, false,
-	0x1.0000000000000734aca5f6226fp+0, false,
-	0x1.0000000000000734aca5f6226fp+0, false,
-	0x1.0000000000000734aca5f6226f8p+0, false,
-	false,
-	0x1.0000000000000734aca5f6226f0ap+0, false,
-	0x1.0000000000000734aca5f6226f0bp+0, false,
-	0x1.0000000000000734aca5f6226f0ap+0, false,
-	0x1.0000000000000734aca5f6226f0bp+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000736p+0, false, false,
+	false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000734p+0, false, false,
+	0x1.0000000000000736p+0, false, false,
+	false,
+	0x1.0000000000000734aca5f6226fp+0, false, false,
+	0x1.0000000000000734aca5f6226fp+0, false, false,
+	0x1.0000000000000734aca5f6226fp+0, false, false,
+	0x1.0000000000000734aca5f6226f8p+0, false, false,
+	false,
+	0x1.0000000000000734aca5f6226f0ap+0, false, false,
+	0x1.0000000000000734aca5f6226f0bp+0, false, false,
+	0x1.0000000000000734aca5f6226f0ap+0, false, false,
+	0x1.0000000000000734aca5f6226f0bp+0, false, false),
   TEST ("3929201589819414e-25",
 	false,
-	0x1.b0053p-32, false,
-	0x1.b00532p-32, false,
-	0x1.b0053p-32, false,
-	0x1.b00532p-32, false,
-	false,
-	0x1.b005314e2421ep-32, false,
-	0x1.b005314e2421ep-32, false,
-	0x1.b005314e2421ep-32, false,
-	0x1.b005314e2421fp-32, false,
-	false,
-	0x1.b005314e2421e7fep-32, false,
-	0x1.b005314e2421e8p-32, false,
-	0x1.b005314e2421e7fep-32, false,
-	0x1.b005314e2421e8p-32, false,
-	false,
-	0x1.b005314e2421e7fep-32, false,
-	0x1.b005314e2421e8p-32, false,
-	0x1.b005314e2421e7fep-32, false,
-	0x1.b005314e2421e8p-32, false,
-	false,
-	0x1.b005314e2421e7ffb472840c5ap-32, false,
-	0x1.b005314e2421e7ffb472840c5a8p-32, false,
-	0x1.b005314e2421e7ffb472840c5ap-32, false,
-	0x1.b005314e2421e7ffb472840c5a8p-32, false,
-	false,
-	0x1.b005314e2421e7ffb472840c5a6ep-32, false,
-	0x1.b005314e2421e7ffb472840c5a6fp-32, false,
-	0x1.b005314e2421e7ffb472840c5a6ep-32, false,
-	0x1.b005314e2421e7ffb472840c5a6fp-32, false),
+	0x1.b0053p-32, false, false,
+	0x1.b00532p-32, false, false,
+	0x1.b0053p-32, false, false,
+	0x1.b00532p-32, false, false,
+	false,
+	0x1.b005314e2421ep-32, false, false,
+	0x1.b005314e2421ep-32, false, false,
+	0x1.b005314e2421ep-32, false, false,
+	0x1.b005314e2421fp-32, false, false,
+	false,
+	0x1.b005314e2421e7fep-32, false, false,
+	0x1.b005314e2421e8p-32, false, false,
+	0x1.b005314e2421e7fep-32, false, false,
+	0x1.b005314e2421e8p-32, false, false,
+	false,
+	0x1.b005314e2421e7fep-32, false, false,
+	0x1.b005314e2421e8p-32, false, false,
+	0x1.b005314e2421e7fep-32, false, false,
+	0x1.b005314e2421e8p-32, false, false,
+	false,
+	0x1.b005314e2421e7ffb472840c5ap-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a8p-32, false, false,
+	0x1.b005314e2421e7ffb472840c5ap-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a8p-32, false, false,
+	false,
+	0x1.b005314e2421e7ffb472840c5a6ep-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a6fp-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a6ep-32, false, false,
+	0x1.b005314e2421e7ffb472840c5a6fp-32, false, false),
   TEST ("0.0000000000000000000000000000000000000000000021019476964872"
 	"256063855943749348741969203929128147736576356024258346866240"
 	"28790902229957282543182373046875",
 	false,
-	0x8p-152, false,
-	0x1p-148, false,
-	0x8p-152, false,
-	0x1p-148, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false),
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false),
   TEST ("1.00000005960464477539062499",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000000fffffffp+0, false,
-	0x1.000001p+0, false,
-	0x1.000000fffffffp+0, false,
-	0x1.000001p+0, false,
-	false,
-	0x1.000000fffffffffep+0, false,
-	0x1.000001p+0, false,
-	0x1.000000fffffffffep+0, false,
-	0x1.000001p+0, false,
-	false,
-	0x1.000000fffffffffep+0, false,
-	0x1.000001p+0, false,
-	0x1.000000fffffffffep+0, false,
-	0x1.000001p+0, false,
-	false,
-	0x1.000000fffffffffffffffce7b78p+0, false,
-	0x1.000000fffffffffffffffce7b8p+0, false,
-	0x1.000000fffffffffffffffce7b78p+0, false,
-	0x1.000000fffffffffffffffce7b8p+0, false,
-	false,
-	0x1.000000fffffffffffffffce7b7e7p+0, false,
-	0x1.000000fffffffffffffffce7b7e7p+0, false,
-	0x1.000000fffffffffffffffce7b7e7p+0, false,
-	0x1.000000fffffffffffffffce7b7e8p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000000fffffffp+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000000fffffffp+0, false, false,
+	0x1.000001p+0, false, false,
+	false,
+	0x1.000000fffffffffep+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000000fffffffffep+0, false, false,
+	0x1.000001p+0, false, false,
+	false,
+	0x1.000000fffffffffep+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000000fffffffffep+0, false, false,
+	0x1.000001p+0, false, false,
+	false,
+	0x1.000000fffffffffffffffce7b78p+0, false, false,
+	0x1.000000fffffffffffffffce7b8p+0, false, false,
+	0x1.000000fffffffffffffffce7b78p+0, false, false,
+	0x1.000000fffffffffffffffce7b8p+0, false, false,
+	false,
+	0x1.000000fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000000fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000000fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000000fffffffffffffffce7b7e8p+0, false, false),
   TEST ("1.000000059604644775390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	true,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	true,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false),
   TEST ("1.00000005960464477539062501",
 	false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000001p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000000002p+0, false,
-	false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.000001p+0, false,
-	0x1.0000010000000002p+0, false,
-	false,
-	0x1.00000100000000000000031848p+0, false,
-	0x1.00000100000000000000031848p+0, false,
-	0x1.00000100000000000000031848p+0, false,
-	0x1.000001000000000000000318488p+0, false,
-	false,
-	0x1.0000010000000000000003184818p+0, false,
-	0x1.0000010000000000000003184819p+0, false,
-	0x1.0000010000000000000003184818p+0, false,
-	0x1.0000010000000000000003184819p+0, false),
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000001p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.000001p+0, false, false,
+	0x1.0000010000000002p+0, false, false,
+	false,
+	0x1.00000100000000000000031848p+0, false, false,
+	0x1.00000100000000000000031848p+0, false, false,
+	0x1.00000100000000000000031848p+0, false, false,
+	0x1.000001000000000000000318488p+0, false, false,
+	false,
+	0x1.0000010000000000000003184818p+0, false, false,
+	0x1.0000010000000000000003184819p+0, false, false,
+	0x1.0000010000000000000003184818p+0, false, false,
+	0x1.0000010000000000000003184819p+0, false, false),
   TEST ("1.00000011920928955078125",
 	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false),
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false),
   TEST ("1.00000017881393432617187499",
 	false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	false,
-	0x1.000002fffffffp+0, false,
-	0x1.000003p+0, false,
-	0x1.000002fffffffp+0, false,
-	0x1.000003p+0, false,
-	false,
-	0x1.000002fffffffffep+0, false,
-	0x1.000003p+0, false,
-	0x1.000002fffffffffep+0, false,
-	0x1.000003p+0, false,
-	false,
-	0x1.000002fffffffffep+0, false,
-	0x1.000003p+0, false,
-	0x1.000002fffffffffep+0, false,
-	0x1.000003p+0, false,
-	false,
-	0x1.000002fffffffffffffffce7b78p+0, false,
-	0x1.000002fffffffffffffffce7b8p+0, false,
-	0x1.000002fffffffffffffffce7b78p+0, false,
-	0x1.000002fffffffffffffffce7b8p+0, false,
-	false,
-	0x1.000002fffffffffffffffce7b7e7p+0, false,
-	0x1.000002fffffffffffffffce7b7e7p+0, false,
-	0x1.000002fffffffffffffffce7b7e7p+0, false,
-	0x1.000002fffffffffffffffce7b7e8p+0, false),
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	false,
+	0x1.000002fffffffp+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000002fffffffp+0, false, false,
+	0x1.000003p+0, false, false,
+	false,
+	0x1.000002fffffffffep+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000002fffffffffep+0, false, false,
+	0x1.000003p+0, false, false,
+	false,
+	0x1.000002fffffffffep+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000002fffffffffep+0, false, false,
+	0x1.000003p+0, false, false,
+	false,
+	0x1.000002fffffffffffffffce7b78p+0, false, false,
+	0x1.000002fffffffffffffffce7b8p+0, false, false,
+	0x1.000002fffffffffffffffce7b78p+0, false, false,
+	0x1.000002fffffffffffffffce7b8p+0, false, false,
+	false,
+	0x1.000002fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000002fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000002fffffffffffffffce7b7e7p+0, false, false,
+	0x1.000002fffffffffffffffce7b7e8p+0, false, false),
   TEST ("1.000000178813934326171875",
 	false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	true,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false),
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	true,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false),
   TEST ("1.00000017881393432617187501",
 	false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	0x1.000002p+0, false,
-	0x1.000004p+0, false,
-	false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.0000030000001p+0, false,
-	false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.0000030000000002p+0, false,
-	false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.000003p+0, false,
-	0x1.0000030000000002p+0, false,
-	false,
-	0x1.00000300000000000000031848p+0, false,
-	0x1.00000300000000000000031848p+0, false,
-	0x1.00000300000000000000031848p+0, false,
-	0x1.000003000000000000000318488p+0, false,
-	false,
-	0x1.0000030000000000000003184818p+0, false,
-	0x1.0000030000000000000003184819p+0, false,
-	0x1.0000030000000000000003184818p+0, false,
-	0x1.0000030000000000000003184819p+0, false),
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000002p+0, false, false,
+	0x1.000004p+0, false, false,
+	false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.0000030000001p+0, false, false,
+	false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.0000030000000002p+0, false, false,
+	false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.000003p+0, false, false,
+	0x1.0000030000000002p+0, false, false,
+	false,
+	0x1.00000300000000000000031848p+0, false, false,
+	0x1.00000300000000000000031848p+0, false, false,
+	0x1.00000300000000000000031848p+0, false, false,
+	0x1.000003000000000000000318488p+0, false, false,
+	false,
+	0x1.0000030000000000000003184818p+0, false, false,
+	0x1.0000030000000000000003184819p+0, false, false,
+	0x1.0000030000000000000003184818p+0, false, false,
+	0x1.0000030000000000000003184819p+0, false, false),
   TEST ("1.0000002384185791015625",
 	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	true,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false,
-	0x1.000004p+0, false),
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	true,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false,
+	0x1.000004p+0, false, false),
   TEST ("1.08420217248550443400745280086994171142578125e-19",
 	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	true,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false),
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	true,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false),
   TEST ("1.0842022371089897897127399001987457793916291848290711641311"
 	"645507812499e-19",
 	false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2.000004p-64, false,
-	false,
-	0x2.000001ffffffep-64, false,
-	0x2.000002p-64, false,
-	0x2.000001ffffffep-64, false,
-	0x2.000002p-64, false,
-	false,
-	0x2.000001fffffffffcp-64, false,
-	0x2.000002p-64, false,
-	0x2.000001fffffffffcp-64, false,
-	0x2.000002p-64, false,
-	false,
-	0x2.000001fffffffffcp-64, false,
-	0x2.000002p-64, false,
-	0x2.000001fffffffffcp-64, false,
-	0x2.000002p-64, false,
-	false,
-	0x2.000001ffffffffffffffffffffp-64, false,
-	0x2.000002p-64, false,
-	0x2.000001ffffffffffffffffffffp-64, false,
-	0x2.000002p-64, false,
-	false,
-	0x2.000001fffffffffffffffffffffep-64, false,
-	0x2.000002p-64, false,
-	0x2.000001fffffffffffffffffffffep-64, false,
-	0x2.000002p-64, false),
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2.000004p-64, false, false,
+	false,
+	0x2.000001ffffffep-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001ffffffep-64, false, false,
+	0x2.000002p-64, false, false,
+	false,
+	0x2.000001fffffffffcp-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001fffffffffcp-64, false, false,
+	0x2.000002p-64, false, false,
+	false,
+	0x2.000001fffffffffcp-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001fffffffffcp-64, false, false,
+	0x2.000002p-64, false, false,
+	false,
+	0x2.000001ffffffffffffffffffffp-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001ffffffffffffffffffffp-64, false, false,
+	0x2.000002p-64, false, false,
+	false,
+	0x2.000001fffffffffffffffffffffep-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000001fffffffffffffffffffffep-64, false, false,
+	0x2.000002p-64, false, false),
   TEST ("1.0842022371089897897127399001987457793916291848290711641311"
 	"6455078125e-19",
 	false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	true,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false),
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	true,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false),
   TEST ("1.0842022371089897897127399001987457793916291848290711641311"
 	"645507812501e-19",
 	false,
-	0x2p-64, false,
-	0x2.000004p-64, false,
-	0x2p-64, false,
-	0x2.000004p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.0000020000002p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.0000020000000004p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.0000020000000004p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.00000200000000000000000001p-64, false,
-	false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.000002p-64, false,
-	0x2.0000020000000000000000000002p-64, false),
+	0x2p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2p-64, false, false,
+	0x2.000004p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.0000020000002p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.0000020000000004p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.0000020000000004p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.00000200000000000000000001p-64, false, false,
+	false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.000002p-64, false, false,
+	0x2.0000020000000000000000000002p-64, false, false),
   TEST ("1.0842023017324751454180269995275498473574771196581423282623"
 	"291015625e-19",
 	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	true,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false),
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	true,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false),
   TEST ("1.0842023663559605011233140988563539153233250544872134923934"
 	"936523437499e-19",
 	false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	false,
-	0x2.000005ffffffep-64, false,
-	0x2.000006p-64, false,
-	0x2.000005ffffffep-64, false,
-	0x2.000006p-64, false,
-	false,
-	0x2.000005fffffffffcp-64, false,
-	0x2.000006p-64, false,
-	0x2.000005fffffffffcp-64, false,
-	0x2.000006p-64, false,
-	false,
-	0x2.000005fffffffffcp-64, false,
-	0x2.000006p-64, false,
-	0x2.000005fffffffffcp-64, false,
-	0x2.000006p-64, false,
-	false,
-	0x2.000005ffffffffffffffffffffp-64, false,
-	0x2.000006p-64, false,
-	0x2.000005ffffffffffffffffffffp-64, false,
-	0x2.000006p-64, false,
-	false,
-	0x2.000005fffffffffffffffffffffep-64, false,
-	0x2.000006p-64, false,
-	0x2.000005fffffffffffffffffffffep-64, false,
-	0x2.000006p-64, false),
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	false,
+	0x2.000005ffffffep-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005ffffffep-64, false, false,
+	0x2.000006p-64, false, false,
+	false,
+	0x2.000005fffffffffcp-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005fffffffffcp-64, false, false,
+	0x2.000006p-64, false, false,
+	false,
+	0x2.000005fffffffffcp-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005fffffffffcp-64, false, false,
+	0x2.000006p-64, false, false,
+	false,
+	0x2.000005ffffffffffffffffffffp-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005ffffffffffffffffffffp-64, false, false,
+	0x2.000006p-64, false, false,
+	false,
+	0x2.000005fffffffffffffffffffffep-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000005fffffffffffffffffffffep-64, false, false,
+	0x2.000006p-64, false, false),
   TEST ("1.0842023663559605011233140988563539153233250544872134923934"
 	"9365234375e-19",
 	false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	true,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false),
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	true,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false),
   TEST ("1.0842023663559605011233140988563539153233250544872134923934"
 	"936523437501e-19",
 	false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	0x2.000004p-64, false,
-	0x2.000008p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.0000060000002p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.0000060000000004p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.0000060000000004p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.00000600000000000000000001p-64, false,
-	false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.000006p-64, false,
-	0x2.0000060000000000000000000002p-64, false),
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000004p-64, false, false,
+	0x2.000008p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.0000060000002p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.0000060000000004p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.0000060000000004p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.00000600000000000000000001p-64, false, false,
+	false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.000006p-64, false, false,
+	0x2.0000060000000000000000000002p-64, false, false),
   TEST ("1.0842024309794458568286011981851579832891729893162846565246"
 	"58203125e-19",
 	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	true,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false,
-	0x2.000008p-64, false),
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	true,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false,
+	0x2.000008p-64, false, false),
   TEST ("7.5231638452626400509999138382223723380394595633413601376560"
 	"1092018187046051025390625e-37",
 	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	true,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false),
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	true,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false),
   TEST ("7.5231642936781486349413765338158389908126215730251815381410"
 	"578824437213052434003657253924757242202758789062499e-37",
 	false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1.000002p-120, false,
-	false,
-	0x1.000000fffffffp-120, false,
-	0x1.000001p-120, false,
-	0x1.000000fffffffp-120, false,
-	0x1.000001p-120, false,
-	false,
-	0x1.000000fffffffffep-120, false,
-	0x1.000001p-120, false,
-	0x1.000000fffffffffep-120, false,
-	0x1.000001p-120, false,
-	false,
-	0x1.000000fffffffffep-120, false,
-	0x1.000001p-120, false,
-	0x1.000000fffffffffep-120, false,
-	0x1.000001p-120, false,
-	false,
-	0x1.000000ffffffffffffffffffff8p-120, false,
-	0x1.000001p-120, false,
-	0x1.000000ffffffffffffffffffff8p-120, false,
-	0x1.000001p-120, false,
-	false,
-	0x1.000000ffffffffffffffffffffffp-120, false,
-	0x1.000001p-120, false,
-	0x1.000000ffffffffffffffffffffffp-120, false,
-	0x1.000001p-120, false),
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1.000002p-120, false, false,
+	false,
+	0x1.000000fffffffp-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000fffffffp-120, false, false,
+	0x1.000001p-120, false, false,
+	false,
+	0x1.000000fffffffffep-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000fffffffffep-120, false, false,
+	0x1.000001p-120, false, false,
+	false,
+	0x1.000000fffffffffep-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000fffffffffep-120, false, false,
+	0x1.000001p-120, false, false,
+	false,
+	0x1.000000ffffffffffffffffffff8p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000ffffffffffffffffffff8p-120, false, false,
+	0x1.000001p-120, false, false,
+	false,
+	0x1.000000ffffffffffffffffffffffp-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000000ffffffffffffffffffffffp-120, false, false,
+	0x1.000001p-120, false, false),
   TEST ("7.5231642936781486349413765338158389908126215730251815381410"
 	"5788244372130524340036572539247572422027587890625e-37",
 	false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	true,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false),
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	true,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false),
   TEST ("7.5231642936781486349413765338158389908126215730251815381410"
 	"578824437213052434003657253924757242202758789062501e-37",
 	false,
-	0x1p-120, false,
-	0x1.000002p-120, false,
-	0x1p-120, false,
-	0x1.000002p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.0000010000001p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.0000010000000002p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.0000010000000002p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001000000000000000000008p-120, false,
-	false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.000001p-120, false,
-	0x1.0000010000000000000000000001p-120, false),
+	0x1p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1p-120, false, false,
+	0x1.000002p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.0000010000001p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.0000010000000002p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.0000010000000002p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001000000000000000000008p-120, false, false,
+	false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.000001p-120, false, false,
+	0x1.0000010000000000000000000001p-120, false, false),
   TEST ("7.5231647420936572188828392294093056435857835827090029386261"
 	"048447055721499765468252007849514484405517578125e-37",
 	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	true,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false),
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	true,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false),
   TEST ("7.5231651905091658028243019250027722963589455923928243391111"
 	"518069674229947096932846761774271726608276367187499e-37",
 	false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	false,
-	0x1.000002fffffffp-120, false,
-	0x1.000003p-120, false,
-	0x1.000002fffffffp-120, false,
-	0x1.000003p-120, false,
-	false,
-	0x1.000002fffffffffep-120, false,
-	0x1.000003p-120, false,
-	0x1.000002fffffffffep-120, false,
-	0x1.000003p-120, false,
-	false,
-	0x1.000002fffffffffep-120, false,
-	0x1.000003p-120, false,
-	0x1.000002fffffffffep-120, false,
-	0x1.000003p-120, false,
-	false,
-	0x1.000002ffffffffffffffffffff8p-120, false,
-	0x1.000003p-120, false,
-	0x1.000002ffffffffffffffffffff8p-120, false,
-	0x1.000003p-120, false,
-	false,
-	0x1.000002ffffffffffffffffffffffp-120, false,
-	0x1.000003p-120, false,
-	0x1.000002ffffffffffffffffffffffp-120, false,
-	0x1.000003p-120, false),
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	false,
+	0x1.000002fffffffp-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002fffffffp-120, false, false,
+	0x1.000003p-120, false, false,
+	false,
+	0x1.000002fffffffffep-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002fffffffffep-120, false, false,
+	0x1.000003p-120, false, false,
+	false,
+	0x1.000002fffffffffep-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002fffffffffep-120, false, false,
+	0x1.000003p-120, false, false,
+	false,
+	0x1.000002ffffffffffffffffffff8p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002ffffffffffffffffffff8p-120, false, false,
+	0x1.000003p-120, false, false,
+	false,
+	0x1.000002ffffffffffffffffffffffp-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000002ffffffffffffffffffffffp-120, false, false,
+	0x1.000003p-120, false, false),
   TEST ("7.5231651905091658028243019250027722963589455923928243391111"
 	"5180696742299470969328467617742717266082763671875e-37",
 	false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	true,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false),
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	true,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false),
   TEST ("7.5231651905091658028243019250027722963589455923928243391111"
 	"518069674229947096932846761774271726608276367187501e-37",
 	false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	0x1.000002p-120, false,
-	0x1.000004p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.0000030000001p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.0000030000000002p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.0000030000000002p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003000000000000000000008p-120, false,
-	false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.000003p-120, false,
-	0x1.0000030000000000000000000001p-120, false),
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000002p-120, false, false,
+	0x1.000004p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.0000030000001p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.0000030000000002p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.0000030000000002p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003000000000000000000008p-120, false, false,
+	false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.000003p-120, false, false,
+	0x1.0000030000000000000000000001p-120, false, false),
   TEST ("7.5231656389246743867657646205962389491321076020766457395961"
 	"98769229273839442839744151569902896881103515625e-37",
 	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	true,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false,
-	0x1.000004p-120, false),
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	true,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false,
+	0x1.000004p-120, false, false),
   TEST ("340282356779733661637539395458142568447.999",
 	false,
-	0xf.fffffp+124, false,
-	0xf.fffffp+124, false,
-	0xf.fffffp+124, false,
-	INF, true,
-	false,
-	0xf.fffff7ffffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7ffffff8p+124, false,
-	0xf.fffff8p+124, false,
-	false,
-	0xf.fffff7fffffffffp+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7fffffffffp+124, false,
-	0xf.fffff8p+124, false,
-	false,
-	0xf.fffff7fffffffffp+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7fffffffffp+124, false,
-	0xf.fffff8p+124, false,
-	false,
-	0xf.fffff7fffffffffffffffffffcp+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7fffffffffffffffffffcp+124, false,
-	0xf.fffff8p+124, false,
-	false,
-	0xf.fffff7fffffffffffffffffffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff7fffffffffffffffffffff8p+124, false,
-	0xf.fffff8p+124, false),
+	0xf.fffffp+124, false, false,
+	0xf.fffffp+124, false, false,
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	false,
+	0xf.fffff7ffffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7ffffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	false,
+	0xf.fffff7fffffffffp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7fffffffffp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	false,
+	0xf.fffff7fffffffffp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7fffffffffp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	false,
+	0xf.fffff7fffffffffffffffffffcp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7fffffffffffffffffffcp+124, false, false,
+	0xf.fffff8p+124, false, false,
+	false,
+	0xf.fffff7fffffffffffffffffffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff7fffffffffffffffffffff8p+124, false, false,
+	0xf.fffff8p+124, false, false),
   TEST ("340282356779733661637539395458142568448",
 	false,
-	0xf.fffffp+124, false,
-	INF, true,
-	0xf.fffffp+124, false,
-	INF, true,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	true,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false),
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	true,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false),
   TEST ("340282356779733661637539395458142568448.001",
 	false,
-	0xf.fffffp+124, false,
-	INF, true,
-	0xf.fffffp+124, false,
-	INF, true,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff80000008p+124, false,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8000000001p+124, false,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8000000001p+124, false,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff800000000000000000004p+124, false,
-	false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff8p+124, false,
-	0xf.fffff80000000000000000000008p+124, false),
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff80000008p+124, false, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8000000001p+124, false, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8000000001p+124, false, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff800000000000000000004p+124, false, false,
+	false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff8p+124, false, false,
+	0xf.fffff80000000000000000000008p+124, false, false),
   TEST ("-340282356779733661637539395458142568447.999",
 	false,
-	-INF, true,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7ffffff8p+124, false,
-	-0xf.fffff7ffffff8p+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7fffffffffp+124, false,
-	-0xf.fffff7fffffffffp+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7fffffffffp+124, false,
-	-0xf.fffff7fffffffffp+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7fffffffffffffffffffcp+124, false,
-	-0xf.fffff7fffffffffffffffffffcp+124, false,
-	false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff7fffffffffffffffffffff8p+124, false,
-	-0xf.fffff7fffffffffffffffffffff8p+124, false),
+	-INF, true, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7ffffff8p+124, false, false,
+	-0xf.fffff7ffffff8p+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7fffffffffp+124, false, false,
+	-0xf.fffff7fffffffffp+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7fffffffffp+124, false, false,
+	-0xf.fffff7fffffffffp+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7fffffffffffffffffffcp+124, false, false,
+	-0xf.fffff7fffffffffffffffffffcp+124, false, false,
+	false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff7fffffffffffffffffffff8p+124, false, false,
+	-0xf.fffff7fffffffffffffffffffff8p+124, false, false),
   TEST ("-340282356779733661637539395458142568448",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	true,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	true,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false),
   TEST ("-340282356779733661637539395458142568448.001",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	false,
-	-0xf.fffff80000008p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	false,
-	-0xf.fffff8000000001p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	false,
-	-0xf.fffff8000000001p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	false,
-	-0xf.fffff800000000000000000004p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	false,
-	-0xf.fffff80000000000000000000008p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false,
-	-0xf.fffff8p+124, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	false,
+	-0xf.fffff80000008p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	false,
+	-0xf.fffff8000000001p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	false,
+	-0xf.fffff8000000001p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	false,
+	-0xf.fffff800000000000000000004p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	false,
+	-0xf.fffff80000000000000000000008p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false,
+	-0xf.fffff8p+124, false, false),
   TEST ("179769313486231580793728971405303415079934132710037826936173"
 	"778980444968292764750946649017977587207096330286416692887910"
 	"946555547851940402630657488671505820681908902000708383676273"
@@ -1855,35 +1855,35 @@ static const struct test tests[] = {
 	"936475292719074168444365510704342711559699508093042880177904"
 	"174497791.999",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, false,
-	0xf.ffffffffffff8p+1020, false,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	false,
-	0xf.ffffffffffffbffp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffbffp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	false,
-	0xf.ffffffffffffbffp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffbffp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	false,
-	0xf.ffffffffffffbffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffbffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, true,
-	false,
-	0xf.ffffffffffffbffffffffffffff8p+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffbffffffffffffff8p+1020, false,
-	0xf.ffffffffffffcp+1020, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, false, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffffbffp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffbffp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	false,
+	0xf.ffffffffffffbffp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffbffp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	false,
+	0xf.ffffffffffffbffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffbffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	false,
+	0xf.ffffffffffffbffffffffffffff8p+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffbffffffffffffff8p+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false),
   TEST ("179769313486231580793728971405303415079934132710037826936173"
 	"778980444968292764750946649017977587207096330286416692887910"
 	"946555547851940402630657488671505820681908902000708383676273"
@@ -1891,35 +1891,35 @@ static const struct test tests[] = {
 	"936475292719074168444365510704342711559699508093042880177904"
 	"174497792",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	true,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	true,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	false,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	true,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	true,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	true,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	true,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false),
   TEST ("179769313486231580793728971405303415079934132710037826936173"
 	"778980444968292764750946649017977587207096330286416692887910"
 	"946555547851940402630657488671505820681908902000708383676273"
@@ -1927,35 +1927,35 @@ static const struct test tests[] = {
 	"936475292719074168444365510704342711559699508093042880177904"
 	"174497792.001",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffc01p+1020, false,
-	false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffc01p+1020, false,
-	false,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffcp+1020, true,
-	0xf.ffffffffffffc0000000000004p+1020, true,
-	false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffcp+1020, false,
-	0xf.ffffffffffffc000000000000008p+1020, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffc01p+1020, false, false,
+	false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffc01p+1020, false, false,
+	false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffcp+1020, true, false,
+	0xf.ffffffffffffc0000000000004p+1020, true, false,
+	false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffcp+1020, false, false,
+	0xf.ffffffffffffc000000000000008p+1020, false, false),
   TEST ("-17976931348623158079372897140530341507993413271003782693617"
 	"377898044496829276475094664901797758720709633028641669288791"
 	"094655554785194040263065748867150582068190890200070838367627"
@@ -1963,35 +1963,35 @@ static const struct test tests[] = {
 	"493647529271907416844436551070434271155969950809304288017790"
 	"4174497791.999",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffbffp+1020, false,
-	-0xf.ffffffffffffbffp+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffbffp+1020, false,
-	-0xf.ffffffffffffbffp+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffbffffffffffffcp+1020, false,
-	-0xf.ffffffffffffbffffffffffffcp+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffbffffffffffffff8p+1020, false,
-	-0xf.ffffffffffffbffffffffffffff8p+1020, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffbffp+1020, false, false,
+	-0xf.ffffffffffffbffp+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffbffp+1020, false, false,
+	-0xf.ffffffffffffbffp+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffbffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffbffffffffffffcp+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffbffffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffffbffffffffffffff8p+1020, false, false),
   TEST ("-17976931348623158079372897140530341507993413271003782693617"
 	"377898044496829276475094664901797758720709633028641669288791"
 	"094655554785194040263065748867150582068190890200070838367627"
@@ -1999,35 +1999,35 @@ static const struct test tests[] = {
 	"493647529271907416844436551070434271155969950809304288017790"
 	"4174497792",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	true,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	true,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	false,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	true,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	true,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	true,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	true,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false),
   TEST ("-17976931348623158079372897140530341507993413271003782693617"
 	"377898044496829276475094664901797758720709633028641669288791"
 	"094655554785194040263065748867150582068190890200070838367627"
@@ -2035,35 +2035,35 @@ static const struct test tests[] = {
 	"493647529271907416844436551070434271155969950809304288017790"
 	"4174497792.001",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	false,
-	-0xf.ffffffffffffc01p+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	false,
-	-0xf.ffffffffffffc01p+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	false,
-	-0xf.ffffffffffffc0000000000004p+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	-0xf.ffffffffffffcp+1020, true,
-	false,
-	-0xf.ffffffffffffc000000000000008p+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false,
-	-0xf.ffffffffffffcp+1020, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	false,
+	-0xf.ffffffffffffc01p+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	false,
+	-0xf.ffffffffffffc01p+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	false,
+	-0xf.ffffffffffffc0000000000004p+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	-0xf.ffffffffffffcp+1020, true, false,
+	false,
+	-0xf.ffffffffffffc000000000000008p+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false,
+	-0xf.ffffffffffffcp+1020, false, false),
   TEST ("118973149535723176505351158982948866796625400469556721895649"
 	"927756249918185172720476044944290457046138433056764616744328"
 	"666255526748948793023632513609765434237723241753648908036202"
@@ -2148,35 +2148,35 @@ static const struct test tests[] = {
 	"578031503869424406179027994752890226443351619365453243328968"
 	"8740976918527.999",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	0xf.fffffffffffffffp+16380, false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	0xf.fffffffffffffffp+16380, false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffff7fffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff7fffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffff7fffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff7fffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false),
   TEST ("118973149535723176505351158982948866796625400469556721895649"
 	"927756249918185172720476044944290457046138433056764616744328"
 	"666255526748948793023632513609765434237723241753648908036202"
@@ -2261,35 +2261,35 @@ static const struct test tests[] = {
 	"578031503869424406179027994752890226443351619365453243328968"
 	"8740976918528",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	true,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	true,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false),
   TEST ("118973149535723176505351158982948866796625400469556721895649"
 	"927756249918185172720476044944290457046138433056764616744328"
 	"666255526748948793023632513609765434237723241753648908036202"
@@ -2374,35 +2374,35 @@ static const struct test tests[] = {
 	"578031503869424406179027994752890226443351619365453243328968"
 	"8740976918528.001",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8p+16380, false,
-	0xf.fffffffffffffff8000000000008p+16380, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffff8000000000008p+16380, false, false),
   TEST ("-11897314953572317650535115898294886679662540046955672189564"
 	"992775624991818517272047604494429045704613843305676461674432"
 	"866625552674894879302363251360976543423772324175364890803620"
@@ -2487,35 +2487,35 @@ static const struct test tests[] = {
 	"557803150386942440617902799475289022644335161936545324332896"
 	"88740976918527.999",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff7fffffffffff8p+16380, false,
-	-0xf.fffffffffffffff7fffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff7fffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff7fffffffffff8p+16380, false, false),
   TEST ("-11897314953572317650535115898294886679662540046955672189564"
 	"992775624991818517272047604494429045704613843305676461674432"
 	"866625552674894879302363251360976543423772324175364890803620"
@@ -2600,35 +2600,35 @@ static const struct test tests[] = {
 	"557803150386942440617902799475289022644335161936545324332896"
 	"88740976918528",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	true,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	true,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false),
   TEST ("-11897314953572317650535115898294886679662540046955672189564"
 	"992775624991818517272047604494429045704613843305676461674432"
 	"866625552674894879302363251360976543423772324175364890803620"
@@ -2713,35 +2713,35 @@ static const struct test tests[] = {
 	"557803150386942440617902799475289022644335161936545324332896"
 	"88740976918528.001",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-0xf.fffffffffffffff8000000000008p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-0xf.fffffffffffffff8000000000008p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffff8p+16380, false, false),
   TEST ("118973149535723176508575932662800707347995686986910214150118"
 	"685272271246896789803961473130416053705672050873552479421805"
 	"932646640744124594447361172514341324846716679654551308018400"
@@ -2826,35 +2826,35 @@ static const struct test tests[] = {
 	"972233447491583165728635513802591543441145939539353470970452"
 	"5536550715391.999",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false),
   TEST ("118973149535723176508575932662800707347995686986910214150118"
 	"685272271246896789803961473130416053705672050873552479421805"
 	"932646640744124594447361172514341324846716679654551308018400"
@@ -2939,35 +2939,35 @@ static const struct test tests[] = {
 	"972233447491583165728635513802591543441145939539353470970452"
 	"5536550715392",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false),
   TEST ("118973149535723176508575932662800707347995686986910214150118"
 	"685272271246896789803961473130416053705672050873552479421805"
 	"932646640744124594447361172514341324846716679654551308018400"
@@ -3052,35 +3052,35 @@ static const struct test tests[] = {
 	"972233447491583165728635513802591543441145939539353470970452"
 	"5536550715392.001",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false),
   TEST ("-11897314953572317650857593266280070734799568698691021415011"
 	"868527227124689678980396147313041605370567205087355247942180"
 	"593264664074412459444736117251434132484671667965455130801840"
@@ -3165,35 +3165,35 @@ static const struct test tests[] = {
 	"097223344749158316572863551380259154344114593953935347097045"
 	"25536550715391.999",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false),
   TEST ("-11897314953572317650857593266280070734799568698691021415011"
 	"868527227124689678980396147313041605370567205087355247942180"
 	"593264664074412459444736117251434132484671667965455130801840"
@@ -3278,35 +3278,35 @@ static const struct test tests[] = {
 	"097223344749158316572863551380259154344114593953935347097045"
 	"25536550715392",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false),
   TEST ("-11897314953572317650857593266280070734799568698691021415011"
 	"868527227124689678980396147313041605370567205087355247942180"
 	"593264664074412459444736117251434132484671667965455130801840"
@@ -3391,419 +3391,419 @@ static const struct test tests[] = {
 	"097223344749158316572863551380259154344114593953935347097045"
 	"25536550715392.001",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false),
   TEST ("2.1019476964872256063855943749348741969203929128147736576356"
 	"0242583468662402879090222995728254318237304687499e-45",
 	false,
-	0x8p-152, false,
-	0x8p-152, false,
-	0x8p-152, false,
-	0x1p-148, false,
-	false,
-	0xb.ffffffffffff8p-152, false,
-	0xcp-152, false,
-	0xb.ffffffffffff8p-152, false,
-	0xcp-152, false,
-	false,
-	0xb.fffffffffffffffp-152, false,
-	0xcp-152, false,
-	0xb.fffffffffffffffp-152, false,
-	0xcp-152, false,
-	false,
-	0xb.fffffffffffffffp-152, false,
-	0xcp-152, false,
-	0xb.fffffffffffffffp-152, false,
-	0xcp-152, false,
-	false,
-	0xb.fffffffffffffffffffffffffcp-152, false,
-	0xcp-152, false,
-	0xb.fffffffffffffffffffffffffcp-152, false,
-	0xcp-152, false,
-	false,
-	0xb.fffffffffffffffffffffffffff8p-152, false,
-	0xcp-152, false,
-	0xb.fffffffffffffffffffffffffff8p-152, false,
-	0xcp-152, false),
+	0x8p-152, false, true,
+	0x8p-152, false, true,
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	false,
+	0xb.ffffffffffff8p-152, false, false,
+	0xcp-152, false, false,
+	0xb.ffffffffffff8p-152, false, false,
+	0xcp-152, false, false,
+	false,
+	0xb.fffffffffffffffp-152, false, false,
+	0xcp-152, false, false,
+	0xb.fffffffffffffffp-152, false, false,
+	0xcp-152, false, false,
+	false,
+	0xb.fffffffffffffffp-152, false, false,
+	0xcp-152, false, false,
+	0xb.fffffffffffffffp-152, false, false,
+	0xcp-152, false, false,
+	false,
+	0xb.fffffffffffffffffffffffffcp-152, false, false,
+	0xcp-152, false, false,
+	0xb.fffffffffffffffffffffffffcp-152, false, false,
+	0xcp-152, false, false,
+	false,
+	0xb.fffffffffffffffffffffffffff8p-152, false, false,
+	0xcp-152, false, false,
+	0xb.fffffffffffffffffffffffffff8p-152, false, false,
+	0xcp-152, false, false),
   TEST ("2.1019476964872256063855943749348741969203929128147736576356"
 	"02425834686624028790902229957282543182373046875e-45",
 	false,
-	0x8p-152, false,
-	0x1p-148, false,
-	0x8p-152, false,
-	0x1p-148, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	true,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false),
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	true,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false),
   TEST ("2.1019476964872256063855943749348741969203929128147736576356"
 	"0242583468662402879090222995728254318237304687501e-45",
 	false,
-	0x8p-152, false,
-	0x1p-148, false,
-	0x8p-152, false,
-	0x1p-148, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.0000000000008p-152, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.000000000000001p-152, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.000000000000001p-152, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.00000000000000000000000004p-152, false,
-	false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xcp-152, false,
-	0xc.0000000000000000000000000008p-152, false),
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	0x8p-152, false, true,
+	0x1p-148, false, true,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.0000000000008p-152, false, false,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.000000000000001p-152, false, false,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.000000000000001p-152, false, false,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.00000000000000000000000004p-152, false, false,
+	false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xcp-152, false, false,
+	0xc.0000000000000000000000000008p-152, false, false),
   TEST ("-2.101947696487225606385594374934874196920392912814773657635"
 	"60242583468662402879090222995728254318237304687499e-45",
 	false,
-	-0x1p-148, false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.ffffffffffff8p-152, false,
-	-0xb.ffffffffffff8p-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.fffffffffffffffp-152, false,
-	-0xb.fffffffffffffffp-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.fffffffffffffffp-152, false,
-	-0xb.fffffffffffffffp-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.fffffffffffffffffffffffffcp-152, false,
-	-0xb.fffffffffffffffffffffffffcp-152, false,
-	false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xb.fffffffffffffffffffffffffff8p-152, false,
-	-0xb.fffffffffffffffffffffffffff8p-152, false),
+	-0x1p-148, false, true,
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.ffffffffffff8p-152, false, false,
+	-0xb.ffffffffffff8p-152, false, false,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.fffffffffffffffp-152, false, false,
+	-0xb.fffffffffffffffp-152, false, false,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.fffffffffffffffp-152, false, false,
+	-0xb.fffffffffffffffp-152, false, false,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.fffffffffffffffffffffffffcp-152, false, false,
+	-0xb.fffffffffffffffffffffffffcp-152, false, false,
+	false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xb.fffffffffffffffffffffffffff8p-152, false, false,
+	-0xb.fffffffffffffffffffffffffff8p-152, false, false),
   TEST ("-2.101947696487225606385594374934874196920392912814773657635"
 	"602425834686624028790902229957282543182373046875e-45",
 	false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	true,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false),
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	true,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false),
   TEST ("-2.101947696487225606385594374934874196920392912814773657635"
 	"60242583468662402879090222995728254318237304687501e-45",
 	false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	false,
-	-0xc.0000000000008p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	false,
-	-0xc.000000000000001p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	false,
-	-0xc.000000000000001p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	false,
-	-0xc.00000000000000000000000004p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	false,
-	-0xc.0000000000000000000000000008p-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false,
-	-0xcp-152, false),
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	false,
+	-0xc.0000000000008p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	false,
+	-0xc.000000000000001p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	false,
+	-0xc.000000000000001p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	false,
+	-0xc.00000000000000000000000004p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	false,
+	-0xc.0000000000000000000000000008p-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false,
+	-0xcp-152, false, false),
   TEST ("3.5032461608120426773093239582247903282006548546912894293926"
 	"7070972447770671465150371659547090530395507812499e-45",
 	false,
-	0x1p-148, false,
-	0x1p-148, false,
-	0x1p-148, false,
-	0x1.8p-148, false,
-	false,
-	0x1.3ffffffffffffp-148, false,
-	0x1.4p-148, false,
-	0x1.3ffffffffffffp-148, false,
-	0x1.4p-148, false,
-	false,
-	0x1.3ffffffffffffffep-148, false,
-	0x1.4p-148, false,
-	0x1.3ffffffffffffffep-148, false,
-	0x1.4p-148, false,
-	false,
-	0x1.3ffffffffffffffep-148, false,
-	0x1.4p-148, false,
-	0x1.3ffffffffffffffep-148, false,
-	0x1.4p-148, false,
-	false,
-	0x1.3fffffffffffffffffffffffff8p-148, false,
-	0x1.4p-148, false,
-	0x1.3fffffffffffffffffffffffff8p-148, false,
-	0x1.4p-148, false,
-	false,
-	0x1.3fffffffffffffffffffffffffffp-148, false,
-	0x1.4p-148, false,
-	0x1.3fffffffffffffffffffffffffffp-148, false,
-	0x1.4p-148, false),
+	0x1p-148, false, true,
+	0x1p-148, false, true,
+	0x1p-148, false, true,
+	0x1.8p-148, false, true,
+	false,
+	0x1.3ffffffffffffp-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3ffffffffffffp-148, false, false,
+	0x1.4p-148, false, false,
+	false,
+	0x1.3ffffffffffffffep-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3ffffffffffffffep-148, false, false,
+	0x1.4p-148, false, false,
+	false,
+	0x1.3ffffffffffffffep-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3ffffffffffffffep-148, false, false,
+	0x1.4p-148, false, false,
+	false,
+	0x1.3fffffffffffffffffffffffff8p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3fffffffffffffffffffffffff8p-148, false, false,
+	0x1.4p-148, false, false,
+	false,
+	0x1.3fffffffffffffffffffffffffffp-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.3fffffffffffffffffffffffffffp-148, false, false,
+	0x1.4p-148, false, false),
   TEST ("3.5032461608120426773093239582247903282006548546912894293926"
 	"70709724477706714651503716595470905303955078125e-45",
 	false,
-	0x1p-148, false,
-	0x1p-148, false,
-	0x1p-148, false,
-	0x1.8p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	true,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false),
+	0x1p-148, false, true,
+	0x1p-148, false, true,
+	0x1p-148, false, true,
+	0x1.8p-148, false, true,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	true,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false),
   TEST ("3.5032461608120426773093239582247903282006548546912894293926"
 	"7070972447770671465150371659547090530395507812501e-45",
 	false,
-	0x1p-148, false,
-	0x1.8p-148, false,
-	0x1p-148, false,
-	0x1.8p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4000000000001p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4000000000000002p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4000000000000002p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.400000000000000000000000008p-148, false,
-	false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4p-148, false,
-	0x1.4000000000000000000000000001p-148, false),
+	0x1p-148, false, true,
+	0x1.8p-148, false, true,
+	0x1p-148, false, true,
+	0x1.8p-148, false, true,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4000000000001p-148, false, false,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4000000000000002p-148, false, false,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4000000000000002p-148, false, false,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.400000000000000000000000008p-148, false, false,
+	false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4p-148, false, false,
+	0x1.4000000000000000000000000001p-148, false, false),
   TEST ("-3.503246160812042677309323958224790328200654854691289429392"
 	"67070972447770671465150371659547090530395507812499e-45",
 	false,
-	-0x1.8p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3ffffffffffffp-148, false,
-	-0x1.3ffffffffffffp-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3ffffffffffffffep-148, false,
-	-0x1.3ffffffffffffffep-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3ffffffffffffffep-148, false,
-	-0x1.3ffffffffffffffep-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3fffffffffffffffffffffffff8p-148, false,
-	-0x1.3fffffffffffffffffffffffff8p-148, false,
-	false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.3fffffffffffffffffffffffffffp-148, false,
-	-0x1.3fffffffffffffffffffffffffffp-148, false),
+	-0x1.8p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3ffffffffffffp-148, false, false,
+	-0x1.3ffffffffffffp-148, false, false,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3ffffffffffffffep-148, false, false,
+	-0x1.3ffffffffffffffep-148, false, false,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3ffffffffffffffep-148, false, false,
+	-0x1.3ffffffffffffffep-148, false, false,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3fffffffffffffffffffffffff8p-148, false, false,
+	-0x1.3fffffffffffffffffffffffff8p-148, false, false,
+	false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.3fffffffffffffffffffffffffffp-148, false, false,
+	-0x1.3fffffffffffffffffffffffffffp-148, false, false),
   TEST ("-3.503246160812042677309323958224790328200654854691289429392"
 	"670709724477706714651503716595470905303955078125e-45",
 	false,
-	-0x1.8p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	true,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false),
+	-0x1.8p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	true,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false),
   TEST ("-3.503246160812042677309323958224790328200654854691289429392"
 	"67070972447770671465150371659547090530395507812501e-45",
 	false,
-	-0x1.8p-148, false,
-	-0x1.8p-148, false,
-	-0x1p-148, false,
-	-0x1p-148, false,
-	false,
-	-0x1.4000000000001p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	false,
-	-0x1.4000000000000002p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	false,
-	-0x1.4000000000000002p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	false,
-	-0x1.400000000000000000000000008p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	false,
-	-0x1.4000000000000000000000000001p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false,
-	-0x1.4p-148, false),
+	-0x1.8p-148, false, true,
+	-0x1.8p-148, false, true,
+	-0x1p-148, false, true,
+	-0x1p-148, false, true,
+	false,
+	-0x1.4000000000001p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	false,
+	-0x1.4000000000000002p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	false,
+	-0x1.4000000000000002p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	false,
+	-0x1.400000000000000000000000008p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	false,
+	-0x1.4000000000000000000000000001p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false,
+	-0x1.4p-148, false, false),
   TEST ("7.4109846876186981626485318930233205854758970392148714663837"
 	"852375101326090531312779794975454245398856969484704316857659"
 	"638998506553390969459816219401617281718945106978546710679176"
@@ -3818,35 +3818,35 @@ static const struct test tests[] = {
 	"337560846003984904972149117463085539556354188641513168478436"
 	"31308023759629577398300170898437499e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-1076, false,
-	0x4p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	false,
-	0x5.fffffffffffffff8p-1076, false,
-	0x6p-1076, false,
-	0x5.fffffffffffffff8p-1076, false,
-	0x6p-1076, false,
-	false,
-	0x5.fffffffffffffff8p-1076, false,
-	0x6p-1076, false,
-	0x5.fffffffffffffff8p-1076, false,
-	0x6p-1076, false,
-	false,
-	0x4p-1076, false,
-	0x4p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	false,
-	0x5.fffffffffffffffffffffffffffcp-1076, false,
-	0x6p-1076, false,
-	0x5.fffffffffffffffffffffffffffcp-1076, false,
-	0x6p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-1076, false, true,
+	0x4p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	false,
+	0x5.fffffffffffffff8p-1076, false, false,
+	0x6p-1076, false, false,
+	0x5.fffffffffffffff8p-1076, false, false,
+	0x6p-1076, false, false,
+	false,
+	0x5.fffffffffffffff8p-1076, false, false,
+	0x6p-1076, false, false,
+	0x5.fffffffffffffff8p-1076, false, false,
+	0x6p-1076, false, false,
+	false,
+	0x4p-1076, false, true,
+	0x4p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	false,
+	0x5.fffffffffffffffffffffffffffcp-1076, false, false,
+	0x6p-1076, false, false,
+	0x5.fffffffffffffffffffffffffffcp-1076, false, false,
+	0x6p-1076, false, false),
   TEST ("7.4109846876186981626485318930233205854758970392148714663837"
 	"852375101326090531312779794975454245398856969484704316857659"
 	"638998506553390969459816219401617281718945106978546710679176"
@@ -3861,35 +3861,35 @@ static const struct test tests[] = {
 	"337560846003984904972149117463085539556354188641513168478436"
 	"313080237596295773983001708984375e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	true,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	true,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	true,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	true,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	true,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	false,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	true,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false),
   TEST ("7.4109846876186981626485318930233205854758970392148714663837"
 	"852375101326090531312779794975454245398856969484704316857659"
 	"638998506553390969459816219401617281718945106978546710679176"
@@ -3904,35 +3904,35 @@ static const struct test tests[] = {
 	"337560846003984904972149117463085539556354188641513168478436"
 	"31308023759629577398300170898437501e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6.0000000000000008p-1076, false,
-	false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6.0000000000000008p-1076, false,
-	false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	0x4p-1076, false,
-	0x8p-1076, false,
-	false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6p-1076, false,
-	0x6.0000000000000000000000000004p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6.0000000000000008p-1076, false, false,
+	false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6.0000000000000008p-1076, false, false,
+	false,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	0x4p-1076, false, true,
+	0x8p-1076, false, true,
+	false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6p-1076, false, false,
+	0x6.0000000000000000000000000004p-1076, false, false),
   TEST ("-7.410984687618698162648531893023320585475897039214871466383"
 	"785237510132609053131277979497545424539885696948470431685765"
 	"963899850655339096945981621940161728171894510697854671067917"
@@ -3947,35 +3947,35 @@ static const struct test tests[] = {
 	"433756084600398490497214911746308553955635418864151316847843"
 	"631308023759629577398300170898437499e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x5.fffffffffffffff8p-1076, false,
-	-0x5.fffffffffffffff8p-1076, false,
-	false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x5.fffffffffffffff8p-1076, false,
-	-0x5.fffffffffffffff8p-1076, false,
-	false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x5.fffffffffffffffffffffffffffcp-1076, false,
-	-0x5.fffffffffffffffffffffffffffcp-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x5.fffffffffffffff8p-1076, false, false,
+	-0x5.fffffffffffffff8p-1076, false, false,
+	false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x5.fffffffffffffff8p-1076, false, false,
+	-0x5.fffffffffffffff8p-1076, false, false,
+	false,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x5.fffffffffffffffffffffffffffcp-1076, false, false,
+	-0x5.fffffffffffffffffffffffffffcp-1076, false, false),
   TEST ("-7.410984687618698162648531893023320585475897039214871466383"
 	"785237510132609053131277979497545424539885696948470431685765"
 	"963899850655339096945981621940161728171894510697854671067917"
@@ -3990,35 +3990,35 @@ static const struct test tests[] = {
 	"433756084600398490497214911746308553955635418864151316847843"
 	"6313080237596295773983001708984375e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-1076, false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	true,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	true,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	false,
-	-0x8p-1076, false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	true,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-1076, false, true,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	true,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	true,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	false,
+	-0x8p-1076, false, true,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	true,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false),
   TEST ("-7.410984687618698162648531893023320585475897039214871466383"
 	"785237510132609053131277979497545424539885696948470431685765"
 	"963899850655339096945981621940161728171894510697854671067917"
@@ -4033,35 +4033,35 @@ static const struct test tests[] = {
 	"433756084600398490497214911746308553955635418864151316847843"
 	"631308023759629577398300170898437501e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-1076, false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	false,
-	-0x6.0000000000000008p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	false,
-	-0x6.0000000000000008p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	false,
-	-0x8p-1076, false,
-	-0x8p-1076, false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	false,
-	-0x6.0000000000000000000000000004p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false,
-	-0x6p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-1076, false, true,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	false,
+	-0x6.0000000000000008p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	false,
+	-0x6.0000000000000008p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	false,
+	-0x8p-1076, false, true,
+	-0x8p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	false,
+	-0x6.0000000000000000000000000004p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false,
+	-0x6p-1076, false, false),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -4255,35 +4255,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687499e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x8p-16448, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	false,
-	0x8p-16448, false,
-	0xcp-16448, false,
-	0x8p-16448, false,
-	0xcp-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0xb.fffffffffffcp-16448, false,
-	0xcp-16448, false,
-	0xb.fffffffffffcp-16448, false,
-	0xcp-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x8p-16448, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0x8p-16448, false, true,
+	0xcp-16448, false, true,
+	0x8p-16448, false, true,
+	0xcp-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xb.fffffffffffcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xb.fffffffffffcp-16448, false, true,
+	0xcp-16448, false, true),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -4477,35 +4477,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"6833433740466716699302196502685546875e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	true,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	true,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -4699,35 +4699,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687501e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0x1p-16444, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xc.000000000004p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xc.000000000004p-16448, false, true),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -4921,35 +4921,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687499e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xb.fffffffffffcp-16448, false,
-	-0xb.fffffffffffcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xb.fffffffffffcp-16448, false, true,
+	-0xb.fffffffffffcp-16448, false, true),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -5143,35 +5143,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"26833433740466716699302196502685546875e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	true,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	true,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -5365,35 +5365,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687501e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0x1p-16444, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0xc.000000000004p-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0xc.000000000004p-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -5587,35 +5587,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687499e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x8p-16448, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	false,
-	0x8p-16448, false,
-	0xcp-16448, false,
-	0x8p-16448, false,
-	0xcp-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0xb.fffffffffffcp-16448, false,
-	0xcp-16448, false,
-	0xb.fffffffffffcp-16448, false,
-	0xcp-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x8p-16448, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0x8p-16448, false, true,
+	0xcp-16448, false, true,
+	0x8p-16448, false, true,
+	0xcp-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xb.fffffffffffcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xb.fffffffffffcp-16448, false, true,
+	0xcp-16448, false, true),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -5809,35 +5809,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"6833433740466716699302196502685546875e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	true,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	true,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false,
+	0xcp-16448, false, false),
   TEST ("5.4677992978237119037926089004291297245985762235403450155814"
 	"707305425575329500966052143410629387408077958710210208052966"
 	"529504784489330482549602621133847135082257338717668975178538"
@@ -6031,35 +6031,35 @@ static const struct test tests[] = {
 	"866268925981702690270202829595794350800918257913991744455922"
 	"683343374046671669930219650268554687501e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	0x8p-16448, false,
-	0x1p-16444, false,
-	false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0x1p-16444, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xcp-16448, false,
-	0xc.000000000004p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	0x8p-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0x1p-16444, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xcp-16448, false, true,
+	0xc.000000000004p-16448, false, true),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -6253,35 +6253,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687499e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xb.fffffffffffcp-16448, false,
-	-0xb.fffffffffffcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xb.fffffffffffcp-16448, false, true,
+	-0xb.fffffffffffcp-16448, false, true),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -6475,35 +6475,35 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"26833433740466716699302196502685546875e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	true,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	true,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false,
+	-0xcp-16448, false, false),
   TEST ("-5.467799297823711903792608900429129724598576223540345015581"
 	"470730542557532950096605214341062938740807795871021020805296"
 	"652950478448933048254960262113384713508225733871766897517853"
@@ -6697,630 +6697,630 @@ static const struct test tests[] = {
 	"386626892598170269027020282959579435080091825791399174445592"
 	"2683343374046671669930219650268554687501e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x1p-16444, false,
-	-0x1p-16444, false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	false,
-	-0x1p-16444, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0xc.000000000004p-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false,
-	-0xcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0x1p-16444, false, true,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	false,
+	-0x1p-16444, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0xc.000000000004p-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true,
+	-0xcp-16448, false, true),
   TEST ("-0x0.7p-149",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	true,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false,
-	-0x3.8p-152, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	true,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false,
+	-0x3.8p-152, false, false),
   TEST ("-0x0.7p-1074",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	true,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false,
-	-0x1.cp-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	true,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false,
+	-0x1.cp-1076, false, false),
   TEST ("-0x0.7p-16445",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x3.8p-16448, false,
-	-0x3.8p-16448, false,
-	-0x3.8p-16448, false,
-	-0x3.8p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x3.8p-16448, false, false,
+	-0x3.8p-16448, false, false,
+	-0x3.8p-16448, false, false,
+	-0x3.8p-16448, false, false),
   TEST ("-0x0.7p-16494",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST ("0x1p-150",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false),
   TEST ("0x1p-1075",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false),
   TEST ("0x1p-16446",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	true,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	true,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false),
   TEST ("0x1p-16495",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16496, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16496, false, true),
   TEST ("-0x1p-150",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false),
   TEST ("-0x1p-1075",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false),
   TEST ("-0x1p-16446",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false),
   TEST ("-0x1p-16495",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST (".70064923216240853546186479164495807e-45",
 	false,
-	0x0p+0, false,
-	0x8p-152, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000004p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000008p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000008p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.00000000000000000000000002p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000000000000000004p-152, false),
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000004p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000008p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000008p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.00000000000000000000000002p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000000000000000004p-152, false, false),
   TEST ("7.0064923216240853546186479164495806564013097093825788587853"
 	"4141944895541342930300743319094181060791015624e-46",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x3.ffffffffffffep-152, false,
-	0x4p-152, false,
-	0x3.ffffffffffffep-152, false,
-	0x4p-152, false,
-	false,
-	0x3.fffffffffffffffcp-152, false,
-	0x4p-152, false,
-	0x3.fffffffffffffffcp-152, false,
-	0x4p-152, false,
-	false,
-	0x3.fffffffffffffffcp-152, false,
-	0x4p-152, false,
-	0x3.fffffffffffffffcp-152, false,
-	0x4p-152, false,
-	false,
-	0x3.ffffffffffffffffffffffffffp-152, false,
-	0x4p-152, false,
-	0x3.ffffffffffffffffffffffffffp-152, false,
-	0x4p-152, false,
-	false,
-	0x3.fffffffffffffffffffffffffffep-152, false,
-	0x4p-152, false,
-	0x3.fffffffffffffffffffffffffffep-152, false,
-	0x4p-152, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x3.ffffffffffffep-152, false, false,
+	0x4p-152, false, false,
+	0x3.ffffffffffffep-152, false, false,
+	0x4p-152, false, false,
+	false,
+	0x3.fffffffffffffffcp-152, false, false,
+	0x4p-152, false, false,
+	0x3.fffffffffffffffcp-152, false, false,
+	0x4p-152, false, false,
+	false,
+	0x3.fffffffffffffffcp-152, false, false,
+	0x4p-152, false, false,
+	0x3.fffffffffffffffcp-152, false, false,
+	0x4p-152, false, false,
+	false,
+	0x3.ffffffffffffffffffffffffffp-152, false, false,
+	0x4p-152, false, false,
+	0x3.ffffffffffffffffffffffffffp-152, false, false,
+	0x4p-152, false, false,
+	false,
+	0x3.fffffffffffffffffffffffffffep-152, false, false,
+	0x4p-152, false, false,
+	0x3.fffffffffffffffffffffffffffep-152, false, false,
+	0x4p-152, false, false),
   TEST ("7.0064923216240853546186479164495806564013097093825788587853"
 	"4141944895541342930300743319094181060791015625e-46",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	true,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	true,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false),
   TEST ("7.0064923216240853546186479164495806564013097093825788587853"
 	"4141944895541342930300743319094181060791015626e-46",
 	false,
-	0x0p+0, false,
-	0x8p-152, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000004p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000008p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000008p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.00000000000000000000000002p-152, false,
-	false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4p-152, false,
-	0x4.0000000000000000000000000004p-152, false),
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000004p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000008p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000008p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.00000000000000000000000002p-152, false, false,
+	false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4p-152, false, false,
+	0x4.0000000000000000000000000004p-152, false, false),
   TEST ("-7.006492321624085354618647916449580656401309709382578858785"
 	"34141944895541342930300743319094181060791015624e-46",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.ffffffffffffep-152, false,
-	-0x3.ffffffffffffep-152, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.fffffffffffffffcp-152, false,
-	-0x3.fffffffffffffffcp-152, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.fffffffffffffffcp-152, false,
-	-0x3.fffffffffffffffcp-152, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.ffffffffffffffffffffffffffp-152, false,
-	-0x3.ffffffffffffffffffffffffffp-152, false,
-	false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x3.fffffffffffffffffffffffffffep-152, false,
-	-0x3.fffffffffffffffffffffffffffep-152, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.ffffffffffffep-152, false, false,
+	-0x3.ffffffffffffep-152, false, false,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.fffffffffffffffcp-152, false, false,
+	-0x3.fffffffffffffffcp-152, false, false,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.fffffffffffffffcp-152, false, false,
+	-0x3.fffffffffffffffcp-152, false, false,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.ffffffffffffffffffffffffffp-152, false, false,
+	-0x3.ffffffffffffffffffffffffffp-152, false, false,
+	false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x3.fffffffffffffffffffffffffffep-152, false, false,
+	-0x3.fffffffffffffffffffffffffffep-152, false, false),
   TEST ("-7.006492321624085354618647916449580656401309709382578858785"
 	"34141944895541342930300743319094181060791015625e-46",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	true,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	true,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false),
   TEST ("-7.006492321624085354618647916449580656401309709382578858785"
 	"34141944895541342930300743319094181060791015626e-46",
 	false,
-	-0x8p-152, false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4.0000000000004p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	false,
-	-0x4.0000000000000008p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	false,
-	-0x4.0000000000000008p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	false,
-	-0x4.00000000000000000000000002p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	false,
-	-0x4.0000000000000000000000000004p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false,
-	-0x4p-152, false),
+	-0x8p-152, false, true,
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4.0000000000004p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	false,
+	-0x4.0000000000000008p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	false,
+	-0x4.0000000000000008p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	false,
+	-0x4.00000000000000000000000002p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	false,
+	-0x4.0000000000000000000000000004p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false,
+	-0x4p-152, false, false),
   TEST ("2.4703282292062327208828439643411068618252990130716238221279"
 	"284125033775363510437593264991818081799618989828234772285886"
 	"546332835517796989819938739800539093906315035659515570226392"
@@ -7335,35 +7335,35 @@ static const struct test tests[] = {
 	"779186948667994968324049705821028513185451396213837722826145"
 	"437693412532098591327667236328124e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x1.fffffffffffffffep-1076, false,
-	0x2p-1076, false,
-	0x1.fffffffffffffffep-1076, false,
-	0x2p-1076, false,
-	false,
-	0x1.fffffffffffffffep-1076, false,
-	0x2p-1076, false,
-	0x1.fffffffffffffffep-1076, false,
-	0x2p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x1.ffffffffffffffffffffffffffffp-1076, false,
-	0x2p-1076, false,
-	0x1.ffffffffffffffffffffffffffffp-1076, false,
-	0x2p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffffffep-1076, false, false,
+	0x2p-1076, false, false,
+	0x1.fffffffffffffffep-1076, false, false,
+	0x2p-1076, false, false,
+	false,
+	0x1.fffffffffffffffep-1076, false, false,
+	0x2p-1076, false, false,
+	0x1.fffffffffffffffep-1076, false, false,
+	0x2p-1076, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.ffffffffffffffffffffffffffffp-1076, false, false,
+	0x2p-1076, false, false,
+	0x1.ffffffffffffffffffffffffffffp-1076, false, false,
+	0x2p-1076, false, false),
   TEST ("2.4703282292062327208828439643411068618252990130716238221279"
 	"284125033775363510437593264991818081799618989828234772285886"
 	"546332835517796989819938739800539093906315035659515570226392"
@@ -7378,35 +7378,35 @@ static const struct test tests[] = {
 	"779186948667994968324049705821028513185451396213837722826145"
 	"437693412532098591327667236328125e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false),
   TEST ("2.4703282292062327208828439643411068618252990130716238221279"
 	"284125033775363510437593264991818081799618989828234772285886"
 	"546332835517796989819938739800539093906315035659515570226392"
@@ -7421,35 +7421,35 @@ static const struct test tests[] = {
 	"779186948667994968324049705821028513185451396213837722826145"
 	"437693412532098591327667236328126e-324",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2.0000000000000004p-1076, false,
-	false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2.0000000000000004p-1076, false,
-	false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2p-1076, false,
-	0x2.0000000000000000000000000002p-1076, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2.0000000000000004p-1076, false, false,
+	false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2.0000000000000004p-1076, false, false,
+	false,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2p-1076, false, false,
+	0x2.0000000000000000000000000002p-1076, false, false),
   TEST ("-2.470328229206232720882843964341106861825299013071623822127"
 	"928412503377536351043759326499181808179961898982823477228588"
 	"654633283551779698981993873980053909390631503565951557022639"
@@ -7464,35 +7464,35 @@ static const struct test tests[] = {
 	"477918694866799496832404970582102851318545139621383772282614"
 	"5437693412532098591327667236328124e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x1.fffffffffffffffep-1076, false,
-	-0x1.fffffffffffffffep-1076, false,
-	false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x1.fffffffffffffffep-1076, false,
-	-0x1.fffffffffffffffep-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x1.ffffffffffffffffffffffffffffp-1076, false,
-	-0x1.ffffffffffffffffffffffffffffp-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x1.fffffffffffffffep-1076, false, false,
+	-0x1.fffffffffffffffep-1076, false, false,
+	false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x1.fffffffffffffffep-1076, false, false,
+	-0x1.fffffffffffffffep-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x1.ffffffffffffffffffffffffffffp-1076, false, false,
+	-0x1.ffffffffffffffffffffffffffffp-1076, false, false),
   TEST ("-2.470328229206232720882843964341106861825299013071623822127"
 	"928412503377536351043759326499181808179961898982823477228588"
 	"654633283551779698981993873980053909390631503565951557022639"
@@ -7507,35 +7507,35 @@ static const struct test tests[] = {
 	"477918694866799496832404970582102851318545139621383772282614"
 	"5437693412532098591327667236328125e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false),
   TEST ("-2.470328229206232720882843964341106861825299013071623822127"
 	"928412503377536351043759326499181808179961898982823477228588"
 	"654633283551779698981993873980053909390631503565951557022639"
@@ -7550,35 +7550,35 @@ static const struct test tests[] = {
 	"477918694866799496832404970582102851318545139621383772282614"
 	"5437693412532098591327667236328126e-324",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2.0000000000000004p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	false,
-	-0x2.0000000000000004p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	false,
-	-0x4p-1076, false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2.0000000000000000000000000002p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false,
-	-0x2p-1076, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2.0000000000000004p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	false,
+	-0x2.0000000000000004p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2.0000000000000000000000000002p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false,
+	-0x2p-1076, false, false),
   TEST ("1.8225997659412373012642029668097099081995254078467816718604"
 	"902435141858443166988684047803543129136025986236736736017655"
 	"509834928163110160849867540377949045027419112905889658392846"
@@ -7772,35 +7772,35 @@ static const struct test tests[] = {
 	"622089641993900896756734276531931450266972752637997248151974"
 	"2277811246822238899767398834228515624e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x3.fffffffffffcp-16448, false,
-	0x4p-16448, false,
-	0x3.fffffffffffcp-16448, false,
-	0x4p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x3.fffffffffffcp-16448, false, true,
+	0x4p-16448, false, true,
+	0x3.fffffffffffcp-16448, false, true,
+	0x4p-16448, false, true),
   TEST ("1.8225997659412373012642029668097099081995254078467816718604"
 	"902435141858443166988684047803543129136025986236736736017655"
 	"509834928163110160849867540377949045027419112905889658392846"
@@ -7994,35 +7994,35 @@ static const struct test tests[] = {
 	"622089641993900896756734276531931450266972752637997248151974"
 	"2277811246822238899767398834228515625e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	true,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	true,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false,
+	0x4p-16448, false, false),
   TEST ("1.8225997659412373012642029668097099081995254078467816718604"
 	"902435141858443166988684047803543129136025986236736736017655"
 	"509834928163110160849867540377949045027419112905889658392846"
@@ -8216,35 +8216,35 @@ static const struct test tests[] = {
 	"622089641993900896756734276531931450266972752637997248151974"
 	"2277811246822238899767398834228515626e-4951",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4p-16448, false,
-	0x4.000000000004p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x4p-16448, false, true,
+	0x4p-16448, false, true,
+	0x4p-16448, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x4p-16448, false, true,
+	0x4p-16448, false, true,
+	0x4p-16448, false, true,
+	0x4.000000000004p-16448, false, true),
   TEST ("-1.822599765941237301264202966809709908199525407846781671860"
 	"490243514185844316698868404780354312913602598623673673601765"
 	"550983492816311016084986754037794904502741911290588965839284"
@@ -8438,35 +8438,35 @@ static const struct test tests[] = {
 	"462208964199390089675673427653193145026697275263799724815197"
 	"42277811246822238899767398834228515624e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x3.fffffffffffcp-16448, false,
-	-0x3.fffffffffffcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x3.fffffffffffcp-16448, false, true,
+	-0x3.fffffffffffcp-16448, false, true),
   TEST ("-1.822599765941237301264202966809709908199525407846781671860"
 	"490243514185844316698868404780354312913602598623673673601765"
 	"550983492816311016084986754037794904502741911290588965839284"
@@ -8660,35 +8660,35 @@ static const struct test tests[] = {
 	"462208964199390089675673427653193145026697275263799724815197"
 	"42277811246822238899767398834228515625e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false,
+	-0x4p-16448, false, false),
   TEST ("-1.822599765941237301264202966809709908199525407846781671860"
 	"490243514185844316698868404780354312913602598623673673601765"
 	"550983492816311016084986754037794904502741911290588965839284"
@@ -8882,35 +8882,35 @@ static const struct test tests[] = {
 	"462208964199390089675673427653193145026697275263799724815197"
 	"42277811246822238899767398834228515626e-4951",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4.000000000004p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x4p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4.000000000004p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true),
   TEST ("9.1129988297061865063210148340485495409976270392339083593024"
 	"512175709292215834943420239017715645680129931183683680088277"
 	"549174640815550804249337701889745225137095564529448291964230"
@@ -9104,35 +9104,35 @@ static const struct test tests[] = {
 	"110448209969504483783671382659657251334863763189986240759871"
 	"1389056234111194498836994171142578124e-4952",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x1.fffffffffffcp-16448, false,
-	0x2p-16448, false,
-	0x1.fffffffffffcp-16448, false,
-	0x2p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffcp-16448, false, true,
+	0x2p-16448, false, true,
+	0x1.fffffffffffcp-16448, false, true,
+	0x2p-16448, false, true),
   TEST ("9.1129988297061865063210148340485495409976270392339083593024"
 	"512175709292215834943420239017715645680129931183683680088277"
 	"549174640815550804249337701889745225137095564529448291964230"
@@ -9326,35 +9326,35 @@ static const struct test tests[] = {
 	"110448209969504483783671382659657251334863763189986240759871"
 	"1389056234111194498836994171142578125e-4952",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	true,
-	0x2p-16448, false,
-	0x2p-16448, false,
-	0x2p-16448, false,
-	0x2p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x2p-16448, false, false,
+	0x2p-16448, false, false,
+	0x2p-16448, false, false,
+	0x2p-16448, false, false),
   TEST ("9.1129988297061865063210148340485495409976270392339083593024"
 	"512175709292215834943420239017715645680129931183683680088277"
 	"549174640815550804249337701889745225137095564529448291964230"
@@ -9548,35 +9548,35 @@ static const struct test tests[] = {
 	"110448209969504483783671382659657251334863763189986240759871"
 	"1389056234111194498836994171142578126e-4952",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x2p-16448, false,
-	0x2p-16448, false,
-	0x2p-16448, false,
-	0x2.000000000004p-16448, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x2p-16448, false, true,
+	0x2p-16448, false, true,
+	0x2p-16448, false, true,
+	0x2.000000000004p-16448, false, true),
   TEST ("-9.112998829706186506321014834048549540997627039233908359302"
 	"451217570929221583494342023901771564568012993118368368008827"
 	"754917464081555080424933770188974522513709556452944829196423"
@@ -9770,35 +9770,35 @@ static const struct test tests[] = {
 	"311044820996950448378367138265965725133486376318998624075987"
 	"11389056234111194498836994171142578124e-4952",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2p-16448, false,
-	-0x2p-16448, false,
-	-0x1.fffffffffffcp-16448, false,
-	-0x1.fffffffffffcp-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2p-16448, false, true,
+	-0x2p-16448, false, true,
+	-0x1.fffffffffffcp-16448, false, true,
+	-0x1.fffffffffffcp-16448, false, true),
   TEST ("-9.112998829706186506321014834048549540997627039233908359302"
 	"451217570929221583494342023901771564568012993118368368008827"
 	"754917464081555080424933770188974522513709556452944829196423"
@@ -9992,35 +9992,35 @@ static const struct test tests[] = {
 	"311044820996950448378367138265965725133486376318998624075987"
 	"11389056234111194498836994171142578125e-4952",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	true,
-	-0x2p-16448, false,
-	-0x2p-16448, false,
-	-0x2p-16448, false,
-	-0x2p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	true,
+	-0x2p-16448, false, false,
+	-0x2p-16448, false, false,
+	-0x2p-16448, false, false,
+	-0x2p-16448, false, false),
   TEST ("-9.112998829706186506321014834048549540997627039233908359302"
 	"451217570929221583494342023901771564568012993118368368008827"
 	"754917464081555080424933770188974522513709556452944829196423"
@@ -10214,35 +10214,35 @@ static const struct test tests[] = {
 	"311044820996950448378367138265965725133486376318998624075987"
 	"11389056234111194498836994171142578126e-4952",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x2.000000000004p-16448, false,
-	-0x2p-16448, false,
-	-0x2p-16448, false,
-	-0x2p-16448, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x2.000000000004p-16448, false, true,
+	-0x2p-16448, false, true,
+	-0x2p-16448, false, true,
+	-0x2p-16448, false, true),
   TEST ("3.2375875597190125554622194791138232762497846690173405048449"
 	"421945985197700620596855088357456383249701279390707384240598"
 	"382936099431912710233425550359863089915213963553756674672083"
@@ -10437,35 +10437,35 @@ static const struct test tests[] = {
 	"182358152808745703724362178773168996492870519432472065091133"
 	"11767578124e-4966",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16496, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16496, false, true),
   TEST ("3.2375875597190125554622194791138232762497846690173405048449"
 	"421945985197700620596855088357456383249701279390707384240598"
 	"382936099431912710233425550359863089915213963553756674672083"
@@ -10660,35 +10660,35 @@ static const struct test tests[] = {
 	"182358152808745703724362178773168996492870519432472065091133"
 	"11767578125e-4966",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16496, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16496, false, true),
   TEST ("3.2375875597190125554622194791138232762497846690173405048449"
 	"421945985197700620596855088357456383249701279390707384240598"
 	"382936099431912710233425550359863089915213963553756674672083"
@@ -10883,35 +10883,35 @@ static const struct test tests[] = {
 	"182358152808745703724362178773168996492870519432472065091133"
 	"11767578126e-4966",
 	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-152, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x8p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-16448, false,
-	false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x0p+0, false,
-	0x4p-1076, false,
-	false,
-	0x0p+0, false,
-	0x4p-16496, false,
-	0x0p+0, false,
-	0x4p-16496, false),
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-16448, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x0p+0, false, true,
+	0x4p-16496, false, true,
+	0x0p+0, false, true,
+	0x4p-16496, false, true),
   TEST ("-3.237587559719012555462219479113823276249784669017340504844"
 	"942194598519770062059685508835745638324970127939070738424059"
 	"838293609943191271023342555035986308991521396355375667467208"
@@ -11106,35 +11106,35 @@ static const struct test tests[] = {
 	"218235815280874570372436217877316899649287051943247206509113"
 	"311767578124e-4966",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST ("-3.237587559719012555462219479113823276249784669017340504844"
 	"942194598519770062059685508835745638324970127939070738424059"
 	"838293609943191271023342555035986308991521396355375667467208"
@@ -11329,35 +11329,35 @@ static const struct test tests[] = {
 	"218235815280874570372436217877316899649287051943247206509113"
 	"311767578125e-4966",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST ("-3.237587559719012555462219479113823276249784669017340504844"
 	"942194598519770062059685508835745638324970127939070738424059"
 	"838293609943191271023342555035986308991521396355375667467208"
@@ -11552,66 +11552,66 @@ static const struct test tests[] = {
 	"218235815280874570372436217877316899649287051943247206509113"
 	"311767578126e-4966",
 	false,
-	-0x8p-152, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x8p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16448, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-1076, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	-0x0p+0, false,
-	false,
-	-0x4p-16496, false,
-	-0x4p-16496, false,
-	-0x0p+0, false,
-	-0x0p+0, false),
+	-0x8p-152, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x8p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16448, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-1076, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true,
+	false,
+	-0x4p-16496, false, true,
+	-0x4p-16496, false, true,
+	-0x0p+0, false, true,
+	-0x0p+0, false, true),
   TEST ("340282366920938463463374607431768211455",
 	false,
-	0xf.fffffp+124, false,
-	INF, true,
-	0xf.fffffp+124, false,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+124, false,
-	0x1p+128, false,
-	0xf.ffffffffffff8p+124, false,
-	0x1p+128, false,
-	false,
-	0xf.fffffffffffffffp+124, false,
-	0x1p+128, false,
-	0xf.fffffffffffffffp+124, false,
-	0x1p+128, false,
-	false,
-	0xf.fffffffffffffffp+124, false,
-	0x1p+128, false,
-	0xf.fffffffffffffffp+124, false,
-	0x1p+128, false,
-	false,
-	0xf.fffffffffffffffffffffffffcp+124, false,
-	0x1p+128, false,
-	0xf.fffffffffffffffffffffffffcp+124, false,
-	0x1p+128, false,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+124, false,
-	0x1p+128, false,
-	0xf.fffffffffffffffffffffffffff8p+124, false,
-	0x1p+128, false),
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	0xf.fffffp+124, false, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+124, false, false,
+	0x1p+128, false, false,
+	0xf.ffffffffffff8p+124, false, false,
+	0x1p+128, false, false,
+	false,
+	0xf.fffffffffffffffp+124, false, false,
+	0x1p+128, false, false,
+	0xf.fffffffffffffffp+124, false, false,
+	0x1p+128, false, false,
+	false,
+	0xf.fffffffffffffffp+124, false, false,
+	0x1p+128, false, false,
+	0xf.fffffffffffffffp+124, false, false,
+	0x1p+128, false, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+124, false, false,
+	0x1p+128, false, false,
+	0xf.fffffffffffffffffffffffffcp+124, false, false,
+	0x1p+128, false, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+124, false, false,
+	0x1p+128, false, false,
+	0xf.fffffffffffffffffffffffffff8p+124, false, false,
+	0x1p+128, false, false),
   TEST ("179769313486231590772930519078902473361797697894230657273430"
 	"081157732675805500963132708477322407536021120113879871393357"
 	"658789768814416622492847430639474124377767893424865485276302"
@@ -11619,35 +11619,35 @@ static const struct test tests[] = {
 	"540827237163350510684586298239947245938479716304835356329624"
 	"224137215",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	0xf.ffffffffffff8p+1020, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+1020, false,
-	0x1p+1024, false,
-	0xf.fffffffffffffffp+1020, false,
-	0x1p+1024, false,
-	false,
-	0xf.fffffffffffffffp+1020, false,
-	0x1p+1024, false,
-	0xf.fffffffffffffffp+1020, false,
-	0x1p+1024, false,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+1020, false,
-	0x1p+1024, false,
-	0xf.fffffffffffffffffffffffffff8p+1020, false,
-	0x1p+1024, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+1020, false, false,
+	0x1p+1024, false, false,
+	0xf.fffffffffffffffp+1020, false, false,
+	0x1p+1024, false, false,
+	false,
+	0xf.fffffffffffffffp+1020, false, false,
+	0x1p+1024, false, false,
+	0xf.fffffffffffffffp+1020, false, false,
+	0x1p+1024, false, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+1020, false, false,
+	0x1p+1024, false, false,
+	0xf.fffffffffffffffffffffffffff8p+1020, false, false,
+	0x1p+1024, false, false),
   TEST ("118973149535723176508575932662800713076344468709651023747267"
 	"482123326135818048368690448859547261203991511543748483930925"
 	"889766738130868742627452469834156500608087163436600489752214"
@@ -11732,66 +11732,66 @@ static const struct test tests[] = {
 	"047398248889922809181821393428829567971736994315246044702729"
 	"0669964066815",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	0xf.fffffffffffffffp+16380, false,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true,
-	0xf.fffffffffffffffffffffffffff8p+16380, false,
-	INF, true),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffp+16380, false, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	INF, true, false),
   TEST ("-340282366920938463463374607431768211455",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, false,
-	-0xf.fffffp+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.ffffffffffff8p+124, false,
-	-0xf.ffffffffffff8p+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.fffffffffffffffp+124, false,
-	-0xf.fffffffffffffffp+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.fffffffffffffffp+124, false,
-	-0xf.fffffffffffffffp+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.fffffffffffffffffffffffffcp+124, false,
-	-0xf.fffffffffffffffffffffffffcp+124, false,
-	false,
-	-0x1p+128, false,
-	-0x1p+128, false,
-	-0xf.fffffffffffffffffffffffffff8p+124, false,
-	-0xf.fffffffffffffffffffffffffff8p+124, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, false, false,
+	-0xf.fffffp+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.ffffffffffff8p+124, false, false,
+	-0xf.ffffffffffff8p+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.fffffffffffffffp+124, false, false,
+	-0xf.fffffffffffffffp+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.fffffffffffffffp+124, false, false,
+	-0xf.fffffffffffffffp+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.fffffffffffffffffffffffffcp+124, false, false,
+	-0xf.fffffffffffffffffffffffffcp+124, false, false,
+	false,
+	-0x1p+128, false, false,
+	-0x1p+128, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+124, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+124, false, false),
   TEST ("-17976931348623159077293051907890247336179769789423065727343"
 	"008115773267580550096313270847732240753602112011387987139335"
 	"765878976881441662249284743063947412437776789342486548527630"
@@ -11799,35 +11799,35 @@ static const struct test tests[] = {
 	"054082723716335051068458629823994724593847971630483535632962"
 	"4224137215",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, false,
-	-0xf.ffffffffffff8p+1020, false,
-	false,
-	-0x1p+1024, false,
-	-0x1p+1024, false,
-	-0xf.fffffffffffffffp+1020, false,
-	-0xf.fffffffffffffffp+1020, false,
-	false,
-	-0x1p+1024, false,
-	-0x1p+1024, false,
-	-0xf.fffffffffffffffp+1020, false,
-	-0xf.fffffffffffffffp+1020, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-0x1p+1024, false,
-	-0x1p+1024, false,
-	-0xf.fffffffffffffffffffffffffff8p+1020, false,
-	-0xf.fffffffffffffffffffffffffff8p+1020, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	-0xf.ffffffffffff8p+1020, false, false,
+	false,
+	-0x1p+1024, false, false,
+	-0x1p+1024, false, false,
+	-0xf.fffffffffffffffp+1020, false, false,
+	-0xf.fffffffffffffffp+1020, false, false,
+	false,
+	-0x1p+1024, false, false,
+	-0x1p+1024, false, false,
+	-0xf.fffffffffffffffp+1020, false, false,
+	-0xf.fffffffffffffffp+1020, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-0x1p+1024, false, false,
+	-0x1p+1024, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+1020, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+1020, false, false),
   TEST ("-11897314953572317650857593266280071307634446870965102374726"
 	"748212332613581804836869044885954726120399151154374848393092"
 	"588976673813086874262745246983415650060808716343660048975221"
@@ -11912,3529 +11912,3901 @@ static const struct test tests[] = {
 	"904739824888992280918182139342882956797173699431524604470272"
 	"90669964066815",
 	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffp+124, true,
-	-0xf.fffffp+124, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.ffffffffffff8p+1020, true,
-	-0xf.ffffffffffff8p+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffp+16380, false,
-	-0xf.fffffffffffffffp+16380, false,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	-0xf.fffffffffffffffffffffffffcp+1020, true,
-	false,
-	-INF, true,
-	-INF, true,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false,
-	-0xf.fffffffffffffffffffffffffff8p+16380, false),
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffp+124, true, false,
+	-0xf.fffffp+124, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	-0xf.ffffffffffff8p+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	-0xf.fffffffffffffffp+16380, false, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	-0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	false,
+	-INF, true, false,
+	-INF, true, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false,
+	-0xf.fffffffffffffffffffffffffff8p+16380, false, false),
   TEST ("+0x.80000000000000000000000000000001p1025",
 	false,
-	0xf.fffffp+124, true,
-	INF, true,
-	0xf.fffffp+124, true,
-	INF, true,
-	false,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	0xf.ffffffffffff8p+1020, true,
-	INF, true,
-	false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1.0000000000000002p+1024, false,
-	false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1.0000000000000002p+1024, false,
-	false,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	0xf.fffffffffffffffffffffffffcp+1020, true,
-	INF, true,
-	false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1p+1024, false,
-	0x1.0000000000000000000000000001p+1024, false),
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	0xf.fffffp+124, true, false,
+	INF, true, false,
+	false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	0xf.ffffffffffff8p+1020, true, false,
+	INF, true, false,
+	false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1.0000000000000002p+1024, false, false,
+	false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1.0000000000000002p+1024, false, false,
+	false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	0xf.fffffffffffffffffffffffffcp+1020, true, false,
+	INF, true, false,
+	false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1p+1024, false, false,
+	0x1.0000000000000000000000000001p+1024, false, false),
   TEST ("1.5",
 	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	true,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false,
-	0x1.8p+0, false),
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	true,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false,
+	0x1.8p+0, false, false),
   TEST ("1.25",
 	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	true,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false,
-	0x1.4p+0, false),
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	true,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false,
+	0x1.4p+0, false, false),
   TEST ("1.125",
 	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	true,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false,
-	0x1.2p+0, false),
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	true,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false,
+	0x1.2p+0, false, false),
   TEST ("1.0625",
 	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	true,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false,
-	0x1.1p+0, false),
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	true,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false,
+	0x1.1p+0, false, false),
   TEST ("1.03125",
 	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	true,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false,
-	0x1.08p+0, false),
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	true,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false,
+	0x1.08p+0, false, false),
   TEST ("1.015625",
 	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	true,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false,
-	0x1.04p+0, false),
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	true,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false,
+	0x1.04p+0, false, false),
   TEST ("1.0078125",
 	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	true,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false,
-	0x1.02p+0, false),
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	true,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false,
+	0x1.02p+0, false, false),
   TEST ("1.00390625",
 	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	true,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false,
-	0x1.01p+0, false),
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	true,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false,
+	0x1.01p+0, false, false),
   TEST ("1.001953125",
 	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	true,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false,
-	0x1.008p+0, false),
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	true,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false,
+	0x1.008p+0, false, false),
   TEST ("1.0009765625",
 	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	true,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false,
-	0x1.004p+0, false),
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	true,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false,
+	0x1.004p+0, false, false),
   TEST ("1.00048828125",
 	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	true,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false,
-	0x1.002p+0, false),
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	true,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false,
+	0x1.002p+0, false, false),
   TEST ("1.000244140625",
 	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	true,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false,
-	0x1.001p+0, false),
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	true,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false,
+	0x1.001p+0, false, false),
   TEST ("1.0001220703125",
 	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	true,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false,
-	0x1.0008p+0, false),
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	true,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false,
+	0x1.0008p+0, false, false),
   TEST ("1.00006103515625",
 	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	true,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false,
-	0x1.0004p+0, false),
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	true,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false,
+	0x1.0004p+0, false, false),
   TEST ("1.000030517578125",
 	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	true,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false,
-	0x1.0002p+0, false),
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	true,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false,
+	0x1.0002p+0, false, false),
   TEST ("1.0000152587890625",
 	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	true,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false,
-	0x1.0001p+0, false),
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	true,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false,
+	0x1.0001p+0, false, false),
   TEST ("1.00000762939453125",
 	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	true,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false,
-	0x1.00008p+0, false),
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	true,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false,
+	0x1.00008p+0, false, false),
   TEST ("1.000003814697265625",
 	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	true,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false,
-	0x1.00004p+0, false),
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	true,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false,
+	0x1.00004p+0, false, false),
   TEST ("1.0000019073486328125",
 	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	true,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false,
-	0x1.00002p+0, false),
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	true,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false,
+	0x1.00002p+0, false, false),
   TEST ("1.00000095367431640625",
 	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	true,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false,
-	0x1.00001p+0, false),
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	true,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false,
+	0x1.00001p+0, false, false),
   TEST ("1.000000476837158203125",
 	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	true,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false,
-	0x1.000008p+0, false),
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	true,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false,
+	0x1.000008p+0, false, false),
   TEST ("1.0000000298023223876953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	true,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false,
-	0x1.0000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	true,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false,
+	0x1.0000008p+0, false, false),
   TEST ("1.00000001490116119384765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	true,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false,
-	0x1.0000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	true,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false,
+	0x1.0000004p+0, false, false),
   TEST ("1.000000007450580596923828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	true,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false,
-	0x1.0000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	true,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false,
+	0x1.0000002p+0, false, false),
   TEST ("1.0000000037252902984619140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	true,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false,
-	0x1.0000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	true,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false,
+	0x1.0000001p+0, false, false),
   TEST ("1.00000000186264514923095703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	true,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false,
-	0x1.00000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	true,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false,
+	0x1.00000008p+0, false, false),
   TEST ("1.000000000931322574615478515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	true,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false,
-	0x1.00000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	true,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false,
+	0x1.00000004p+0, false, false),
   TEST ("1.0000000004656612873077392578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	true,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false,
-	0x1.00000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	true,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false,
+	0x1.00000002p+0, false, false),
   TEST ("1.00000000023283064365386962890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	true,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false,
-	0x1.00000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	true,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false,
+	0x1.00000001p+0, false, false),
   TEST ("1.000000000116415321826934814453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	true,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false,
-	0x1.000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	true,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false,
+	0x1.000000008p+0, false, false),
   TEST ("1.0000000000582076609134674072265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	true,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false,
-	0x1.000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	true,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false,
+	0x1.000000004p+0, false, false),
   TEST ("1.00000000002910383045673370361328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	true,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false,
-	0x1.000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	true,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false,
+	0x1.000000002p+0, false, false),
   TEST ("1.000000000014551915228366851806640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	true,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false,
-	0x1.000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	true,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false,
+	0x1.000000001p+0, false, false),
   TEST ("1.0000000000072759576141834259033203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	true,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false,
-	0x1.0000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	true,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false,
+	0x1.0000000008p+0, false, false),
   TEST ("1.00000000000363797880709171295166015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	true,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false,
-	0x1.0000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	true,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false,
+	0x1.0000000004p+0, false, false),
   TEST ("1.000000000001818989403545856475830078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	true,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false,
-	0x1.0000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	true,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false,
+	0x1.0000000002p+0, false, false),
   TEST ("1.0000000000009094947017729282379150390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	true,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false,
-	0x1.0000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	true,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false,
+	0x1.0000000001p+0, false, false),
   TEST ("1.00000000000045474735088646411895751953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	true,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false,
-	0x1.00000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	true,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false,
+	0x1.00000000008p+0, false, false),
   TEST ("1.000000000000227373675443232059478759765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	true,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false,
-	0x1.00000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	true,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false,
+	0x1.00000000004p+0, false, false),
   TEST ("1.0000000000001136868377216160297393798828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	true,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false,
-	0x1.00000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	true,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false,
+	0x1.00000000002p+0, false, false),
   TEST ("1.00000000000005684341886080801486968994140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	true,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false,
-	0x1.00000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	true,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false,
+	0x1.00000000001p+0, false, false),
   TEST ("1.000000000000028421709430404007434844970703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	true,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false,
-	0x1.000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	true,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false,
+	0x1.000000000008p+0, false, false),
   TEST ("1.0000000000000142108547152020037174224853515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	true,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false,
-	0x1.000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	true,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false,
+	0x1.000000000004p+0, false, false),
   TEST ("1.00000000000000710542735760100185871124267578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	true,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false,
-	0x1.000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	true,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false,
+	0x1.000000000002p+0, false, false),
   TEST ("1.000000000000003552713678800500929355621337890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	true,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false,
-	0x1.000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	true,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false,
+	0x1.000000000001p+0, false, false),
   TEST ("1.0000000000000017763568394002504646778106689453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	true,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false,
-	0x1.0000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	true,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false,
+	0x1.0000000000008p+0, false, false),
   TEST ("1.00000000000000088817841970012523233890533447265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	true,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false,
-	0x1.0000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	true,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false,
+	0x1.0000000000004p+0, false, false),
   TEST ("1.000000000000000444089209850062616169452667236328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	true,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false,
-	0x1.0000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	true,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false,
+	0x1.0000000000002p+0, false, false),
   TEST ("1.0000000000000002220446049250313080847263336181640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false,
-	0x1.0000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	0x1.0000000000001p+0, false, false),
   TEST ("1.00000000000000011102230246251565404236316680908203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	true,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	true,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	true,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false,
-	0x1.00000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	true,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	true,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	true,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false,
+	0x1.00000000000008p+0, false, false),
   TEST ("1.000000000000000055511151231257827021181583404541015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	true,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	true,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	true,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false,
-	0x1.00000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	true,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	true,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	true,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false,
+	0x1.00000000000004p+0, false, false),
   TEST ("1.0000000000000000277555756156289135105907917022705078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	true,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	true,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	true,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false,
-	0x1.00000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	true,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	true,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	true,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false,
+	0x1.00000000000002p+0, false, false),
   TEST ("1.00000000000000001387778780781445675529539585113525390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	true,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	true,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	true,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false,
-	0x1.00000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	true,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	true,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	true,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false,
+	0x1.00000000000001p+0, false, false),
   TEST ("1.000000000000000006938893903907228377647697925567626953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	true,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	true,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	true,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false,
-	0x1.000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	true,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	true,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	true,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false,
+	0x1.000000000000008p+0, false, false),
   TEST ("1.0000000000000000034694469519536141888238489627838134765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	true,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	true,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	true,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false,
-	0x1.000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	true,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	true,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	true,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false,
+	0x1.000000000000004p+0, false, false),
   TEST ("1.0000000000000000017347234759768070944119244813919067382812"
 	"5",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	true,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	true,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	true,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false,
-	0x1.000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	true,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	true,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	true,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false,
+	0x1.000000000000002p+0, false, false),
   TEST ("1.0000000000000000008673617379884035472059622406959533691406"
 	"25",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	true,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	true,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	true,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false,
-	0x1.000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	true,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	true,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	true,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false,
+	0x1.000000000000001p+0, false, false),
   TEST ("1.0000000000000000004336808689942017736029811203479766845703"
 	"125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	true,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	true,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	true,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false,
-	0x1.0000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false,
+	0x1.0000000000000008p+0, false, false),
   TEST ("1.0000000000000000002168404344971008868014905601739883422851"
 	"5625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	true,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	true,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	true,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false,
-	0x1.0000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false,
+	0x1.0000000000000004p+0, false, false),
   TEST ("1.0000000000000000001084202172485504434007452800869941711425"
 	"78125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	true,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false,
-	0x1.0000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	true,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	0x1.0000000000000002p+0, false, false),
   TEST ("1.0000000000000000000542101086242752217003726400434970855712"
 	"890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	true,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false,
-	0x1.0000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	true,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false,
+	0x1.0000000000000001p+0, false, false),
   TEST ("1.0000000000000000000271050543121376108501863200217485427856"
 	"4453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	true,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false,
-	0x1.00000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	true,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false,
+	0x1.00000000000000008p+0, false, false),
   TEST ("1.0000000000000000000135525271560688054250931600108742713928"
 	"22265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	true,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false,
-	0x1.00000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	true,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false,
+	0x1.00000000000000004p+0, false, false),
   TEST ("1.0000000000000000000067762635780344027125465800054371356964"
 	"111328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	true,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false,
-	0x1.00000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false,
+	0x1.00000000000000002p+0, false, false),
   TEST ("1.0000000000000000000033881317890172013562732900027185678482"
 	"0556640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	true,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false,
-	0x1.00000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	true,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false,
+	0x1.00000000000000001p+0, false, false),
   TEST ("1.0000000000000000000016940658945086006781366450013592839241"
 	"02783203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	true,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false,
-	0x1.000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false,
+	0x1.000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000008470329472543003390683225006796419620"
 	"513916015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	true,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false,
-	0x1.000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	true,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false,
+	0x1.000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000004235164736271501695341612503398209810"
 	"2569580078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	true,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false,
-	0x1.000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false,
+	0x1.000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000002117582368135750847670806251699104905"
 	"12847900390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	true,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false,
-	0x1.000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	true,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false,
+	0x1.000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000001058791184067875423835403125849552452"
 	"564239501953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false,
-	0x1.0000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false,
+	0x1.0000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000529395592033937711917701562924776226"
 	"2821197509765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	true,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false,
-	0x1.0000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false,
+	0x1.0000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000264697796016968855958850781462388113"
 	"14105987548828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	true,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false,
-	0x1.0000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false,
+	0x1.0000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000132348898008484427979425390731194056"
 	"570529937744140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	true,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false,
-	0x1.0000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	true,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false,
+	0x1.0000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000066174449004242213989712695365597028"
 	"2852649688720703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	true,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false,
-	0x1.00000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	true,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false,
+	0x1.00000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000033087224502121106994856347682798514"
 	"14263248443603515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	true,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false,
-	0x1.00000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	true,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false,
+	0x1.00000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000016543612251060553497428173841399257"
 	"071316242218017578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	true,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false,
-	0x1.00000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false,
+	0x1.00000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000008271806125530276748714086920699628"
 	"5356581211090087890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	true,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false,
-	0x1.00000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	true,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false,
+	0x1.00000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000004135903062765138374357043460349814"
 	"26782906055450439453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false,
-	0x1.000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false,
+	0x1.000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000002067951531382569187178521730174907"
 	"133914530277252197265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	true,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false,
-	0x1.000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	true,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false,
+	0x1.000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000001033975765691284593589260865087453"
 	"5669572651386260986328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	true,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false,
-	0x1.000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false,
+	0x1.000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000516987882845642296794630432543726"
 	"78347863256931304931640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	true,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false,
-	0x1.000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	true,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false,
+	0x1.000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000258493941422821148397315216271863"
 	"391739316284656524658203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false,
-	0x1.0000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false,
+	0x1.0000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000129246970711410574198657608135931"
 	"6958696581423282623291015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	true,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false,
-	0x1.0000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false,
+	0x1.0000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000064623485355705287099328804067965"
 	"84793482907116413116455078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false,
-	0x1.0000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false,
+	0x1.0000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000032311742677852643549664402033982"
 	"923967414535582065582275390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	true,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false,
-	0x1.0000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	true,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false,
+	0x1.0000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000016155871338926321774832201016991"
 	"4619837072677910327911376953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	true,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false,
-	0x1.00000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	true,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false,
+	0x1.00000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000008077935669463160887416100508495"
 	"73099185363389551639556884765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	true,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false,
-	0x1.00000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	true,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false,
+	0x1.00000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000004038967834731580443708050254247"
 	"865495926816947758197784423828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false,
-	0x1.00000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false,
+	0x1.00000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000002019483917365790221854025127123"
 	"9327479634084738790988922119140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	true,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false,
-	0x1.00000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	true,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false,
+	0x1.00000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000001009741958682895110927012563561"
 	"96637398170423693954944610595703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false,
-	0x1.000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000504870979341447555463506281780"
 	"983186990852118469774723052978515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	true,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false,
-	0x1.000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	true,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000252435489670723777731753140890"
 	"4915934954260592348873615264892578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false,
-	0x1.000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000126217744835361888865876570445"
 	"24579674771302961744368076324462890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	true,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false,
-	0x1.000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	true,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000063108872417680944432938285222"
 	"622898373856514808721840381622314453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false,
-	0x1.0000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000031554436208840472216469142611"
 	"3114491869282574043609201908111572265625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	true,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false,
-	0x1.0000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	true,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000015777218104420236108234571305"
 	"65572459346412870218046009540557861328125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false,
-	0x1.0000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000007888609052210118054117285652"
 	"827862296732064351090230047702789306640625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	true,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false,
-	0x1.0000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	true,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000003944304526105059027058642826"
 	"4139311483660321755451150238513946533203125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	true,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false,
-	0x1.00000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	true,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false,
+	0x1.00000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000001972152263052529513529321413"
 	"20696557418301608777255751192569732666015625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	true,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false,
-	0x1.00000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	true,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false,
+	0x1.00000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000000986076131526264756764660706"
 	"603482787091508043886278755962848663330078125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false,
-	0x1.00000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false,
+	0x1.00000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000000493038065763132378382330353"
 	"3017413935457540219431393779814243316650390625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	true,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false,
-	0x1.00000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	true,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false,
+	0x1.00000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000000246519032881566189191165176"
 	"65087069677287701097156968899071216583251953125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	true,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	0x1.000000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	true,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000000123259516440783094595582588"
 	"325435348386438505485784844495356082916259765625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000000004p+0, false,
-	0x1.000000000000000000000000004p+0, false,
-	0x1.000000000000000000000000004p+0, false,
-	0x1.000000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000000004p+0, false, false,
+	0x1.000000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000000061629758220391547297791294"
 	"1627176741932192527428924222476780414581298828125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000000002p+0, false,
-	0x1.000000000000000000000000002p+0, false,
-	0x1.000000000000000000000000002p+0, false,
-	0x1.000000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000000002p+0, false, false,
+	0x1.000000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000000030814879110195773648895647"
 	"08135883709660962637144621112383902072906494140625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.000000000000000000000000001p+0, false,
-	0x1.000000000000000000000000001p+0, false,
-	0x1.000000000000000000000000001p+0, false,
-	0x1.000000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.000000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000000001p+0, false, false,
+	0x1.000000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000000015407439555097886824447823"
 	"540679418548304813185723105561919510364532470703125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000000008p+0, false,
-	0x1.0000000000000000000000000008p+0, false,
-	0x1.0000000000000000000000000008p+0, false,
-	0x1.0000000000000000000000000008p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000000008p+0, false, false,
+	0x1.0000000000000000000000000008p+0, false, false),
   TEST ("1.0000000000000000000000000000000007703719777548943412223911"
 	"7703397092741524065928615527809597551822662353515625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000000004p+0, false,
-	0x1.0000000000000000000000000004p+0, false,
-	0x1.0000000000000000000000000004p+0, false,
-	0x1.0000000000000000000000000004p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000000004p+0, false, false,
+	0x1.0000000000000000000000000004p+0, false, false),
   TEST ("1.0000000000000000000000000000000003851859888774471706111955"
 	"88516985463707620329643077639047987759113311767578125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000000002p+0, false,
-	0x1.0000000000000000000000000002p+0, false,
-	0x1.0000000000000000000000000002p+0, false,
-	0x1.0000000000000000000000000002p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000000002p+0, false, false,
+	0x1.0000000000000000000000000002p+0, false, false),
   TEST ("1.0000000000000000000000000000000001925929944387235853055977"
 	"942584927318538101648215388195239938795566558837890625",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	true,
-	0x1.0000000000000000000000000001p+0, false,
-	0x1.0000000000000000000000000001p+0, false,
-	0x1.0000000000000000000000000001p+0, false,
-	0x1.0000000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	true,
+	0x1.0000000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000000001p+0, false, false,
+	0x1.0000000000000000000000000001p+0, false, false),
   TEST ("1.0000000000000000000000000000000000962964972193617926527988"
 	"9712924636592690508241076940976199693977832794189453125",
 	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000001p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000002p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.000000000000000000000000008p+0, false,
-	false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1p+0, false,
-	0x1.0000000000000000000000000001p+0, false),
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000001p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000002p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.000000000000000000000000008p+0, false, false,
+	false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1p+0, false, false,
+	0x1.0000000000000000000000000001p+0, false, false),
+  TEST ("0x30000002222225p-1077",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x1.800000111111p-1024, false, true,
+	0x1.8000001111114p-1024, false, true,
+	0x1.800000111111p-1024, false, true,
+	0x1.8000001111114p-1024, false, true,
+	true,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	true,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	false,
+	0x1.800000111111p-1024, false, true,
+	0x1.8000001111114p-1024, false, true,
+	0x1.800000111111p-1024, false, true,
+	0x1.8000001111114p-1024, false, true,
+	true,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false,
+	0x1.80000011111128p-1024, false, false),
+  TEST ("0x0.7fffffffffffeap-1022",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	true,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	true,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	false,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	true,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false,
+	0x1.ffffffffffffa8p-1024, false, false),
+  TEST ("0x0.7fffffffffffe9p-1022",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	true,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	true,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	false,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	0x1.ffffffffffff8p-1024, false, true,
+	0x1.ffffffffffffcp-1024, false, true,
+	true,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false,
+	0x1.ffffffffffffa4p-1024, false, false),
+  TEST ("0x0.7ffffd4p-126",
+	false,
+	0x1.fffffp-128, false, true,
+	0x1.fffff8p-128, false, true,
+	0x1.fffffp-128, false, true,
+	0x1.fffff8p-128, false, true,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	true,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false,
+	0x1.fffff5p-128, false, false),
+  TEST ("0x0.7ffffffffffffffd4p-16382",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffffffp-16384, false, true,
+	0x1.fffffffffffffff8p-16384, false, true,
+	0x1.fffffffffffffffp-16384, false, true,
+	0x1.fffffffffffffff8p-16384, false, true,
+	false,
+	0x1.fffffffffffffff4p-16384, false, true,
+	0x1.fffffffffffffff4p-16384, false, true,
+	0x1.fffffffffffffff4p-16384, false, true,
+	0x1.fffffffffffffff8p-16384, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x1.fffffffffffffff5p-16384, false, false,
+	0x1.fffffffffffffff5p-16384, false, false,
+	0x1.fffffffffffffff5p-16384, false, false,
+	0x1.fffffffffffffff5p-16384, false, false),
+  TEST ("0x0.7ffffffffffffffd4p-16383",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0x1p-16384, false, true,
+	false,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0xf.ffffffffffffffcp-16388, false, true,
+	0xf.ffffffffffffff8p-16388, false, true,
+	0xf.ffffffffffffffcp-16388, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0xf.ffffffffffffffa8p-16388, false, false,
+	0xf.ffffffffffffffa8p-16388, false, false,
+	0xf.ffffffffffffffa8p-16388, false, false,
+	0xf.ffffffffffffffa8p-16388, false, false),
+  TEST ("0x0.7ffffffffffffffffffffffffffeap-16382",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffffff8p-16384, false, true,
+	0x2p-16384, false, true,
+	0x1.fffffffffffffff8p-16384, false, true,
+	0x2p-16384, false, true,
+	false,
+	0x1.fffffffffffffffcp-16384, false, true,
+	0x2p-16384, false, true,
+	0x1.fffffffffffffffcp-16384, false, true,
+	0x2p-16384, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.fffffffffffffffffffffffffff8p-16384, false, true,
+	0x1.fffffffffffffffffffffffffffcp-16384, false, true,
+	0x1.fffffffffffffffffffffffffff8p-16384, false, true,
+	0x1.fffffffffffffffffffffffffffcp-16384, false, true),
+  TEST ("0x0.7000004p-126",
+	false,
+	0x1.cp-128, false, true,
+	0x1.cp-128, false, true,
+	0x1.cp-128, false, true,
+	0x1.c00008p-128, false, true,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	true,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false,
+	0x1.c00001p-128, false, false),
+  TEST ("0x0.70000000000002p-1022",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x1.cp-1024, false, true,
+	0x1.cp-1024, false, true,
+	0x1.cp-1024, false, true,
+	0x1.c000000000004p-1024, false, true,
+	true,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	true,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	false,
+	0x1.cp-1024, false, true,
+	0x1.cp-1024, false, true,
+	0x1.cp-1024, false, true,
+	0x1.c000000000004p-1024, false, true,
+	true,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false,
+	0x1.c0000000000008p-1024, false, false),
+  TEST ("0x0.70000000000000004p-16382",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000008p-16384, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000004p-16384, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0x1.c000000000000001p-16384, false, false,
+	0x1.c000000000000001p-16384, false, false,
+	0x1.c000000000000001p-16384, false, false,
+	0x1.c000000000000001p-16384, false, false),
+  TEST ("0x0.70000000000000004p-16383",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0xep-16388, false, true,
+	0xep-16388, false, true,
+	0xep-16388, false, true,
+	0xe.000000000000008p-16388, false, true,
+	false,
+	0xep-16388, false, true,
+	0xep-16388, false, true,
+	0xep-16388, false, true,
+	0xe.000000000000004p-16388, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	true,
+	0xe.0000000000000008p-16388, false, false,
+	0xe.0000000000000008p-16388, false, false,
+	0xe.0000000000000008p-16388, false, false,
+	0xe.0000000000000008p-16388, false, false),
+  TEST ("0x0.70000000000000000000000000002p-16382",
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x8p-152, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000008p-16384, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000004p-16384, false, true,
+	false,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x0p+0, false, true,
+	0x4p-1076, false, true,
+	false,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.cp-16384, false, true,
+	0x1.c000000000000000000000000004p-16384, false, true),
 };
diff --git a/stdlib/tst-strtod-round-skeleton.c b/stdlib/tst-strtod-round-skeleton.c
index 6fba4b5228..be081ba416 100644
--- a/stdlib/tst-strtod-round-skeleton.c
+++ b/stdlib/tst-strtod-round-skeleton.c
@@ -21,6 +21,7 @@
    declared in the headers.  */
 #define _LIBC_TEST 1
 #define __STDC_WANT_IEC_60559_TYPES_EXT__
+#include <errno.h>
 #include <fenv.h>
 #include <float.h>
 #include <math.h>
@@ -29,6 +30,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <math-tests.h>
+#include <tininess.h>
 
 #include "tst-strtod.h"
 
@@ -138,16 +140,26 @@
    gen-tst-strtod-round utility to select the appropriately
    rounded long double value for a given format.  */
 #define TEST(s,							\
-	     fx, fd, fdo, fn, fno, fz, fzo, fu, fuo,		\
-	     dx, dd, ddo, dn, dno, dz, dzo, du, duo,		\
-	     ld64ix, ld64id, ld64ido, ld64in, ld64ino,		\
-	     ld64iz, ld64izo, ld64iu, ld64iuo,			\
-	     ld64mx, ld64md, ld64mdo, ld64mn, ld64mno,		\
-	     ld64mz, ld64mzo, ld64mu, ld64muo,			\
-	     ld106x, ld106d, ld106do, ld106n, ld106no,		\
-	     ld106z, ld106zo, ld106u, ld106uo,			\
-	     ld113x, ld113d, ld113do, ld113n, ld113no,		\
-	     ld113z, ld113zo, ld113u, ld113uo)			\
+	     fx, fd, fdo, fdu, fn, fno, fnu,			\
+	     fz, fzo, fzu, fu, fuo, fuu,			\
+	     dx, dd, ddo, ddu, dn, dno, dnu,			\
+	     dz, dzo, dzu, du, duo, duu,			\
+	     ld64ix, ld64id, ld64ido, ld64idu,			\
+	     ld64in, ld64ino, ld64inu,				\
+	     ld64iz, ld64izo, ld64izu,				\
+	     ld64iu, ld64iuo, ld64iuu,				\
+	     ld64mx, ld64md, ld64mdo, ld64mdu,			\
+	     ld64mn, ld64mno, ld64mnu,				\
+	     ld64mz, ld64mzo, ld64mzu,				\
+	     ld64mu, ld64muo, ld64muu,				\
+	     ld106x, ld106d, ld106do, ld106du,			\
+	     ld106n, ld106no, ld106nu,				\
+	     ld106z, ld106zo, ld106zu,				\
+	     ld106u, ld106uo, ld106uu,				\
+	     ld113x, ld113d, ld113do, ld113du,			\
+	     ld113n, ld113no, ld113nu,				\
+	     ld113z, ld113zo, ld113zu,				\
+	     ld113u, ld113uo, ld113uu)				\
   {								\
     L_ (s),							\
     { XNTRY (fx, dx, ld64ix, ld64mx, ld106x, ld113x) },		\
@@ -162,6 +174,12 @@
     { XNTRY (fdo, ddo, ld64ido, ld64mdo, ld106do, ld113do) },	\
     { XNTRY (fzo, dzo, ld64izo, ld64mzo, ld106zo, ld113zo) },	\
     { XNTRY (fuo, duo, ld64iuo, ld64muo, ld106uo, ld113uo) }	\
+    },								\
+    {								\
+    { XNTRY (fnu, dnu, ld64inu, ld64mnu, ld106nu, ld113nu) },	\
+    { XNTRY (fdu, ddu, ld64idu, ld64mdu, ld106du, ld113du) },	\
+    { XNTRY (fzu, dzu, ld64izu, ld64mzu, ld106zu, ld113zu) },	\
+    { XNTRY (fuu, duu, ld64iuu, ld64muu, ld106uu, ld113uu) }	\
     }								\
   }
 
@@ -180,11 +198,17 @@ struct test_overflow
   STRUCT_FOREACH_FLOAT_BOOL
   };
 
+struct test_underflow
+  {
+  STRUCT_FOREACH_FLOAT_BOOL
+  };
+
 struct test {
   const CHAR *s;
   struct test_exactness exact;
   struct test_results r[4];
   struct test_overflow o[4];
+  struct test_underflow u[4];
 };
 
 /* Include the generated test data.  */
@@ -202,10 +226,16 @@ struct test {
 # define FE_OVERFLOW 0
 #endif
 
+#ifndef FE_UNDERFLOW
+# define FE_UNDERFLOW 0
+#endif
+
 #define GEN_ONE_TEST(FSUF, FTYPE, FTOSTR, LSUF, CSUF)		\
 {								\
   feclearexcept (FE_ALL_EXCEPT);				\
+  errno = 12345;						\
   FTYPE f = STRTO (FSUF) (s, NULL);				\
+  int new_errno = errno;					\
   if (f != expected->FSUF					\
       || (copysign ## CSUF) (1.0 ## LSUF, f)			\
 	 != (copysign ## CSUF) (1.0 ## LSUF, expected->FSUF))	\
@@ -254,6 +284,48 @@ struct test {
 		printf ("ignoring this exception error\n");	\
 	    }							\
 	}							\
+      if (overflow->FSUF && new_errno != ERANGE)		\
+	{							\
+	  printf (FNPFXS "to" #FSUF				\
+		  " (" STRM ") left errno == %d,"		\
+		  " not %d (ERANGE)\n",				\
+		  s, new_errno, ERANGE);			\
+	  result = 1;						\
+	}							\
+      if (FE_UNDERFLOW != 0)					\
+	{							\
+	  bool underflow_raised					\
+	    = fetestexcept (FE_UNDERFLOW) != 0;			\
+	  if (underflow_raised != underflow->FSUF)		\
+	    {							\
+	      printf (FNPFXS "to" #FSUF				\
+		      " (" STRM ") underflow %d "		\
+		      "not %d\n", s, underflow_raised,		\
+		      underflow->FSUF);				\
+	      if (EXCEPTION_TESTS (FTYPE))			\
+		result = 1;					\
+	      else						\
+		printf ("ignoring this exception error\n");	\
+	    }							\
+	}							\
+      if (underflow->FSUF && new_errno != ERANGE)		\
+	{							\
+	  printf (FNPFXS "to" #FSUF				\
+		  " (" STRM ") left errno == %d,"		\
+		  " not %d (ERANGE)\n",				\
+		  s, new_errno, ERANGE);			\
+	  result = 1;						\
+	}							\
+      if (!overflow->FSUF					\
+	  && !underflow->FSUF					\
+	  && new_errno != 12345)				\
+	{							\
+	  printf (FNPFXS "to" #FSUF				\
+		  " (" STRM ") set errno == %d,"		\
+		  " should be unchanged\n",			\
+		  s, new_errno);				\
+	  result = 1;						\
+	}							\
     }								\
 }
 
@@ -261,6 +333,7 @@ static int
 test_in_one_mode (const CHAR *s, const struct test_results *expected,
 		    const struct test_exactness *exact,
 		    const struct test_overflow *overflow,
+		    const struct test_underflow *underflow,
 		    const char *mode_name, int rnd_mode)
 {
   int result = 0;
@@ -296,6 +369,7 @@ do_test (void)
     {
       result |= test_in_one_mode (tests[i].s, &tests[i].r[modes[0].rnd_i],
 				  &tests[i].exact, &tests[i].o[modes[0].rnd_i],
+				  &tests[i].u[modes[0].rnd_i],
 				  modes[0].mode_name, modes[0].rnd_mode);
       for (const struct fetestmodes *m = &modes[1]; m->mode_name != NULL; m++)
 	{
@@ -303,7 +377,9 @@ do_test (void)
 	    {
 	      result |= test_in_one_mode (tests[i].s, &tests[i].r[m->rnd_i],
 					  &tests[i].exact,
-					  &tests[i].o[m->rnd_i], m->mode_name,
+					  &tests[i].o[m->rnd_i],
+					  &tests[i].u[m->rnd_i],
+					  m->mode_name,
 					  m->rnd_mode);
 	      fesetround (save_round_mode);
 	    }
diff --git a/stdlib/tst-strtod1i.c b/stdlib/tst-strtod1i.c
index 9d6bb760fb..44ae0264f4 100644
--- a/stdlib/tst-strtod1i.c
+++ b/stdlib/tst-strtod1i.c
@@ -25,60 +25,91 @@
 #include <string.h>
 #include <math.h>
 
-/* Perform a few tests in a locale with thousands separators.  */
-static int
-do_test (void)
-{
-  static const struct
-  {
-    const char *loc;
-    const char *str;
-    double exp;
-    ptrdiff_t nread;
-  } tests[] =
-    {
-      { "de_DE.UTF-8", "1,5", 1.5, 3 },
-      { "de_DE.UTF-8", "1.5", 1.0, 1 },
-      { "de_DE.UTF-8", "1.500", 1500.0, 5 },
-      { "de_DE.UTF-8", "36.893.488.147.419.103.232", 0x1.0p65, 26 }
-    };
-#define ntests (sizeof (tests) / sizeof (tests[0]))
-  size_t n;
-  int result = 0;
-
-  puts ("\nLocale tests");
+#include "tst-strtod.h"
 
-  for (n = 0; n < ntests; ++n)
-    {
-      double d;
-      char *endp;
+/* This tests internal interfaces, which are only defined for types
+   with distinct ABIs, so disable testing for types without distinct
+   ABIs.  */
+#undef IF_FLOAT32
+#define IF_FLOAT32(x)
+#undef IF_FLOAT64
+#define IF_FLOAT64(x)
+#undef IF_FLOAT32X
+#define IF_FLOAT32X(x)
+#undef IF_FLOAT64X
+#define IF_FLOAT64X(x)
+#if !__HAVE_DISTINCT_FLOAT128
+# undef IF_FLOAT128
+# define IF_FLOAT128(x)
+#endif
 
-      if (setlocale (LC_ALL, tests[n].loc) == NULL)
-	{
-	  printf ("cannot set locale %s\n", tests[n].loc);
-	  result = 1;
-	  continue;
-	}
+#define ntests (sizeof (tests) / sizeof (tests[0]))
 
-      d = __strtod_internal (tests[n].str, &endp, 1);
-      if (d != tests[n].exp)
-	{
-	  printf ("strtod(\"%s\") returns %g and not %g\n",
-		  tests[n].str, d, tests[n].exp);
-	  result = 1;
-	}
-      else if (endp - tests[n].str != tests[n].nread)
-	{
-	  printf ("strtod(\"%s\") read %td bytes and not %td\n",
-		  tests[n].str, endp - tests[n].str, tests[n].nread);
-	  result = 1;
-	}
-    }
+/* Perform a few tests in a locale with thousands separators.  */
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  static const struct							\
+  {									\
+    const char *loc;							\
+    const char *str;							\
+    FTYPE exp;								\
+    ptrdiff_t nread;							\
+  } tests[] =								\
+    {									\
+      { "de_DE.UTF-8", "1,5", 1.5 ## LSUF, 3 },				\
+      { "de_DE.UTF-8", "1.5", 1.0 ## LSUF, 1 },				\
+      { "de_DE.UTF-8", "1.500", 1500.0 ## LSUF, 5 },			\
+      { "de_DE.UTF-8", "36.893.488.147.419.103.232", 0x1.0p65 ## LSUF, 26 } \
+    };									\
+  size_t n;								\
+  int result = 0;							\
+									\
+  puts ("\nLocale tests");						\
+									\
+  for (n = 0; n < ntests; ++n)						\
+    {									\
+      FTYPE d;								\
+      char *endp;							\
+									\
+      if (setlocale (LC_ALL, tests[n].loc) == NULL)			\
+	{								\
+	  printf ("cannot set locale %s\n", tests[n].loc);		\
+	  result = 1;							\
+	  continue;							\
+	}								\
+									\
+      d = __strto ## FSUF ## _internal (tests[n].str, &endp, 1);	\
+      if (d != tests[n].exp)						\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", d);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g", tests[n].exp);		\
+	  printf ("strto" # FSUF "(\"%s\") returns %s and not %s\n",	\
+		  tests[n].str, buf1, buf2);				\
+	  result = 1;							\
+	}								\
+      else if (endp - tests[n].str != tests[n].nread)			\
+	{								\
+	  printf ("strto" # FSUF "(\"%s\") read %td bytes and not %td\n", \
+		  tests[n].str, endp - tests[n].str, tests[n].nread);	\
+	  result = 1;							\
+	}								\
+    }									\
+									\
+  if (result == 0)							\
+    puts ("all OK");							\
+									\
+  return result ? EXIT_FAILURE : EXIT_SUCCESS;				\
+}
 
-  if (result == 0)
-    puts ("all OK");
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
-  return result ? EXIT_FAILURE : EXIT_SUCCESS;
+static int
+do_test (void)
+{
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #include <support/test-driver.c>
diff --git a/stdlib/tst-strtod3.c b/stdlib/tst-strtod3.c
index 23abec1896..0d662d8be8 100644
--- a/stdlib/tst-strtod3.c
+++ b/stdlib/tst-strtod3.c
@@ -3,19 +3,73 @@
 #include <stdlib.h>
 #include <string.h>
 
-static const struct
-{
-  const char *in;
-  const char *out;
-  double expected;
-} tests[] =
-  {
-    { "000,,,e1", ",,,e1", 0.0 },
-    { "000e1", "", 0.0 },
-    { "000,1e1", ",1e1", 0.0 }
-  };
-#define NTESTS (sizeof (tests) / sizeof (tests[0]))
+#include "tst-strtod.h"
+
+/* This tests internal interfaces, which are only defined for types
+   with distinct ABIs, so disable testing for types without distinct
+   ABIs.  */
+#undef IF_FLOAT32
+#define IF_FLOAT32(x)
+#undef IF_FLOAT64
+#define IF_FLOAT64(x)
+#undef IF_FLOAT32X
+#define IF_FLOAT32X(x)
+#undef IF_FLOAT64X
+#define IF_FLOAT64X(x)
+#if !__HAVE_DISTINCT_FLOAT128
+# undef IF_FLOAT128
+# define IF_FLOAT128(x)
+#endif
 
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static const struct							\
+{									\
+  const char *in;							\
+  const char *out;							\
+  FTYPE expected;							\
+} tests_strto ## FSUF[] =						\
+  {									\
+    { "000,,,e1", ",,,e1", 0.0 ## LSUF },				\
+    { "000e1", "", 0.0 ## LSUF },					\
+    { "000,1e1", ",1e1", 0.0 ## LSUF }					\
+  };									\
+									\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  int status = 0;							\
+									\
+  for (int i = 0;							\
+       i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \
+       ++i)								\
+    {									\
+      char *ep;								\
+      FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \
+					      &ep, 1);			\
+									\
+      if (strcmp (ep, tests_strto ## FSUF[i].out) != 0)			\
+	{								\
+	  printf ("%d: got rest string \"%s\", expected \"%s\"\n",	\
+		  i, ep, tests_strto ## FSUF[i].out);			\
+	  status = 1;							\
+	}								\
+									\
+      if (r != tests_strto ## FSUF[i].expected)				\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", r);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g",				\
+		  tests_strto ## FSUF[i].expected);			\
+	  printf ("%d: got wrong results %s, expected %s\n",		\
+		  i, buf1, buf2);					\
+	  status = 1;							\
+	}								\
+    }									\
+									\
+  return status;							\
+}
+
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
 static int
 do_test (void)
@@ -26,29 +80,7 @@ do_test (void)
       return 1;
     }
 
-  int status = 0;
-
-  for (int i = 0; i < NTESTS; ++i)
-    {
-      char *ep;
-      double r = __strtod_internal (tests[i].in, &ep, 1);
-
-      if (strcmp (ep, tests[i].out) != 0)
-	{
-	  printf ("%d: got rest string \"%s\", expected \"%s\"\n",
-		  i, ep, tests[i].out);
-	  status = 1;
-	}
-
-      if (r != tests[i].expected)
-	{
-	  printf ("%d: got wrong results %g, expected %g\n",
-		  i, r, tests[i].expected);
-	  status = 1;
-	}
-    }
-
-  return status;
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #define TEST_FUNCTION do_test ()
diff --git a/stdlib/tst-strtod4.c b/stdlib/tst-strtod4.c
index 6cc4e843c7..dfd3f05027 100644
--- a/stdlib/tst-strtod4.c
+++ b/stdlib/tst-strtod4.c
@@ -3,22 +3,76 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "tst-strtod.h"
+
+/* This tests internal interfaces, which are only defined for types
+   with distinct ABIs, so disable testing for types without distinct
+   ABIs.  */
+#undef IF_FLOAT32
+#define IF_FLOAT32(x)
+#undef IF_FLOAT64
+#define IF_FLOAT64(x)
+#undef IF_FLOAT32X
+#define IF_FLOAT32X(x)
+#undef IF_FLOAT64X
+#define IF_FLOAT64X(x)
+#if !__HAVE_DISTINCT_FLOAT128
+# undef IF_FLOAT128
+# define IF_FLOAT128(x)
+#endif
+
 #define NNBSP "\xe2\x80\xaf"
 
-static const struct
-{
-  const char *in;
-  const char *out;
-  double expected;
-} tests[] =
-  {
-    { "000"NNBSP"000"NNBSP"000", "", 0.0 },
-    { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 },
-    /* Bug 30964 */
-    { "10"NNBSP NNBSP"200", NNBSP NNBSP"200", 10.0 }
-  };
-#define NTESTS (sizeof (tests) / sizeof (tests[0]))
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static const struct							\
+{									\
+  const char *in;							\
+  const char *out;							\
+  FTYPE expected;							\
+} tests_strto ## FSUF[] =						\
+  {									\
+    { "000"NNBSP"000"NNBSP"000", "", 0.0 ## LSUF },			\
+    { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 ## LSUF },		\
+    /* Bug 30964 */							\
+    { "10"NNBSP NNBSP"200", NNBSP NNBSP"200", 10.0 ## LSUF }		\
+  };									\
+									\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  int status = 0;							\
+									\
+  for (int i = 0;							\
+       i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \
+       ++i)								\
+    {									\
+      char *ep;								\
+      FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \
+					      &ep, 1);			\
+									\
+      if (strcmp (ep, tests_strto ## FSUF[i].out) != 0)			\
+	{								\
+	  printf ("%d: got rest string \"%s\", expected \"%s\"\n",	\
+		  i, ep, tests_strto ## FSUF[i].out);			\
+	  status = 1;							\
+	}								\
+									\
+      if (r != tests_strto ## FSUF[i].expected)				\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", r);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g",				\
+		  tests_strto ## FSUF[i].expected);			\
+	  printf ("%d: got wrong results %s, expected %s\n",		\
+		  i, buf1, buf2);					\
+	  status = 1;							\
+	}								\
+    }									\
+									\
+  return status;							\
+}
 
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
 static int
 do_test (void)
@@ -29,29 +83,7 @@ do_test (void)
       return 1;
     }
 
-  int status = 0;
-
-  for (int i = 0; i < NTESTS; ++i)
-    {
-      char *ep;
-      double r = __strtod_internal (tests[i].in, &ep, 1);
-
-      if (strcmp (ep, tests[i].out) != 0)
-	{
-	  printf ("%d: got rest string \"%s\", expected \"%s\"\n",
-		  i, ep, tests[i].out);
-	  status = 1;
-	}
-
-      if (r != tests[i].expected)
-	{
-	  printf ("%d: got wrong results %g, expected %g\n",
-		  i, r, tests[i].expected);
-	  status = 1;
-	}
-    }
-
-  return status;
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #define TEST_FUNCTION do_test ()
diff --git a/stdlib/tst-strtod5i.c b/stdlib/tst-strtod5i.c
index ee54e3404c..136aedea68 100644
--- a/stdlib/tst-strtod5i.c
+++ b/stdlib/tst-strtod5i.c
@@ -16,52 +16,112 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+/* Defining _LIBC_TEST ensures long double math functions are
+   declared in the headers.  */
+#define _LIBC_TEST 1
 #include <locale.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
 
+#include "tst-strtod.h"
+
+/* This tests internal interfaces, which are only defined for types
+   with distinct ABIs, so disable testing for types without distinct
+   ABIs.  */
+#undef IF_FLOAT32
+#define IF_FLOAT32(x)
+#undef IF_FLOAT64
+#define IF_FLOAT64(x)
+#undef IF_FLOAT32X
+#define IF_FLOAT32X(x)
+#undef IF_FLOAT64X
+#define IF_FLOAT64X(x)
+#if !__HAVE_DISTINCT_FLOAT128
+# undef IF_FLOAT128
+# define IF_FLOAT128(x)
+#endif
+
 #define NNBSP "\xe2\x80\xaf"
 
-static const struct
-{
-  const char *in;
-  int group;
-  double expected;
-} tests[] =
-  {
-    { "0", 0, 0.0 },
-    { "000", 0, 0.0 },
-    { "-0", 0, -0.0 },
-    { "-000", 0, -0.0 },
-    { "0,", 0, 0.0 },
-    { "-0,", 0, -0.0 },
-    { "0,0", 0, 0.0 },
-    { "-0,0", 0, -0.0 },
-    { "0e-10", 0, 0.0 },
-    { "-0e-10", 0, -0.0 },
-    { "0,e-10", 0, 0.0 },
-    { "-0,e-10", 0, -0.0 },
-    { "0,0e-10", 0, 0.0 },
-    { "-0,0e-10", 0, -0.0 },
-    { "0e-1000000", 0, 0.0 },
-    { "-0e-1000000", 0, -0.0 },
-    { "0,0e-1000000", 0, 0.0 },
-    { "-0,0e-1000000", 0, -0.0 },
-    { "0", 1, 0.0 },
-    { "000", 1, 0.0 },
-    { "-0", 1, -0.0 },
-    { "-000", 1, -0.0 },
-    { "0e-10", 1, 0.0 },
-    { "-0e-10", 1, -0.0 },
-    { "0e-1000000", 1, 0.0 },
-    { "-0e-1000000", 1, -0.0 },
-    { "000"NNBSP"000"NNBSP"000", 1, 0.0 },
-    { "-000"NNBSP"000"NNBSP"000", 1, -0.0 }
-  };
-#define NTESTS (sizeof (tests) / sizeof (tests[0]))
+#define TEST_STRTOD(FSUF, FTYPE, FTOSTR, LSUF, CSUF)			\
+static const struct							\
+{									\
+  const char *in;							\
+  int group;								\
+  FTYPE expected;							\
+} tests_strto ## FSUF[] =						\
+  {									\
+    { "0", 0, 0.0 ## LSUF },						\
+    { "000", 0, 0.0 ## LSUF },						\
+    { "-0", 0, -0.0 ## LSUF },						\
+    { "-000", 0, -0.0 ## LSUF },					\
+    { "0,", 0, 0.0 ## LSUF },						\
+    { "-0,", 0, -0.0 ## LSUF },						\
+    { "0,0", 0, 0.0 ## LSUF },						\
+    { "-0,0", 0, -0.0 ## LSUF },					\
+    { "0e-10", 0, 0.0 ## LSUF },					\
+    { "-0e-10", 0, -0.0 ## LSUF },					\
+    { "0,e-10", 0, 0.0 ## LSUF },					\
+    { "-0,e-10", 0, -0.0 ## LSUF },					\
+    { "0,0e-10", 0, 0.0 ## LSUF },					\
+    { "-0,0e-10", 0, -0.0 ## LSUF },					\
+    { "0e-1000000", 0, 0.0 ## LSUF },					\
+    { "-0e-1000000", 0, -0.0 ## LSUF },					\
+    { "0,0e-1000000", 0, 0.0 ## LSUF },					\
+    { "-0,0e-1000000", 0, -0.0 ## LSUF },				\
+    { "0", 1, 0.0 ## LSUF },						\
+    { "000", 1, 0.0 ## LSUF },						\
+    { "-0", 1, -0.0 ## LSUF },						\
+    { "-000", 1, -0.0 ## LSUF },					\
+    { "0e-10", 1, 0.0 ## LSUF },					\
+    { "-0e-10", 1, -0.0 ## LSUF },					\
+    { "0e-1000000", 1, 0.0 ## LSUF },					\
+    { "-0e-1000000", 1, -0.0 ## LSUF },					\
+    { "000"NNBSP"000"NNBSP"000", 1, 0.0 ## LSUF },			\
+    { "-000"NNBSP"000"NNBSP"000", 1, -0.0 ## LSUF }			\
+  };									\
+									\
+static int								\
+test_strto ## FSUF (void)						\
+{									\
+  int status = 0;							\
+									\
+  for (int i = 0;							\
+       i < sizeof (tests_strto ## FSUF) / sizeof (tests_strto ## FSUF[0]); \
+       ++i)								\
+    {									\
+      char *ep;								\
+      FTYPE r = __strto ## FSUF ## _internal (tests_strto ## FSUF[i].in, \
+					      &ep,			\
+					      tests_strto ## FSUF[i].group); \
+									\
+      if (*ep != '\0')							\
+	{								\
+	  printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep); \
+	  status = 1;							\
+	}								\
+									\
+      if (r != tests_strto ## FSUF[i].expected				\
+	  || (copysign ## CSUF (10.0 ## LSUF, r)			\
+	      != copysign ## CSUF (10.0 ## LSUF,			\
+				   tests_strto ## FSUF[i].expected)))	\
+	{								\
+	  char buf1[FSTRLENMAX], buf2[FSTRLENMAX];			\
+	  FTOSTR (buf1, sizeof (buf1), "%g", r);			\
+	  FTOSTR (buf2, sizeof (buf2), "%g",				\
+		  tests_strto ## FSUF[i].expected);			\
+	  printf ("%d: got wrong results %s, expected %s\n",		\
+		  i, buf1, buf2);					\
+	  status = 1;							\
+	}								\
+    }									\
+									\
+  return status;							\
+}
 
+GEN_TEST_STRTOD_FOREACH (TEST_STRTOD)
 
 static int
 do_test (void)
@@ -72,29 +132,7 @@ do_test (void)
       return 1;
     }
 
-  int status = 0;
-
-  for (int i = 0; i < NTESTS; ++i)
-    {
-      char *ep;
-      double r = __strtod_internal (tests[i].in, &ep, tests[i].group);
-
-      if (*ep != '\0')
-	{
-	  printf ("%d: got rest string \"%s\", expected \"\"\n", i, ep);
-	  status = 1;
-	}
-
-      if (r != tests[i].expected
-	  || copysign (10.0, r) != copysign (10.0, tests[i].expected))
-	{
-	  printf ("%d: got wrong results %g, expected %g\n",
-		  i, r, tests[i].expected);
-	  status = 1;
-	}
-    }
-
-  return status;
+  return STRTOD_TEST_FOREACH (test_strto);
 }
 
 #include <support/test-driver.c>
diff --git a/stdlib/tst-swapcontext2.c b/stdlib/tst-swapcontext2.c
index f679755649..a9c1dc827c 100644
--- a/stdlib/tst-swapcontext2.c
+++ b/stdlib/tst-swapcontext2.c
@@ -85,7 +85,7 @@ do_test (void)
 {
   /* ____longjmp_chk has  */
 #if 0
-#ifdef _STACK_GROWS_DOWN
+#if _STACK_GROWS_DOWN
 #define called_from(this, saved) ((this) < (saved))
 #else
 #define called_from(this, saved) ((this) > (saved))
@@ -98,7 +98,7 @@ do_test (void)
   /* Arrange stacks for uctx_func1 and uctx_func2 so that called_from
      is true when setjmp is called from uctx_func1 and longjmp is called
      from uctx_func2.  */
-#ifdef _STACK_GROWS_DOWN
+#if _STACK_GROWS_DOWN
 # define UCTX_FUNC1_STACK	1
 # define UCTX_FUNC2_STACK	0
 #else
diff --git a/stdlib/tst-system.c b/stdlib/tst-system.c
index 47c742f963..b5b630a41b 100644
--- a/stdlib/tst-system.c
+++ b/stdlib/tst-system.c
@@ -169,7 +169,7 @@ do_test (void)
 
   {
     struct stat64 st;
-    xstat (_PATH_BSHELL, &st);
+    xstat64 (_PATH_BSHELL, &st);
     mode_t mode = st.st_mode;
     xchmod (_PATH_BSHELL, mode & ~(S_IXUSR | S_IXGRP | S_IXOTH));
 
diff --git a/string/Makefile b/string/Makefile
index 8f31fa49e6..1dff405c27 100644
--- a/string/Makefile
+++ b/string/Makefile
@@ -184,6 +184,7 @@ tests := \
   test-strncpy \
   test-strndup \
   test-strnlen \
+  test-strnlen-nonarray \
   test-strpbrk \
   test-strrchr \
   test-strspn \
@@ -235,7 +236,10 @@ tests-unsupported += $(tests-translation)
 endif
 
 # This test allocates a lot of memory and can run for a long time.
-xtests = tst-strcoll-overflow
+xtests += tst-strcoll-overflow
+
+# This test runs for a long time.
+xtests += test-strncmp-nonarray
 
 # This test needs libdl.
 ifeq (yes,$(build-shared))
diff --git a/string/strerror_l.c b/string/strerror_l.c
index 15cce261e6..70456e5bb4 100644
--- a/string/strerror_l.c
+++ b/string/strerror_l.c
@@ -20,7 +20,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <tls-internal.h>
-
+#include <libc-internal.h>
 
 static const char *
 translate (const char *str, locale_t loc)
@@ -31,6 +31,12 @@ translate (const char *str, locale_t loc)
   return res;
 }
 
+static char *
+unknown_error (locale_t loc)
+{
+  return (char *) translate ("Unknown error", loc);
+}
+
 
 /* Return a string describing the errno code in ERRNUM.  */
 char *
@@ -40,18 +46,25 @@ __strerror_l (int errnum, locale_t loc)
   char *err = (char *) __get_errlist (errnum);
   if (__glibc_unlikely (err == NULL))
     {
-      struct tls_internal_t *tls_internal = __glibc_tls_internal ();
-      free (tls_internal->strerror_l_buf);
-      if (__asprintf (&tls_internal->strerror_l_buf, "%s%d",
-		      translate ("Unknown error ", loc), errnum) > 0)
-	err = tls_internal->strerror_l_buf;
-      else
+      if (__libc_initial)
 	{
-	  /* The memory was freed above.  */
-	  tls_internal->strerror_l_buf = NULL;
-	  /* Provide a fallback translation.  */
-	  err = (char *) translate ("Unknown error", loc);
+	  struct tls_internal_t *tls_internal = __glibc_tls_internal ();
+	  free (tls_internal->strerror_l_buf);
+	  if (__asprintf (&tls_internal->strerror_l_buf, "%s%d",
+			  translate ("Unknown error ", loc), errnum) > 0)
+	    err = tls_internal->strerror_l_buf;
+	  else
+	    {
+	      /* The memory was freed above.  */
+	      tls_internal->strerror_l_buf = NULL;
+	      /* Provide a fallback translation.  */
+	      err = unknown_error (loc);
+	    }
 	}
+      else
+	/* Secondary namespaces use a different malloc, so cannot
+	   participate in the buffer management.  */
+	err = unknown_error (loc);
     }
   else
     err = (char *) translate (err, loc);
diff --git a/string/strsignal.c b/string/strsignal.c
index 3114601564..d9b0365468 100644
--- a/string/strsignal.c
+++ b/string/strsignal.c
@@ -21,6 +21,7 @@
 #include <string.h>
 #include <libintl.h>
 #include <tls-internal.h>
+#include <libc-internal.h>
 
 /* Return a string describing the meaning of the signal number SIGNUM.  */
 char *
@@ -30,21 +31,28 @@ strsignal (int signum)
   if (desc != NULL)
     return _(desc);
 
-  struct tls_internal_t *tls_internal = __glibc_tls_internal ();
-  free (tls_internal->strsignal_buf);
+  if (__libc_initial)
+    {
+      struct tls_internal_t *tls_internal = __glibc_tls_internal ();
+      free (tls_internal->strsignal_buf);
 
-  int r;
+      int r;
 #ifdef SIGRTMIN
-  if (signum >= SIGRTMIN && signum <= SIGRTMAX)
-    r = __asprintf (&tls_internal->strsignal_buf, _("Real-time signal %d"),
-		    signum - SIGRTMIN);
-  else
+      if (signum >= SIGRTMIN && signum <= SIGRTMAX)
+	r = __asprintf (&tls_internal->strsignal_buf, _("Real-time signal %d"),
+			signum - SIGRTMIN);
+      else
 #endif
-    r = __asprintf (&tls_internal->strsignal_buf, _("Unknown signal %d"),
-		    signum);
-
-  if (r == -1)
-    tls_internal->strsignal_buf = NULL;
-
-  return tls_internal->strsignal_buf;
+	r = __asprintf (&tls_internal->strsignal_buf, _("Unknown signal %d"),
+			signum);
+
+      if (r >= 0)
+	return tls_internal->strsignal_buf;
+      else
+	tls_internal->strsignal_buf = NULL;
+    }
+  /* Fall through on asprintf error, and for !__libc_initial:
+     secondary namespaces use a different malloc and cannot
+     participate in the buffer management.  */
+  return _("Unknown signal");
 }
diff --git a/string/test-Xncmp-nonarray.c b/string/test-Xncmp-nonarray.c
new file mode 100644
index 0000000000..9f3a3ca75d
--- /dev/null
+++ b/string/test-Xncmp-nonarray.c
@@ -0,0 +1,183 @@
+/* Test non-array inputs to string comparison functions.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* This skeleton file is included from string/test-strncmp-nonarray.c and
+   wcsmbs/test-wcsncmp-nonarray.c to test that reading of the arrays stops
+   at the first null character.
+
+   TEST_IDENTIFIER must be the test function identifier.  TEST_NAME is
+   the same as a string.
+
+   CHAR must be defined as the character type.  */
+
+#include <array_length.h>
+#include <string.h>
+#include <support/check.h>
+#include <support/next_to_fault.h>
+#include <support/test-driver.h>
+#include <sys/param.h>
+#include <unistd.h>
+
+/* Much shorter than test-Xnlen-nonarray.c because of deeply nested loops.  */
+enum { buffer_length = 80 };
+
+/* The test buffer layout follows what is described test-Xnlen-nonarray.c,
+   except that there two buffers, left and right.  The variables
+   a_count, zero_count, start_offset are all duplicated.  */
+
+/* Return the maximum string length for a string that starts at
+   start_offset.  */
+static int
+string_length (int a_count, int start_offset)
+{
+  if (start_offset == buffer_length || start_offset >= a_count)
+    return 0;
+  else
+    return a_count - start_offset;
+}
+
+/* This is the valid maximum length argument computation for
+   strnlen/wcsnlen.  See text-Xnlen-nonarray.c.  */
+static int
+maximum_length (int start_offset, int zero_count)
+{
+  if (start_offset == buffer_length)
+    return 0;
+  else if (zero_count > 0)
+    /* Effectively unbounded, but we need to stop fairly low,
+       otherwise testing takes too long.  */
+    return buffer_length + 32;
+  else
+    return buffer_length - start_offset;
+}
+
+typedef __typeof (TEST_IDENTIFIER) *proto_t;
+
+#define TEST_MAIN
+#include "test-string.h"
+
+IMPL (TEST_IDENTIFIER, 1)
+
+static int
+test_main (void)
+{
+  TEST_VERIFY_EXIT (sysconf (_SC_PAGESIZE) >= buffer_length);
+  test_init ();
+
+  struct support_next_to_fault left_ntf
+    = support_next_to_fault_allocate (buffer_length * sizeof (CHAR));
+  CHAR *left_buffer = (CHAR *) left_ntf.buffer;
+  struct support_next_to_fault right_ntf
+    = support_next_to_fault_allocate (buffer_length * sizeof (CHAR));
+  CHAR *right_buffer = (CHAR *) right_ntf.buffer;
+
+  FOR_EACH_IMPL (impl, 0)
+    {
+      printf ("info: testing %s\n", impl->name);
+      for (size_t i = 0; i < buffer_length; ++i)
+        left_buffer[i] = 'A';
+
+      for (int left_zero_count = 0; left_zero_count <= buffer_length;
+           ++left_zero_count)
+        {
+          if (left_zero_count > 0)
+            left_buffer[buffer_length - left_zero_count] = 0;
+          int left_a_count = buffer_length - left_zero_count;
+          for (size_t i = 0; i < buffer_length; ++i)
+            right_buffer[i] = 'A';
+          for (int right_zero_count = 0; right_zero_count <= buffer_length;
+               ++right_zero_count)
+            {
+              if (right_zero_count > 0)
+                right_buffer[buffer_length - right_zero_count] = 0;
+              int right_a_count = buffer_length - right_zero_count;
+              for (int left_start_offset = 0;
+                   left_start_offset <= buffer_length;
+                   ++left_start_offset)
+                {
+                  CHAR *left_start_pointer = left_buffer + left_start_offset;
+                  int left_maxlen
+                    = maximum_length (left_start_offset, left_zero_count);
+                  int left_length
+                    = string_length (left_a_count, left_start_offset);
+                  for (int right_start_offset = 0;
+                       right_start_offset <= buffer_length;
+                       ++right_start_offset)
+                    {
+                      CHAR *right_start_pointer
+                        = right_buffer + right_start_offset;
+                      int right_maxlen
+                        = maximum_length (right_start_offset, right_zero_count);
+                      int right_length
+                        = string_length (right_a_count, right_start_offset);
+
+                      /* Maximum length is modelled after strnlen/wcsnlen,
+                         and must be valid for both pointer arguments at
+                         the same time.  */
+                      int maxlen = MIN (left_maxlen, right_maxlen);
+
+                      for (int length_argument = 0; length_argument <= maxlen;
+                           ++length_argument)
+                        {
+                          if (test_verbose)
+                            {
+                              printf ("left: zero_count=%d"
+                                      " a_count=%d start_offset=%d\n",
+                                      left_zero_count, left_a_count,
+                                      left_start_offset);
+                              printf ("right: zero_count=%d"
+                                      " a_count=%d start_offset=%d\n",
+                                      right_zero_count, right_a_count,
+                                      right_start_offset);
+                              printf ("length argument: %d\n",
+                                      length_argument);
+                            }
+
+                          /* Effective lengths bounded by length argument.
+                             The effective length determines the
+                             outcome of the comparison.  */
+                          int left_effective
+                            = MIN (left_length, length_argument);
+                          int right_effective
+                            = MIN (right_length, length_argument);
+                          if (left_effective == right_effective)
+                            TEST_COMPARE (CALL (impl,
+                                                left_start_pointer,
+                                                right_start_pointer,
+                                                length_argument), 0);
+                          else if (left_effective < right_effective)
+                            TEST_COMPARE (CALL (impl,
+                                                left_start_pointer,
+                                                right_start_pointer,
+                                                length_argument) < 0, 1);
+                          else
+                            TEST_COMPARE (CALL (impl,
+                                                left_start_pointer,
+                                                right_start_pointer,
+                                                length_argument) > 0, 1);
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/string/test-Xnlen-nonarray.c b/string/test-Xnlen-nonarray.c
new file mode 100644
index 0000000000..499bef2041
--- /dev/null
+++ b/string/test-Xnlen-nonarray.c
@@ -0,0 +1,133 @@
+/* Test non-array inputs to string length functions.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* This skeleton file is included from string/test-strnlen-nonarray.c
+   and wcsmbs/test-wcsnlen-nonarray.c to test that reading of the array
+   stops at the first null character.
+
+   TEST_IDENTIFIER must be the test function identifier.  TEST_NAME is
+   the same as a string.
+
+   CHAR must be defined as the character type.  */
+
+#include <array_length.h>
+#include <string.h>
+#include <support/check.h>
+#include <support/next_to_fault.h>
+#include <support/test-driver.h>
+#include <sys/param.h>
+#include <unistd.h>
+
+typedef __typeof (TEST_IDENTIFIER) *proto_t;
+
+#define TEST_MAIN
+#include "test-string.h"
+
+IMPL (TEST_IDENTIFIER, 1)
+
+static int
+test_main (void)
+{
+  enum { buffer_length = 256 };
+  TEST_VERIFY_EXIT (sysconf (_SC_PAGESIZE) >= buffer_length);
+
+  test_init ();
+
+  /* Buffer layout: There are a_count 'A' character followed by
+     zero_count null character, for a total of buffer_length
+     character:
+
+     AAAAA...AAAAA 00000 ... 00000 (unmapped page follows)
+     \           / \             /
+       (a_count)     (zero_count)
+       \___ (buffer_length) ___/
+          ^
+          |
+          start_offset
+
+    The buffer length does not change, but a_count (and thus _zero)
+    and start_offset vary.
+
+    If start_offset == buffer_length, only 0 is a valid length
+    argument.  The result is 0.
+
+    Otherwwise, if zero_count > 0 (if there a null characters in the
+    buffer), then any length argument is valid.  If start_offset <
+    a_count (i.e., there is a non-null character at start_offset), the
+    result is the minimum of a_count - start_offset and the length
+    argument.  Otherwise the result is 0.
+
+    Otherwise, there are no null characters before the unmapped page.
+    The length argument must not be greater than buffer_length -
+    start_offset, and the result is the length argument.  */
+
+  struct support_next_to_fault ntf
+    = support_next_to_fault_allocate (buffer_length * sizeof (CHAR));
+  CHAR *buffer = (CHAR *) ntf.buffer;
+
+  FOR_EACH_IMPL (impl, 0)
+    {
+      printf ("info: testing %s\n", impl->name);
+      for (size_t i = 0; i < buffer_length; ++i)
+        buffer[i] = 'A';
+
+      for (int zero_count = 0; zero_count <= buffer_length; ++zero_count)
+        {
+          if (zero_count > 0)
+            buffer[buffer_length - zero_count] = 0;
+          int a_count = buffer_length - zero_count;
+          for (int start_offset = 0; start_offset <= buffer_length;
+               ++start_offset)
+            {
+              CHAR *start_pointer = buffer + start_offset;
+              if (start_offset == buffer_length)
+                TEST_COMPARE (CALL (impl, buffer + start_offset, 0), 0);
+              else if (zero_count > 0)
+                for (int length_argument = 0;
+                     length_argument <= 2 * buffer_length;
+                     ++length_argument)
+                  {
+                    if (test_verbose)
+                      printf ("zero_count=%d a_count=%d start_offset=%d"
+                              " length_argument=%d\n",
+                              zero_count, a_count, start_offset,
+                              length_argument);
+                    if (start_offset < a_count)
+                      TEST_COMPARE (CALL (impl, start_pointer, length_argument),
+                                    MIN (a_count - start_offset,
+                                         length_argument));
+                    else
+                      TEST_COMPARE (CALL (impl, start_pointer, length_argument),
+                                    0);
+                  }
+              else
+                for (int length_argument = 0;
+                     length_argument <= buffer_length - start_offset;
+                     ++length_argument)
+                  TEST_COMPARE (CALL (impl, start_pointer, length_argument),
+                                length_argument);
+            }
+        }
+    }
+
+  support_next_to_fault_free (&ntf);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/string/test-strchr.c b/string/test-strchr.c
index c795eac6fa..72b17af687 100644
--- a/string/test-strchr.c
+++ b/string/test-strchr.c
@@ -255,6 +255,69 @@ check1 (void)
     check_result (impl, s, c, exp_result);
 }
 
+static void
+check2 (void)
+{
+  CHAR *s = (CHAR *) (buf1 + getpagesize () - 4 * sizeof (CHAR));
+  CHAR *s_begin = (CHAR *) (buf1 + getpagesize () - 64);
+#ifndef USE_FOR_STRCHRNUL
+  CHAR *exp_result = NULL;
+#else
+  CHAR *exp_result = s + 1;
+#endif
+  CHAR val = 0x12;
+  for (; s_begin != s; ++s_begin)
+    *s_begin = val;
+
+  s[0] = val + 1;
+  s[1] = 0;
+  s[2] = val + 1;
+  s[3] = val + 1;
+
+  {
+    FOR_EACH_IMPL (impl, 0)
+      check_result (impl, s, val, exp_result);
+  }
+  s[3] = val;
+  {
+    FOR_EACH_IMPL (impl, 0)
+      check_result (impl, s, val, exp_result);
+  }
+  exp_result = s;
+  s[0] = val;
+  {
+    FOR_EACH_IMPL (impl, 0)
+      check_result (impl, s, val, exp_result);
+  }
+
+  s[3] = val + 1;
+  {
+    FOR_EACH_IMPL (impl, 0)
+      check_result (impl, s, val, exp_result);
+  }
+
+  s[0] = val + 1;
+  s[1] = val + 1;
+  s[2] = val + 1;
+  s[3] = val + 1;
+  s[4] = val;
+  exp_result = s + 4;
+  {
+    FOR_EACH_IMPL (impl, 0)
+      check_result (impl, s, val, exp_result);
+  }
+  s[4] = 0;
+#ifndef USE_FOR_STRCHRNUL
+  exp_result = NULL;
+#else
+  exp_result = s + 4;
+#endif
+  {
+    FOR_EACH_IMPL (impl, 0)
+      check_result (impl, s, val, exp_result);
+  }
+}
+
 int
 test_main (void)
 {
@@ -263,7 +326,7 @@ test_main (void)
   test_init ();
 
   check1 ();
-
+  check2 ();
   printf ("%20s", "");
   FOR_EACH_IMPL (impl, 0)
     printf ("\t%s", impl->name);
diff --git a/string/test-strncmp-nonarray.c b/string/test-strncmp-nonarray.c
new file mode 100644
index 0000000000..581e52d01b
--- /dev/null
+++ b/string/test-strncmp-nonarray.c
@@ -0,0 +1,4 @@
+#define TEST_IDENTIFIER strncmp
+#define TEST_NAME "strncmp"
+typedef char CHAR;
+#include "test-Xncmp-nonarray.c"
diff --git a/string/test-strnlen-nonarray.c b/string/test-strnlen-nonarray.c
new file mode 100644
index 0000000000..0ad05756d9
--- /dev/null
+++ b/string/test-strnlen-nonarray.c
@@ -0,0 +1,4 @@
+#define TEST_IDENTIFIER strnlen
+#define TEST_NAME "strnlen"
+typedef char CHAR;
+#include "test-Xnlen-nonarray.c"
diff --git a/support/Makefile b/support/Makefile
index aa57207bdc..26bd3d38e4 100644
--- a/support/Makefile
+++ b/support/Makefile
@@ -42,15 +42,15 @@ libsupport-routines = \
   resolv_test \
   set_fortify_handler \
   support-open-dev-null-range \
-  support-xfstat \
-  support-xfstat-time64 \
-  support-xstat \
-  support-xstat-time64 \
   support_become_root \
   support_can_chroot \
   support_capture_subprocess \
   support_capture_subprocess_check \
+  support_check_stat_fd \
+  support_check_stat_path \
   support_chroot \
+  support_compare_file_bytes \
+  support_compare_file_string \
   support_copy_file \
   support_copy_file_range \
   support_create_timer \
@@ -67,6 +67,8 @@ libsupport-routines = \
   support_isolate_in_subprocess \
   support_mutex_pi_monotonic \
   support_need_proc \
+  support_open_and_compare_file_bytes \
+  support_open_and_compare_file_string \
   support_openpty \
   support_path_support_time64 \
   support_paths \
@@ -135,8 +137,6 @@ libsupport-routines = \
   xgetsockname \
   xlisten \
   xlseek \
-  xlstat \
-  xlstat-time64 \
   xmalloc \
   xmemstream \
   xmkdir \
@@ -210,6 +210,7 @@ libsupport-routines = \
   xsignal \
   xsigstack \
   xsocket \
+  xstatx \
   xstrdup \
   xstrndup \
   xsymlink \
diff --git a/support/check.h b/support/check.h
index 711f34b83b..7ea22c7a2c 100644
--- a/support/check.h
+++ b/support/check.h
@@ -25,6 +25,11 @@
 __BEGIN_DECLS
 
 /* Record a test failure, print the failure message to standard output
+   and pass the result of 1 through.  */
+#define FAIL(...) \
+  support_print_failure_impl (__FILE__, __LINE__, __VA_ARGS__)
+
+/* Record a test failure, print the failure message to standard output
    and return 1.  */
 #define FAIL_RET(...) \
   return support_print_failure_impl (__FILE__, __LINE__, __VA_ARGS__)
diff --git a/support/file_contents.h b/support/file_contents.h
new file mode 100644
index 0000000000..9b2d750aae
--- /dev/null
+++ b/support/file_contents.h
@@ -0,0 +1,63 @@
+/* Functionality for checking file contents.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef SUPPORT_FILE_CONTENTS_H
+#define SUPPORT_FILE_CONTENTS_H
+
+#include <support/check.h>
+#include <stdio.h>
+
+__BEGIN_DECLS
+
+/* Check that an already-open file has exactly the given bytes,
+   starting at the current location in the file.  The file position
+   indicator is updated to point after the bytes compared.  Return 0
+   if equal, 1 otherwise or on read error.  */
+int support_compare_file_bytes (FILE *fp, const char *contents, size_t length);
+
+/* Check that an already-open file has exactly the given string as
+   contents, starting at the current offset.  The file position
+   indicator is updated to point after the bytes compared.  Return 0
+   if equal, 1 otherwise or on read error.  */
+int support_compare_file_string (FILE *fp, const char *contents);
+
+/* Check that a not-currently-open file has exactly the given bytes.
+   Return 0 if equal, 1 otherwise or on read error.  */
+int support_open_and_compare_file_bytes (const char *file,
+					 const char *contents,
+					 size_t length);
+
+/* Check that a not-currently-open file has exactly the given string
+   as contents, starting at the current offset.  Return 0 if equal, 1
+   otherwise or on read error.  */
+int support_open_and_compare_file_string (const char *file,
+					  const char *contents);
+
+/* Compare bytes read from an open file with the given string.  The
+   file position indicator is updated to point after the bytes
+   compared.  */
+#define TEST_COMPARE_FILE_STRING(FP, CONTENTS)			\
+  TEST_COMPARE (support_compare_file_string (FP, CONTENTS), 0)
+
+/* Read a file and compare bytes read from it with the given string.  */
+#define TEST_OPEN_AND_COMPARE_FILE_STRING(FILE, CONTENTS)		\
+  TEST_COMPARE (support_open_and_compare_file_string (FILE, CONTENTS), 0)
+
+__END_DECLS
+
+#endif /* SUPPORT_FILE_CONTENTS_H */
diff --git a/support/support-xfstat.c b/support/support_check_stat_fd.c
index ab4b01c97d..4c12adf6b7 100644
--- a/support/support-xfstat.c
+++ b/support/support_check_stat_fd.c
@@ -1,5 +1,5 @@
-/* fstat64 with error checking.
-   Copyright (C) 2017-2024 Free Software Foundation, Inc.
+/* Error checking for descriptor-based stat functions.
+   Copyright (C) 2024 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,11 +18,10 @@
 
 #include <support/check.h>
 #include <support/xunistd.h>
-#include <sys/stat.h>
 
 void
-xfstat (int fd, struct stat64 *result)
+support_check_stat_fd (const char *name, int fd, int result)
 {
-  if (fstat64 (fd, result) != 0)
-    FAIL_EXIT1 ("fstat64 (%d): %m", fd);
+  if (result != 0)
+    FAIL_EXIT1 ("%s (%d): %m", name, fd);
 }
diff --git a/support/xlstat.c b/support/support_check_stat_path.c
index 87df988879..3cf72afe59 100644
--- a/support/xlstat.c
+++ b/support/support_check_stat_path.c
@@ -1,4 +1,4 @@
-/* lstat64 with error checking.
+/* Error checking for path-based stat functions.
    Copyright (C) 2017-2024 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -18,11 +18,10 @@
 
 #include <support/check.h>
 #include <support/xunistd.h>
-#include <sys/stat.h>
 
 void
-xlstat (const char *path, struct stat64 *result)
+support_check_stat_path (const char *name, const char *path, int result)
 {
-  if (lstat64 (path, result) != 0)
-    FAIL_EXIT1 ("lstat64 (\"%s\"): %m", path);
+  if (result != 0)
+    FAIL_EXIT1 ("%s (\"%s\"): %m", name, path);
 }
diff --git a/elf/dl-symaddr.c b/support/support_compare_file_bytes.c
index b0299fdb35..e261e1da8f 100644
--- a/elf/dl-symaddr.c
+++ b/support/support_compare_file_bytes.c
@@ -1,5 +1,5 @@
-/* Get the symbol address.  Generic version.
-   Copyright (C) 1999-2024 Free Software Foundation, Inc.
+/* Compare bytes from an open file.
+   Copyright (C) 2024 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,18 +16,27 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <ldsodefs.h>
-#include <dl-fptr.h>
+#include <stdio.h>
 
-void *
-_dl_symbol_address (struct link_map *map, const ElfW(Sym) *ref)
-{
-  ElfW(Addr) value = SYMBOL_ADDRESS (map, ref, false);
+#include <support/file_contents.h>
+
+/* Check that an already-open file has exactly the given bytes,
+   starting at the current offset.  */
 
-  /* Return the pointer to function descriptor. */
-  if (ELFW(ST_TYPE) (ref->st_info) == STT_FUNC)
-    return (void *) _dl_make_fptr (map, ref, value);
-  else
-    return (void *) value;
+int
+support_compare_file_bytes (FILE *fp, const char *contents, size_t length)
+{
+  int c;
+  while (length > 0)
+    {
+      c = getc (fp);
+      if (c == EOF || (unsigned char) c != (unsigned char) contents[0])
+	return 1;
+      contents++;
+      length--;
+    }
+  c = getc (fp);
+  if (c != EOF || ferror (fp))
+    return 1;
+  return 0;
 }
-rtld_hidden_def (_dl_symbol_address)
diff --git a/support/support_compare_file_string.c b/support/support_compare_file_string.c
new file mode 100644
index 0000000000..04513c3af1
--- /dev/null
+++ b/support/support_compare_file_string.c
@@ -0,0 +1,28 @@
+/* Compare string from an open file.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <string.h>
+
+#include <support/file_contents.h>
+
+int
+support_compare_file_string (FILE *fp, const char *contents)
+{
+  return support_compare_file_bytes (fp, contents, strlen (contents));
+}
diff --git a/support/support_format_addrinfo.c b/support/support_format_addrinfo.c
index cbc72910a9..77f4db345c 100644
--- a/support/support_format_addrinfo.c
+++ b/support/support_format_addrinfo.c
@@ -22,6 +22,7 @@
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <support/support.h>
 #include <support/xmemstream.h>
 
diff --git a/support/support-xstat-time64.c b/support/support_open_and_compare_file_bytes.c
index 451948734a..f804ed8e46 100644
--- a/support/support-xstat-time64.c
+++ b/support/support_open_and_compare_file_bytes.c
@@ -1,5 +1,5 @@
-/* 64-bit time_t stat with error checking.
-   Copyright (C) 2021-2024 Free Software Foundation, Inc.
+/* Compare bytes from a file.
+   Copyright (C) 2024 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,17 +16,18 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-/* NB: Non-standard file name to avoid sysdeps override for xstat.  */
+#include <support/file_contents.h>
+#include <support/xstdio.h>
 
-#include <support/check.h>
-#include <support/xunistd.h>
-#include <sys/stat.h>
+/* Check that a not-currently-open file has exactly the given
+   bytes.  */
 
-#if __TIMESIZE != 64
-void
-xstat_time64 (const char *path, struct __stat64_t64 *result)
+int
+support_open_and_compare_file_bytes (const char *file, const char *contents,
+				     size_t length)
 {
-  if (__stat64_time64 (path, result) != 0)
-    FAIL_EXIT1 ("__stat64_time64 (\"%s\"): %m", path);
+  FILE *fp = xfopen (file, "r");
+  int ret = support_compare_file_bytes (fp, contents, length);
+  xfclose (fp);
+  return ret;
 }
-#endif
diff --git a/support/support_open_and_compare_file_string.c b/support/support_open_and_compare_file_string.c
new file mode 100644
index 0000000000..2b596d4c88
--- /dev/null
+++ b/support/support_open_and_compare_file_string.c
@@ -0,0 +1,32 @@
+/* Compare string from a file.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <string.h>
+
+#include <support/file_contents.h>
+#include <support/xstdio.h>
+
+/* Check that a not-currently-open file has exactly the given string
+   as contents, starting at the current offset.  */
+
+int
+support_open_and_compare_file_string (const char *file, const char *contents)
+{
+  return support_open_and_compare_file_bytes (file, contents,
+					      strlen (contents));
+}
diff --git a/support/support_test_compare_failure.c b/support/support_test_compare_failure.c
index ae73d200cd..dba79e413f 100644
--- a/support/support_test_compare_failure.c
+++ b/support/support_test_compare_failure.c
@@ -17,7 +17,9 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <errno.h>
+#include <limits.h>
 #include <stdio.h>
+#include <string.h>
 #include <support/check.h>
 
 static void
@@ -31,7 +33,14 @@ report (const char *which, const char *expr, long long value, int positive,
     printf ("%lld", value);
   unsigned long long mask
     = (~0ULL) >> (8 * (sizeof (unsigned long long) - size));
-  printf (" (0x%llx); from: %s\n", (unsigned long long) value & mask, expr);
+  const char *errno_constant = NULL;
+  if (strcmp (expr, "errno") == 0
+      && positive && (unsigned long long int) value <= INT_MAX)
+    errno_constant = strerrorname_np (value);
+  printf (" (0x%llx", (unsigned long long) value & mask);
+  if (errno_constant != NULL)
+    printf (", %s", errno_constant);
+  printf ("); from: %s\n", expr);
 }
 
 void
diff --git a/support/test-driver.c b/support/test-driver.c
index f4c3e4d666..04ceebc08f 100644
--- a/support/test-driver.c
+++ b/support/test-driver.c
@@ -155,6 +155,7 @@ main (int argc, char **argv)
     {
       CMDLINE_OPTIONS
       TEST_DEFAULT_OPTIONS
+      { 0, }
     };
   test_config.options = &options;
 #endif
diff --git a/support/timespec-add.c b/support/timespec-add.c
index 55fd812f31..57b968c316 100644
--- a/support/timespec-add.c
+++ b/support/timespec-add.c
@@ -20,7 +20,6 @@
 /* Return the sum of two timespec values A and B.  On overflow, return
    an extremal value.  This assumes 0 <= tv_nsec < TIMESPEC_HZ.  */
 
-#include <config.h>
 #include "timespec.h"
 
 #include "intprops.h"
diff --git a/support/timespec-sub.c b/support/timespec-sub.c
index 7d89c1415a..2897343fce 100644
--- a/support/timespec-sub.c
+++ b/support/timespec-sub.c
@@ -21,7 +21,6 @@
    overflow, return an extremal value.  This assumes 0 <= tv_nsec <
    TIMESPEC_HZ.  */
 
-#include <config.h>
 #include "timespec.h"
 
 #include "intprops.h"
diff --git a/support/support-xstat.c b/support/xstatx.c
index ce866f74d2..621f2440f8 100644
--- a/support/support-xstat.c
+++ b/support/xstatx.c
@@ -1,5 +1,5 @@
-/* stat64 with error checking.
-   Copyright (C) 2017-2024 Free Software Foundation, Inc.
+/* Error-checking wrapper for statx.
+   Copyright (C) 2024 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,15 +16,17 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-/* NB: Non-standard file name to avoid sysdeps override for xstat.  */
+#include <support/xunistd.h>
 
+#include <fcntl.h>
 #include <support/check.h>
-#include <support/xunistd.h>
 #include <sys/stat.h>
 
 void
-xstat (const char *path, struct stat64 *result)
+xstatx (int fd, const char *path, int flags, unsigned int mask,
+        struct statx *stx)
 {
-  if (stat64 (path, result) != 0)
-    FAIL_EXIT1 ("stat64 (\"%s\"): %m", path);
+  if (statx (fd, path, flags, mask, stx) != 0)
+    FAIL_EXIT1 ("statx (AT_FDCWD, \"%s\", 0x%x, 0x%x): %m",
+                path, (unsigned int) flags, mask);
 }
diff --git a/support/xunistd.h b/support/xunistd.h
index 13be9a46a3..204951bce7 100644
--- a/support/xunistd.h
+++ b/support/xunistd.h
@@ -29,28 +29,28 @@
 
 __BEGIN_DECLS
 
-struct stat64;
+struct statx;
 
 pid_t xfork (void);
 pid_t xwaitpid (pid_t, int *status, int flags);
 void xpipe (int[2]);
 void xdup2 (int, int);
 int xopen (const char *path, int flags, mode_t);
-#ifndef __USE_TIME64_REDIRECTS
-# ifdef __USE_FILE_OFFSET64
-void xstat (const char *path, struct stat *);
-void xlstat (const char *path, struct stat *);
-void xfstat (int fd, struct stat *);
-# else
-void xstat (const char *path, struct stat64 *);
-void xlstat (const char *path, struct stat64 *);
-void xfstat (int fd, struct stat64 *);
-# endif
-#else
-void __REDIRECT (xstat, (const char *path, struct stat *), xstat_time64);
-void __REDIRECT (xlstat, (const char *path, struct stat *), xlstat_time64);
-void __REDIRECT (xfstat, (int fd, struct stat *), xfstat_time64);
-#endif
+void support_check_stat_fd (const char *name, int fd, int result);
+void support_check_stat_path (const char *name, const char *path, int result);
+#define xstat(path, st) \
+  (support_check_stat_path ("stat", (path), stat ((path), (st))))
+#define xfstat(fd, st) \
+  (support_check_stat_fd ("fstat", (fd), fstat ((fd), (st))))
+#define xlstat(path, st) \
+  (support_check_stat_path ("lstat", (path), lstat ((path), (st))))
+#define xstat64(path, st) \
+  (support_check_stat_path ("stat64", (path), stat64 ((path), (st))))
+#define xfstat64(fd, st) \
+  (support_check_stat_fd ("fstat64", (fd), fstat64 ((fd), (st))))
+#define xlstat64(path, st) \
+  (support_check_stat_path ("lstat64", (path), lstat64 ((path), (st))))
+void xstatx (int, const char *, int, unsigned int, struct statx *);
 void xmkdir (const char *path, mode_t);
 void xchroot (const char *path);
 void xunlink (const char *path);
diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps
index 6c96304611..846fb2c29e 100644
--- a/sysdeps/aarch64/libm-test-ulps
+++ b/sysdeps/aarch64/libm-test-ulps
@@ -1082,24 +1082,24 @@ float: 1
 ldouble: 3
 
 Function: "exp10m1":
-double: 2
-float: 1
-ldouble: 1
+double: 4
+float: 2
+ldouble: 3
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-ldouble: 3
+double: 3
+float: 3
+ldouble: 6
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-ldouble: 3
+double: 2
+float: 3
+ldouble: 6
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-ldouble: 3
+double: 5
+float: 3
+ldouble: 6
 
 Function: "exp2":
 double: 1
@@ -1130,24 +1130,24 @@ float: 1
 ldouble: 2
 
 Function: "exp2m1":
-double: 1
-float: 1
-ldouble: 1
+double: 2
+float: 2
+ldouble: 2
 
 Function: "exp2m1_downward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 3
 
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-ldouble: 2
+double: 3
+float: 2
+ldouble: 4
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 5
 
 Function: "exp_advsimd":
 double: 1
@@ -1356,24 +1356,24 @@ float: 2
 ldouble: 1
 
 Function: "log10p1":
-double: 1
-float: 1
+double: 2
+float: 2
 ldouble: 3
 
 Function: "log10p1_downward":
 double: 2
-float: 1
-ldouble: 2
+float: 3
+ldouble: 4
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log10p1_upward":
 double: 2
-float: 1
-ldouble: 3
+float: 3
+ldouble: 4
 
 Function: "log1p":
 double: 1
@@ -1432,8 +1432,8 @@ float: 3
 ldouble: 1
 
 Function: "log2p1":
-double: 1
-float: 1
+double: 2
+float: 2
 ldouble: 3
 
 Function: "log2p1_downward":
@@ -1447,9 +1447,9 @@ float: 2
 ldouble: 2
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log_advsimd":
 double: 1
diff --git a/sysdeps/aarch64/strlen.S b/sysdeps/aarch64/strlen.S
index ab2a576cdb..352fb40d3a 100644
--- a/sysdeps/aarch64/strlen.S
+++ b/sysdeps/aarch64/strlen.S
@@ -1,4 +1,5 @@
-/* Copyright (C) 2012-2024 Free Software Foundation, Inc.
+/* Generic optimized strlen using SIMD.
+   Copyright (C) 2012-2024 Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.
 
@@ -56,36 +57,50 @@ ENTRY (STRLEN)
 	shrn	vend.8b, vhas_nul.8h, 4		/* 128->64 */
 	fmov	synd, dend
 	lsr	synd, synd, shift
-	cbz	synd, L(loop)
+	cbz	synd, L(next16)
 
 	rbit	synd, synd
 	clz	result, synd
 	lsr	result, result, 2
 	ret
 
+L(next16):
+	ldr	data, [src, 16]
+	cmeq	vhas_nul.16b, vdata.16b, 0
+	shrn	vend.8b, vhas_nul.8h, 4		/* 128->64 */
+	fmov	synd, dend
+	cbz	synd, L(loop)
+	add	src, src, 16
+#ifndef __AARCH64EB__
+	rbit	synd, synd
+#endif
+	sub	result, src, srcin
+	clz	tmp, synd
+	add	result, result, tmp, lsr 2
+	ret
+
 	.p2align 5
 L(loop):
-	ldr	data, [src, 16]
+	ldr	data, [src, 32]!
 	cmeq	vhas_nul.16b, vdata.16b, 0
-	umaxp	vend.16b, vhas_nul.16b, vhas_nul.16b
+	addhn	vend.8b, vhas_nul.8h, vhas_nul.8h
 	fmov	synd, dend
 	cbnz	synd, L(loop_end)
-	ldr	data, [src, 32]!
+	ldr	data, [src, 16]
 	cmeq	vhas_nul.16b, vdata.16b, 0
-	umaxp	vend.16b, vhas_nul.16b, vhas_nul.16b
+	addhn	vend.8b, vhas_nul.8h, vhas_nul.8h
 	fmov	synd, dend
 	cbz	synd, L(loop)
-	sub	src, src, 16
+	add	src, src, 16
 L(loop_end):
-	shrn	vend.8b, vhas_nul.8h, 4		/* 128->64 */
-	sub	result, src, srcin
-	fmov	synd, dend
+	sub	result, shift, src, lsl 2	/* (srcin - src) << 2.  */
 #ifndef __AARCH64EB__
 	rbit	synd, synd
+	sub	result, result, 3
 #endif
-	add	result, result, 16
 	clz	tmp, synd
-	add	result, result, tmp, lsr 2
+	sub	result, tmp, result
+	lsr	result, result, 2
 	ret
 
 END (STRLEN)
diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps
index 392d23f80a..e28c2af683 100644
--- a/sysdeps/alpha/fpu/libm-test-ulps
+++ b/sysdeps/alpha/fpu/libm-test-ulps
@@ -976,6 +976,18 @@ double: 2
 float: 1
 ldouble: 3
 
+Function: "exp10m1":
+ldouble: 1
+
+Function: "exp10m1_downward":
+ldouble: 3
+
+Function: "exp10m1_towardzero":
+ldouble: 3
+
+Function: "exp10m1_upward":
+ldouble: 3
+
 Function: "exp2":
 double: 1
 float: 1
@@ -996,6 +1008,18 @@ double: 1
 float: 1
 ldouble: 2
 
+Function: "exp2m1":
+ldouble: 1
+
+Function: "exp2m1_downward":
+ldouble: 2
+
+Function: "exp2m1_towardzero":
+ldouble: 2
+
+Function: "exp2m1_upward":
+ldouble: 2
+
 Function: "exp_downward":
 double: 1
 float: 1
@@ -1168,6 +1192,18 @@ double: 2
 float: 2
 ldouble: 1
 
+Function: "log10p1":
+ldouble: 3
+
+Function: "log10p1_downward":
+ldouble: 2
+
+Function: "log10p1_towardzero":
+ldouble: 2
+
+Function: "log10p1_upward":
+ldouble: 3
+
 Function: "log1p":
 double: 1
 float: 1
@@ -1208,6 +1244,18 @@ double: 3
 float: 3
 ldouble: 1
 
+Function: "log2p1":
+ldouble: 3
+
+Function: "log2p1_downward":
+ldouble: 3
+
+Function: "log2p1_towardzero":
+ldouble: 2
+
+Function: "log2p1_upward":
+ldouble: 2
+
 Function: "log_downward":
 float: 2
 ldouble: 1
diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps
index 41c8ef16d7..7e2c2dff13 100644
--- a/sysdeps/arc/fpu/libm-test-ulps
+++ b/sysdeps/arc/fpu/libm-test-ulps
@@ -787,6 +787,22 @@ Function: "exp10_upward":
 double: 4
 float: 1
 
+Function: "exp10m1":
+double: 4
+float: 2
+
+Function: "exp10m1_downward":
+double: 3
+float: 3
+
+Function: "exp10m1_towardzero":
+double: 2
+float: 3
+
+Function: "exp10m1_upward":
+double: 5
+float: 3
+
 Function: "exp2":
 double: 1
 float: 1
@@ -801,6 +817,22 @@ Function: "exp2_upward":
 double: 2
 float: 1
 
+Function: "exp2m1":
+double: 2
+float: 2
+
+Function: "exp2m1_downward":
+double: 3
+float: 3
+
+Function: "exp2m1_towardzero":
+double: 3
+float: 2
+
+Function: "exp2m1_upward":
+double: 3
+float: 3
+
 Function: "exp_downward":
 double: 1
 float: 1
@@ -943,6 +975,22 @@ Function: "log10_upward":
 double: 3
 float: 4
 
+Function: "log10p1":
+double: 2
+float: 2
+
+Function: "log10p1_downward":
+double: 2
+float: 3
+
+Function: "log10p1_towardzero":
+double: 3
+float: 2
+
+Function: "log10p1_upward":
+double: 2
+float: 3
+
 Function: "log1p":
 double: 1
 float: 1
@@ -971,6 +1019,22 @@ Function: "log2_upward":
 double: 1
 float: 1
 
+Function: "log2p1":
+double: 2
+float: 2
+
+Function: "log2p1_downward":
+double: 2
+float: 2
+
+Function: "log2p1_towardzero":
+double: 2
+float: 2
+
+Function: "log2p1_upward":
+double: 2
+float: 2
+
 Function: "log_towardzero":
 double: 1
 float: 1
diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps
index d3f45957d4..d9d6c76c3e 100644
--- a/sysdeps/arc/nofpu/libm-test-ulps
+++ b/sysdeps/arc/nofpu/libm-test-ulps
@@ -192,9 +192,17 @@ Function: "exp10":
 double: 2
 float: 1
 
+Function: "exp10m1":
+double: 3
+float: 2
+
 Function: "exp2":
 double: 1
 
+Function: "exp2m1":
+double: 2
+float: 2
+
 Function: "expm1":
 double: 1
 float: 1
@@ -205,6 +213,7 @@ float: 7
 
 Function: "hypot":
 double: 1
+float: 1
 
 Function: "j0":
 double: 2
@@ -226,6 +235,10 @@ Function: "log10":
 double: 2
 float: 2
 
+Function: "log10p1":
+double: 1
+float: 2
+
 Function: "log1p":
 double: 1
 float: 1
@@ -234,6 +247,10 @@ Function: "log2":
 double: 2
 float: 1
 
+Function: "log2p1":
+double: 1
+float: 2
+
 Function: "logp1":
 double: 1
 float: 1
diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps
index cad14a1ef1..100e9d1956 100644
--- a/sysdeps/arm/libm-test-ulps
+++ b/sysdeps/arm/libm-test-ulps
@@ -778,20 +778,20 @@ double: 2
 float: 1
 
 Function: "exp10m1":
-double: 2
-float: 1
+double: 3
+float: 2
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
+double: 3
+float: 3
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
+double: 2
+float: 3
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
+double: 4
+float: 4
 
 Function: "exp2":
 double: 1
@@ -810,20 +810,20 @@ double: 1
 float: 1
 
 Function: "exp2m1":
-double: 1
-float: 1
+double: 2
+float: 2
 
 Function: "exp2m1_downward":
-double: 2
-float: 1
+double: 3
+float: 3
 
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
+double: 3
+float: 2
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
+double: 3
+float: 3
 
 Function: "exp_downward":
 double: 1
@@ -967,19 +967,19 @@ float: 2
 
 Function: "log10p1":
 double: 1
-float: 1
+float: 2
 
 Function: "log10p1_downward":
 double: 2
-float: 1
+float: 3
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
 
 Function: "log10p1_upward":
 double: 2
-float: 1
+float: 3
 
 Function: "log1p":
 double: 1
@@ -1015,7 +1015,7 @@ float: 3
 
 Function: "log2p1":
 double: 1
-float: 1
+float: 2
 
 Function: "log2p1_downward":
 double: 2
@@ -1026,7 +1026,7 @@ double: 2
 float: 2
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
 
 Function: "log_downward":
diff --git a/sysdeps/generic/dl-fptr.h b/sysdeps/generic/dl-fptr.h
deleted file mode 100644
index 71cfb62411..0000000000
--- a/sysdeps/generic/dl-fptr.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Function descriptors. Generic version.
-   Copyright (C) 1995-2024 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef dl_fptr_h
-#define dl_fptr_h 1
-
-/* An FDESC is a function descriptor.  */
-
-struct fdesc
-  {
-    ElfW(Addr) ip;	/* code entry point */
-    ElfW(Addr) gp;	/* global pointer */
-  };
-
-struct fdesc_table
-  {
-    struct fdesc_table *next;
-    unsigned int len;			/* # of entries in fdesc table */
-    volatile unsigned int first_unused;	/* index of first available entry */
-    struct fdesc fdesc[0];
-  };
-
-struct link_map;
-
-extern ElfW(Addr) _dl_boot_fptr_table [];
-
-extern ElfW(Addr) _dl_make_fptr (struct link_map *, const ElfW(Sym) *,
-				 ElfW(Addr));
-
-#endif /* !dl_fptr_h */
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index 656e8a3fa0..259ce2e7d6 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -1200,10 +1200,8 @@ extern void _dl_get_tls_static_info (size_t *sizep, size_t *alignp);
 
 extern void _dl_allocate_static_tls (struct link_map *map) attribute_hidden;
 
-/* These are internal entry points to the two halves of _dl_allocate_tls,
-   only used within rtld.c itself at startup time.  */
 extern void *_dl_allocate_tls_storage (void) attribute_hidden;
-extern void *_dl_allocate_tls_init (void *, bool);
+extern void *_dl_allocate_tls_init (void *result, bool main_thread);
 rtld_hidden_proto (_dl_allocate_tls_init)
 
 /* True if the TCB has been set up.  */
@@ -1241,13 +1239,7 @@ extern void *_dl_open (const char *name, int mode, const void *caller,
 extern int _dl_scope_free (void *) attribute_hidden;
 
 
-/* Add module to slot information data.  If DO_ADD is false, only the
-   required memory is allocated.  Must be called with GL
-   (dl_load_tls_lock) acquired.  If the function has already been called
-   for the link map L with !do_add, then this function will not raise
-   an exception, otherwise it is possible that it encounters a memory
-   allocation failure.  */
-extern void _dl_add_to_slotinfo (struct link_map *l, bool do_add)
+extern bool _dl_add_to_slotinfo (struct link_map *l, bool do_add)
   attribute_hidden;
 
 /* Update slot information data for at least the generation of the
diff --git a/sysdeps/generic/mremap-failure.h b/sysdeps/generic/mremap-failure.h
new file mode 100644
index 0000000000..bc0d476368
--- /dev/null
+++ b/sysdeps/generic/mremap-failure.h
@@ -0,0 +1,25 @@
+/* mremap failure handling.  Generic version.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* Return exit value on mremap failure with errno ERR.  */
+
+static int
+mremap_failure_exit (int err)
+{
+  return EXIT_FAILURE;
+}
diff --git a/sysdeps/generic/syscall_types.h b/sysdeps/generic/syscall_types.h
new file mode 100644
index 0000000000..2ddeaa2b5f
--- /dev/null
+++ b/sysdeps/generic/syscall_types.h
@@ -0,0 +1,25 @@
+/* Types and macros used for syscall issuing.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYSCALL_TYPES_H
+#define _SYSCALL_TYPES_H
+
+typedef long int __syscall_arg_t;
+#define __SSC(__x) ((__syscall_arg_t) (__x))
+
+#endif
diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile
index c89eb8ed1c..d23ded40a0 100644
--- a/sysdeps/gnu/Makefile
+++ b/sysdeps/gnu/Makefile
@@ -16,37 +16,67 @@
 # <https://www.gnu.org/licenses/>.
 
 ifeq ($(subdir),login)
-sysdep_routines += setutxent getutxent endutxent getutxid getutxline \
-		   pututxline utmpxname updwtmpx getutmpx getutmp
+sysdep_routines += \
+  endutxent \
+  getutmp \
+  getutmpx \
+  getutxent \
+  getutxid \
+  getutxline \
+  pututxline \
+  setutxent \
+  updwtmpx \
+  utmpxname \
+  # sysdep_routines
 
-sysdep_headers += utmpx.h bits/utmpx.h
+sysdep_headers += \
+  bits/utmpx.h \
+  utmpx.h \
+  # sysdep_headers
 endif
 
 
 ifeq ($(subdir),inet)
-sysdep_headers += netinet/udp.h netinet/ip_icmp.h
+sysdep_headers += \
+  netinet/ip_icmp.h \
+  netinet/udp.h \
+  # sysdep_headers
 endif
 
 
 ifeq ($(subdir),misc)
-sysdep_headers += sys/mtio.h
+sysdep_headers += \
+  sys/mtio.h \
+  # sysdep_headers
 endif
 
 
 ifeq ($(subdir),csu)
-routines += unwind-resume
-shared-only-routines += unwind-resume
+routines += \
+  unwind-resume \
+  # routines
+shared-only-routines += \
+  unwind-resume \
+  # shared-only-routines
 CFLAGS-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
 endif
 
+
 ifeq ($(subdir),rt)
-librt-sysdep_routines += rt-unwind-resume
-librt-shared-only-routines += rt-unwind-resume
+librt-sysdep_routines += \
+  rt-unwind-resume \
+  # librt-sysdep_routines
+librt-shared-only-routines += \
+  rt-unwind-resume \
+  # librt-shared-only-routines
 CFLAGS-rt-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
 endif
 
+
 ifeq ($(subdir),sysvipc)
-sysdep_headers += bits/ipc-perm.h \
-		  bits/types/struct_msqid_ds.h \
-		  bits/types/struct_shmid_ds.h
+sysdep_headers += \
+  bits/ipc-perm.h \
+  bits/types/struct_msqid_ds.h \
+  bits/types/struct_shmid_ds.h
+  # sysdep_headers
 endif
diff --git a/sysdeps/hppa/dl-fptr.h b/sysdeps/hppa/dl-fptr.h
index 7c5eb0bd30..b7fd9cf71a 100644
--- a/sysdeps/hppa/dl-fptr.h
+++ b/sysdeps/hppa/dl-fptr.h
@@ -19,7 +19,28 @@
 #ifndef dl_hppa_fptr_h
 #define dl_hppa_fptr_h 1
 
-#include <sysdeps/generic/dl-fptr.h>
+/* An FDESC is a function descriptor.  */
+
+struct fdesc
+  {
+    ElfW(Addr) ip;	/* code entry point */
+    ElfW(Addr) gp;	/* global pointer */
+  };
+
+struct fdesc_table
+  {
+    struct fdesc_table *next;
+    unsigned int len;			/* # of entries in fdesc table */
+    volatile unsigned int first_unused;	/* index of first available entry */
+    struct fdesc fdesc[0];
+  };
+
+struct link_map;
+
+extern ElfW(Addr) _dl_boot_fptr_table [];
+
+extern ElfW(Addr) _dl_make_fptr (struct link_map *, const ElfW(Sym) *,
+				 ElfW(Addr));
 
 /* Initialize function pointer code. Call before relocation processing.  */
 extern void _dl_fptr_init (void);
diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps
index d91a85bfc8..ea5101f6b6 100644
--- a/sysdeps/hppa/fpu/libm-test-ulps
+++ b/sysdeps/hppa/fpu/libm-test-ulps
@@ -903,12 +903,12 @@ Function: "hypot_upward":
 double: 1
 
 Function: "j0":
-double: 2
+double: 4
 float: 9
 ldouble: 2
 
 Function: "j0_downward":
-double: 5
+double: 6
 float: 9
 
 Function: "j0_towardzero":
@@ -925,11 +925,11 @@ float: 9
 ldouble: 1
 
 Function: "j1_downward":
-double: 5
+double: 9
 float: 8
 
 Function: "j1_towardzero":
-double: 4
+double: 5
 float: 8
 
 Function: "j1_upward":
@@ -971,6 +971,7 @@ double: 5
 float: 6
 
 Function: "log":
+double: 1
 float: 1
 
 Function: "log10":
@@ -1039,8 +1040,8 @@ double: 3
 float: 3
 
 Function: "log2p1":
-double: 1
-float: 1
+double: 2
+float: 2
 
 Function: "log2p1_downward":
 double: 2
@@ -1051,7 +1052,7 @@ double: 2
 float: 2
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
 
 Function: "log_downward":
diff --git a/sysdeps/htl/pt-attr-getdetachstate.c b/sysdeps/htl/pt-attr-getdetachstate.c
index 8b077e38f3..da27398260 100644
--- a/sysdeps/htl/pt-attr-getdetachstate.c
+++ b/sysdeps/htl/pt-attr-getdetachstate.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 int
@@ -26,4 +27,8 @@ __pthread_attr_getdetachstate (const pthread_attr_t *attr, int *detachstate)
   return 0;
 }
 
-weak_alias (__pthread_attr_getdetachstate, pthread_attr_getdetachstate);
+versioned_symbol (libc, __pthread_attr_getdetachstate, pthread_attr_getdetachstate, GLIBC_2_21);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_attr_getdetachstate, pthread_attr_getdetachstate, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-attr-getinheritsched.c b/sysdeps/htl/pt-attr-getinheritsched.c
index 078face3eb..ba02e202c3 100644
--- a/sysdeps/htl/pt-attr-getinheritsched.c
+++ b/sysdeps/htl/pt-attr-getinheritsched.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 int
@@ -26,4 +27,8 @@ __pthread_attr_getinheritsched (const pthread_attr_t *attr, int *inheritsched)
   return 0;
 }
 
-weak_alias (__pthread_attr_getinheritsched, pthread_attr_getinheritsched);
+versioned_symbol (libc, __pthread_attr_getinheritsched, pthread_attr_getinheritsched, GLIBC_2_21);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_attr_getinheritsched, pthread_attr_getinheritsched, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-attr-getschedparam.c b/sysdeps/htl/pt-attr-getschedparam.c
index 3fa001871e..35eeedc442 100644
--- a/sysdeps/htl/pt-attr-getschedparam.c
+++ b/sysdeps/htl/pt-attr-getschedparam.c
@@ -19,6 +19,7 @@
 #include <pthread.h>
 #include <sched.h>
 #include <string.h>
+#include <shlib-compat.h>
 
 #include <pt-internal.h>
 
@@ -30,4 +31,8 @@ __pthread_attr_getschedparam (const pthread_attr_t *attr,
   return 0;
 }
 
-weak_alias (__pthread_attr_getschedparam, pthread_attr_getschedparam);
+versioned_symbol (libc, __pthread_attr_getschedparam, pthread_attr_getschedparam, GLIBC_2_21);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_attr_getschedparam, pthread_attr_getschedparam, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-attr-getschedpolicy.c b/sysdeps/htl/pt-attr-getschedpolicy.c
index 8b4cc7ce48..5deaf01c5e 100644
--- a/sysdeps/htl/pt-attr-getschedpolicy.c
+++ b/sysdeps/htl/pt-attr-getschedpolicy.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 int
@@ -26,4 +27,8 @@ __pthread_attr_getschedpolicy (const pthread_attr_t *attr, int *policy)
   return 0;
 }
 
-weak_alias (__pthread_attr_getschedpolicy, pthread_attr_getschedpolicy);
+versioned_symbol (libc, __pthread_attr_getschedpolicy, pthread_attr_getschedpolicy, GLIBC_2_21);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_attr_getschedpolicy, pthread_attr_getschedpolicy, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-attr-setdetachstate.c b/sysdeps/htl/pt-attr-setdetachstate.c
index b40557f816..26b6f91dc6 100644
--- a/sysdeps/htl/pt-attr-setdetachstate.c
+++ b/sysdeps/htl/pt-attr-setdetachstate.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 int
@@ -35,4 +36,8 @@ __pthread_attr_setdetachstate (pthread_attr_t *attr, int detachstate)
   return 0;
 }
 
-weak_alias (__pthread_attr_setdetachstate, pthread_attr_setdetachstate);
+versioned_symbol (libc, __pthread_attr_setdetachstate, pthread_attr_setdetachstate, GLIBC_2_21);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_attr_setdetachstate, pthread_attr_setdetachstate, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-attr-setinheritsched.c b/sysdeps/htl/pt-attr-setinheritsched.c
index 533b805b12..4ad0bb1dec 100644
--- a/sysdeps/htl/pt-attr-setinheritsched.c
+++ b/sysdeps/htl/pt-attr-setinheritsched.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 int
@@ -35,4 +36,8 @@ __pthread_attr_setinheritsched (pthread_attr_t *attr, int inheritsched)
   return 0;
 }
 
-weak_alias (__pthread_attr_setinheritsched, pthread_attr_setinheritsched);
+versioned_symbol (libc, __pthread_attr_setinheritsched, pthread_attr_setinheritsched, GLIBC_2_21);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_attr_setinheritsched, pthread_attr_setinheritsched, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-attr-setschedpolicy.c b/sysdeps/htl/pt-attr-setschedpolicy.c
index d8086e8316..9648c774d0 100644
--- a/sysdeps/htl/pt-attr-setschedpolicy.c
+++ b/sysdeps/htl/pt-attr-setschedpolicy.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 int
@@ -39,4 +40,8 @@ __pthread_attr_setschedpolicy (pthread_attr_t *attr, int policy)
   return 0;
 }
 
-weak_alias (__pthread_attr_setschedpolicy, pthread_attr_setschedpolicy);
+versioned_symbol (libc, __pthread_attr_setschedpolicy, pthread_attr_setschedpolicy, GLIBC_2_21);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_attr_setschedpolicy, pthread_attr_setschedpolicy, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-equal.c b/sysdeps/htl/pt-equal.c
index 6411110608..7727cca370 100644
--- a/sysdeps/htl/pt-equal.c
+++ b/sysdeps/htl/pt-equal.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 /* Return true if __T1 and __T2 both name the same thread.  Otherwise,
@@ -27,4 +28,8 @@ __pthread_equal (pthread_t __t1, pthread_t __t2)
   return __t1 == __t2;
 }
 
-weak_alias (__pthread_equal, pthread_equal);
+versioned_symbol (libc, __pthread_equal, pthread_equal, GLIBC_2_21);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_equal, pthread_equal, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-getschedparam.c b/sysdeps/htl/pt-getschedparam.c
index 8ec3d54bd4..0c6a2d0ab3 100644
--- a/sysdeps/htl/pt-getschedparam.c
+++ b/sysdeps/htl/pt-getschedparam.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 int
@@ -28,4 +29,8 @@ __pthread_getschedparam (pthread_t thread, int *policy,
   return 0;
 }
 
-weak_alias (__pthread_getschedparam, pthread_getschedparam);
+versioned_symbol (libc, __pthread_getschedparam, pthread_getschedparam, GLIBC_2_21);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_getschedparam, pthread_getschedparam, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pt-setschedparam.c b/sysdeps/htl/pt-setschedparam.c
index aea4e7b0e4..5594c9f390 100644
--- a/sysdeps/htl/pt-setschedparam.c
+++ b/sysdeps/htl/pt-setschedparam.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 int
@@ -26,5 +27,9 @@ __pthread_setschedparam (pthread_t thread, int policy,
   return ENOSYS;
 }
 
-weak_alias (__pthread_setschedparam, pthread_setschedparam);
+versioned_symbol (libc, __pthread_setschedparam, pthread_setschedparam, GLIBC_2_21);
 stub_warning (pthread_setschedparam)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_setschedparam, pthread_setschedparam, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pthread.h b/sysdeps/htl/pthread.h
index fa626ebc82..65837d10cf 100644
--- a/sysdeps/htl/pthread.h
+++ b/sysdeps/htl/pthread.h
@@ -892,6 +892,17 @@ extern int pthread_setschedparam (pthread_t __thr, int __policy,
 extern int pthread_setschedprio (pthread_t __thr, int __prio) __THROW;
 
 #ifdef __USE_GNU
+/* Get thread name visible in the kernel and its interfaces.  */
+extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
+			       size_t __buflen)
+     __THROW __nonnull ((2)) __attr_access ((__write_only__, 2));
+
+/* Set thread name visible in the kernel and its interfaces.  */
+extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
+     __THROW __nonnull ((2)) __attr_access ((__read_only__, 2));
+#endif
+
+#ifdef __USE_GNU
 /* Yield the processor to another thread or process.
    This function is similar to the POSIX `sched_yield' function but
    might be differently implemented in the case of a m-on-n thread
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 14c6d12f37..7da13797ca 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -1154,28 +1154,28 @@ float128: 3
 ldouble: 2
 
 Function: "exp10m1":
-double: 1
+double: 3
 float: 1
-float128: 1
-ldouble: 1
+float128: 3
+ldouble: 4
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-float128: 3
-ldouble: 2
+double: 3
+float: 3
+float128: 6
+ldouble: 6
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-float128: 3
-ldouble: 2
+double: 2
+float: 2
+float128: 6
+ldouble: 5
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-float128: 3
-ldouble: 2
+double: 5
+float: 3
+float128: 6
+ldouble: 6
 
 Function: "exp2":
 double: 1
@@ -1197,28 +1197,28 @@ float128: 2
 ldouble: 1
 
 Function: "exp2m1":
-double: 1
-float: 1
-float128: 1
-ldouble: 1
-
-Function: "exp2m1_downward":
 double: 2
 float: 1
 float128: 2
-ldouble: 2
+ldouble: 3
+
+Function: "exp2m1_downward":
+double: 3
+float: 3
+float128: 3
+ldouble: 6
 
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-float128: 2
-ldouble: 2
+double: 3
+float: 2
+float128: 4
+ldouble: 5
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-float128: 2
-ldouble: 3
+double: 3
+float: 3
+float128: 5
+ldouble: 6
 
 Function: "exp_downward":
 double: 1
@@ -1427,25 +1427,25 @@ Function: "log10p1":
 double: 1
 float: 2
 float128: 3
-ldouble: 2
+ldouble: 4
 
 Function: "log10p1_downward":
 double: 2
 float: 1
-float128: 2
-ldouble: 4
+float128: 4
+ldouble: 8
 
 Function: "log10p1_towardzero":
 double: 2
 float: 1
-float128: 2
-ldouble: 4
+float128: 3
+ldouble: 8
 
 Function: "log10p1_upward":
 double: 2
 float: 2
-float128: 3
-ldouble: 3
+float128: 4
+ldouble: 6
 
 Function: "log1p":
 double: 1
@@ -1497,7 +1497,7 @@ Function: "log2p1":
 double: 1
 float: 1
 float128: 3
-ldouble: 2
+ldouble: 4
 
 Function: "log2p1_downward":
 double: 2
@@ -1514,7 +1514,7 @@ ldouble: 3
 Function: "log2p1_upward":
 double: 1
 float: 2
-float128: 2
+float128: 3
 ldouble: 5
 
 Function: "log_downward":
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
index fff853e93f..2c7497bf80 100644
--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
+++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
@@ -1157,28 +1157,28 @@ float128: 3
 ldouble: 2
 
 Function: "exp10m1":
-double: 1
+double: 3
 float: 1
-float128: 1
-ldouble: 1
+float128: 3
+ldouble: 4
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-float128: 3
-ldouble: 2
+double: 3
+float: 3
+float128: 6
+ldouble: 6
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-float128: 3
-ldouble: 2
+double: 2
+float: 2
+float128: 6
+ldouble: 5
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-float128: 3
-ldouble: 2
+double: 5
+float: 3
+float128: 6
+ldouble: 6
 
 Function: "exp2":
 double: 1
@@ -1200,28 +1200,28 @@ float128: 2
 ldouble: 1
 
 Function: "exp2m1":
-double: 1
-float: 1
-float128: 1
-ldouble: 1
-
-Function: "exp2m1_downward":
 double: 2
 float: 1
 float128: 2
 ldouble: 3
 
+Function: "exp2m1_downward":
+double: 3
+float: 3
+float128: 3
+ldouble: 6
+
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-float128: 2
-ldouble: 3
+double: 3
+float: 2
+float128: 4
+ldouble: 5
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-float128: 2
-ldouble: 3
+double: 3
+float: 3
+float128: 5
+ldouble: 6
 
 Function: "exp_downward":
 double: 1
@@ -1430,25 +1430,25 @@ Function: "log10p1":
 double: 1
 float: 2
 float128: 3
-ldouble: 2
+ldouble: 4
 
 Function: "log10p1_downward":
 double: 2
 float: 1
-float128: 2
-ldouble: 4
+float128: 4
+ldouble: 8
 
 Function: "log10p1_towardzero":
 double: 2
 float: 1
-float128: 2
-ldouble: 4
+float128: 3
+ldouble: 8
 
 Function: "log10p1_upward":
 double: 2
 float: 2
-float128: 3
-ldouble: 3
+float128: 4
+ldouble: 6
 
 Function: "log1p":
 double: 1
@@ -1500,7 +1500,7 @@ Function: "log2p1":
 double: 1
 float: 1
 float128: 3
-ldouble: 2
+ldouble: 4
 
 Function: "log2p1_downward":
 double: 2
@@ -1517,7 +1517,7 @@ ldouble: 4
 Function: "log2p1_upward":
 double: 1
 float: 2
-float128: 2
+float128: 3
 ldouble: 5
 
 Function: "log_downward":
diff --git a/sysdeps/loongarch/dl-machine.h b/sysdeps/loongarch/dl-machine.h
index ab6f1da7c0..a15d8e0ab6 100644
--- a/sysdeps/loongarch/dl-machine.h
+++ b/sysdeps/loongarch/dl-machine.h
@@ -223,6 +223,13 @@ elf_machine_rela (struct link_map *map, struct r_scope_elem *scope[],
 	      {
 		td->arg = _dl_make_tlsdesc_dynamic (sym_map,
 			      sym->st_value + reloc->r_addend);
+# ifndef __loongarch_soft_float
+		if (RTLD_SUPPORT_LASX)
+		  td->entry = _dl_tlsdesc_dynamic_lasx;
+		else if (RTLD_SUPPORT_LSX)
+		  td->entry = _dl_tlsdesc_dynamic_lsx;
+		else
+# endif
 		td->entry = _dl_tlsdesc_dynamic;
 	      }
 	    else
diff --git a/sysdeps/loongarch/dl-tlsdesc-dynamic.h b/sysdeps/loongarch/dl-tlsdesc-dynamic.h
new file mode 100644
index 0000000000..d10f4a8800
--- /dev/null
+++ b/sysdeps/loongarch/dl-tlsdesc-dynamic.h
@@ -0,0 +1,225 @@
+/* Thread-local storage handling in the ELF dynamic linker.
+   LoongArch version.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#define FRAME_SIZE	  (-((-14 * SZREG) & ALMASK))
+#define FRAME_SIZE_LSX	  (-((-32 * SZVREG) & ALMASK))
+#define FRAME_SIZE_LASX	  (-((-32 * SZXREG) & ALMASK))
+#define FRAME_SIZE_FLOAT  (-((-24 * SZFREG) & ALMASK))
+
+	/* Handler for dynamic TLS symbols.
+	   Prototype:
+	   _dl_tlsdesc_dynamic (tlsdesc *) ;
+
+	   The second word of the descriptor points to a
+	   tlsdesc_dynamic_arg structure.
+
+	   Returns the offset between the thread pointer and the
+	   object referenced by the argument.
+
+	   ptrdiff_t
+	   _dl_tlsdesc_dynamic (struct tlsdesc *tdp)
+	   {
+	     struct tlsdesc_dynamic_arg *td = tdp->arg;
+	     dtv_t *dtv = *(dtv_t **)((char *)__thread_pointer - SIZE_OF_TCB);
+	     if (__glibc_likely (td->gen_count <= dtv[0].counter
+		&& (dtv[td->tlsinfo.ti_module].pointer.val
+		    != TLS_DTV_UNALLOCATED),
+		1))
+	       return dtv[td->tlsinfo.ti_module].pointer.val
+		+ td->tlsinfo.ti_offset
+		- __thread_pointer;
+
+	     return ___tls_get_addr (&td->tlsinfo) - __thread_pointer;
+	   }  */
+	.hidden _dl_tlsdesc_dynamic
+	.global	_dl_tlsdesc_dynamic
+	.type	_dl_tlsdesc_dynamic,%function
+	cfi_startproc
+	.align 2
+_dl_tlsdesc_dynamic:
+	/* Save just enough registers to support fast path, if we fall
+	   into slow path we will save additional registers.  */
+	ADDI	sp, sp, -32
+	cfi_adjust_cfa_offset (32)
+	REG_S	t0, sp, 0
+	REG_S	t1, sp, 8
+	REG_S	t2, sp, 16
+	cfi_rel_offset (12, 0)
+	cfi_rel_offset (13, 8)
+	cfi_rel_offset (14, 16)
+
+/* Runtime Storage Layout of Thread-Local Storage
+   TP point to the start of TLS block.
+
+				      dtv
+Low address	TCB ----------------> dtv0(counter)
+	 TP -->	static_block0  <----- dtv1
+		static_block1  <----- dtv2
+		static_block2  <----- dtv3
+		dynamic_block0 <----- dtv4
+Hign address	dynamic_block1 <----- dtv5  */
+
+	REG_L	t0, tp, -SIZE_OF_TCB	  /* t0 = dtv */
+	REG_L	a0, a0, TLSDESC_ARG	  /* a0(td) = tdp->arg */
+	REG_L	t1, a0, TLSDESC_GEN_COUNT /* t1 = td->gen_count */
+	REG_L	t2, t0, DTV_COUNTER	  /* t2 = dtv[0].counter */
+	/* If dtv[0].counter < td->gen_count, goto slow path.  */
+	bltu	t2, t1, .Lslow
+
+	REG_L	t1, a0, TLSDESC_MODID /* t1 = td->tlsinfo.ti_module */
+	/* t1 = t1 * sizeof(dtv_t) = t1 * (2 * sizeof(void*)) */
+	slli.d	t1, t1, 4
+	add.d	t1, t1, t0  /* t1 = dtv[td->tlsinfo.ti_module] */
+	REG_L	t1, t1, 0   /* t1 = dtv[td->tlsinfo.ti_module].pointer.val */
+	li.d	t2, TLS_DTV_UNALLOCATED
+	/* If dtv[td->tlsinfo.ti_module].pointer.val is TLS_DTV_UNALLOCATED,
+	   goto slow path.  */
+	beq	t1, t2, .Lslow
+
+	cfi_remember_state
+	REG_L	t2, a0, TLSDESC_MODOFF	/* t2 = td->tlsinfo.ti_offset */
+	/* dtv[td->tlsinfo.ti_module].pointer.val + td->tlsinfo.ti_offset */
+	add.d	a0, t1, t2
+.Lret:
+	sub.d	a0, a0, tp
+	REG_L	t0, sp, 0
+	REG_L	t1, sp, 8
+	REG_L	t2, sp, 16
+	ADDI	sp, sp, 32
+	cfi_adjust_cfa_offset (-32)
+	RET
+
+.Lslow:
+	/* This is the slow path.  We need to call __tls_get_addr() which
+	   means we need to save and restore all the register that the
+	   callee will trash.  */
+
+	/* Save the remaining registers that we must treat as caller save.  */
+	cfi_restore_state
+	ADDI	sp, sp, -FRAME_SIZE
+	cfi_adjust_cfa_offset (FRAME_SIZE)
+	REG_S	ra, sp, 0 * SZREG
+	REG_S	a1, sp, 1 * SZREG
+	REG_S	a2, sp, 2 * SZREG
+	REG_S	a3, sp, 3 * SZREG
+	REG_S	a4, sp, 4 * SZREG
+	REG_S	a5, sp, 5 * SZREG
+	REG_S	a6, sp, 6 * SZREG
+	REG_S	a7, sp, 7 * SZREG
+	REG_S	t3, sp, 8 * SZREG
+	REG_S	t4, sp, 9 * SZREG
+	REG_S	t5, sp, 10 * SZREG
+	REG_S	t6, sp, 11 * SZREG
+	REG_S	t7, sp, 12 * SZREG
+	REG_S	t8, sp, 13 * SZREG
+	cfi_rel_offset (1, 0 * SZREG)
+	cfi_rel_offset (5, 1 * SZREG)
+	cfi_rel_offset (6, 2 * SZREG)
+	cfi_rel_offset (7, 3 * SZREG)
+	cfi_rel_offset (8, 4 * SZREG)
+	cfi_rel_offset (9, 5 * SZREG)
+	cfi_rel_offset (10, 6 * SZREG)
+	cfi_rel_offset (11, 7 * SZREG)
+	cfi_rel_offset (15, 8 * SZREG)
+	cfi_rel_offset (16, 9 * SZREG)
+	cfi_rel_offset (17, 10 * SZREG)
+	cfi_rel_offset (18, 11 * SZREG)
+	cfi_rel_offset (19, 12 * SZREG)
+	cfi_rel_offset (20, 13 * SZREG)
+
+#ifndef __loongarch_soft_float
+
+	/* Save fcsr0 register.
+	   Only one physical fcsr0 register, fcsr1-fcsr3 are aliases
+	   of some fields in fcsr0.  */
+	movfcsr2gr  t0, fcsr0
+	st.w	t0, sp, FRAME_SIZE + 24 /* Use the spare slot above t2.  */
+
+#ifdef USE_LASX
+  #define V_REG_S xvst
+  #define V_REG_L xvld
+  #define V_SPACE FRAME_SIZE_LASX
+  #define V_REG(n) $xr##n
+  #define V_REGS 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,  \
+		 17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
+  #define V_REGSZ SZXREG
+#elif defined USE_LSX
+  #define V_REG_S vst
+  #define V_REG_L vld
+  #define V_SPACE FRAME_SIZE_LSX
+  #define V_REG(n) $vr##n
+  #define V_REGS 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,  \
+		 17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
+  #define V_REGSZ SZVREG
+#else
+  #define V_REG_S fst.d
+  #define V_REG_L fld.d
+  #define V_SPACE FRAME_SIZE_FLOAT
+  #define V_REG(n) $f##n
+  #define V_REGS 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
+  #define V_REGSZ SZFREG
+#endif
+
+	ADDI	sp, sp, -V_SPACE
+	cfi_adjust_cfa_offset (V_SPACE)
+	.irp	i,V_REGS
+        V_REG_S	V_REG(\i), sp, \i * V_REGSZ
+	.endr
+
+#endif /* #ifndef __loongarch_soft_float */
+
+	bl	HIDDEN_JUMPTARGET(__tls_get_addr)
+	ADDI	a0, a0, -TLS_DTV_OFFSET
+
+#ifndef __loongarch_soft_float
+
+	.irp	i,V_REGS
+	V_REG_L	V_REG(\i), sp, \i * V_REGSZ
+	.endr
+	ADDI	sp, sp, V_SPACE
+	cfi_adjust_cfa_offset (-V_SPACE)
+
+	/* Restore fcsr0 register.  */
+	ld.w	t0, sp, FRAME_SIZE + 24
+	movgr2fcsr  fcsr0, t0
+
+#endif /* #ifndef __loongarch_soft_float */
+
+	REG_L	ra, sp, 0 * SZREG
+	REG_L	a1, sp, 1 * SZREG
+	REG_L	a2, sp, 2 * SZREG
+	REG_L	a3, sp, 3 * SZREG
+	REG_L	a4, sp, 4 * SZREG
+	REG_L	a5, sp, 5 * SZREG
+	REG_L	a6, sp, 6 * SZREG
+	REG_L	a7, sp, 7 * SZREG
+	REG_L	t3, sp, 8 * SZREG
+	REG_L	t4, sp, 9 * SZREG
+	REG_L	t5, sp, 10 * SZREG
+	REG_L	t6, sp, 11 * SZREG
+	REG_L	t7, sp, 12 * SZREG
+	REG_L	t8, sp, 13 * SZREG
+	ADDI	sp, sp, FRAME_SIZE
+	cfi_adjust_cfa_offset (-FRAME_SIZE)
+
+	b	.Lret
+	cfi_endproc
+	.size	_dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic
+	.hidden HIDDEN_JUMPTARGET(__tls_get_addr)
diff --git a/sysdeps/loongarch/dl-tlsdesc.S b/sysdeps/loongarch/dl-tlsdesc.S
index a6627cc754..b6cfd6121d 100644
--- a/sysdeps/loongarch/dl-tlsdesc.S
+++ b/sysdeps/loongarch/dl-tlsdesc.S
@@ -59,376 +59,34 @@ _dl_tlsdesc_undefweak:
 	cfi_endproc
 	.size	_dl_tlsdesc_undefweak, .-_dl_tlsdesc_undefweak
 
-
 #ifdef SHARED
 
-#define FRAME_SIZE	  (-((-14 * SZREG) & ALMASK))
-#define FRAME_SIZE_LSX	  (-((-32 * SZVREG) & ALMASK))
-#define FRAME_SIZE_LASX	  (-((-32 * SZXREG) & ALMASK))
-#define FRAME_SIZE_FLOAT  (-((-24 * SZFREG) & ALMASK))
-
-	/* Handler for dynamic TLS symbols.
-	   Prototype:
-	   _dl_tlsdesc_dynamic (tlsdesc *) ;
-
-	   The second word of the descriptor points to a
-	   tlsdesc_dynamic_arg structure.
-
-	   Returns the offset between the thread pointer and the
-	   object referenced by the argument.
-
-	   ptrdiff_t
-	   _dl_tlsdesc_dynamic (struct tlsdesc *tdp)
-	   {
-	     struct tlsdesc_dynamic_arg *td = tdp->arg;
-	     dtv_t *dtv = *(dtv_t **)((char *)__thread_pointer - SIZE_OF_TCB);
-	     if (__glibc_likely (td->gen_count <= dtv[0].counter
-		&& (dtv[td->tlsinfo.ti_module].pointer.val
-		    != TLS_DTV_UNALLOCATED),
-		1))
-	       return dtv[td->tlsinfo.ti_module].pointer.val
-		+ td->tlsinfo.ti_offset
-		- __thread_pointer;
-
-	     return ___tls_get_addr (&td->tlsinfo) - __thread_pointer;
-	   }  */
-	.hidden _dl_tlsdesc_dynamic
-	.global	_dl_tlsdesc_dynamic
-	.type	_dl_tlsdesc_dynamic,%function
-	cfi_startproc
-	.align 2
-_dl_tlsdesc_dynamic:
-	/* Save just enough registers to support fast path, if we fall
-	   into slow path we will save additional registers.  */
-	ADDI	sp, sp, -32
-	REG_S	t0, sp, 0
-	REG_S	t1, sp, 8
-	REG_S	t2, sp, 16
-
-/* Runtime Storage Layout of Thread-Local Storage
-   TP point to the start of TLS block.
-
-				      dtv
-Low address	TCB ----------------> dtv0(counter)
-	 TP -->	static_block0  <----- dtv1
-		static_block1  <----- dtv2
-		static_block2  <----- dtv3
-		dynamic_block0 <----- dtv4
-Hign address	dynamic_block1 <----- dtv5  */
-
-	REG_L	t0, tp, -SIZE_OF_TCB	  /* t0 = dtv */
-	REG_L	a0, a0, TLSDESC_ARG	  /* a0(td) = tdp->arg */
-	REG_L	t1, a0, TLSDESC_GEN_COUNT /* t1 = td->gen_count */
-	REG_L	t2, t0, DTV_COUNTER	  /* t2 = dtv[0].counter */
-	/* If dtv[0].counter < td->gen_count, goto slow path.  */
-	bltu	t2, t1, .Lslow
-
-	REG_L	t1, a0, TLSDESC_MODID /* t1 = td->tlsinfo.ti_module */
-	/* t1 = t1 * sizeof(dtv_t) = t1 * (2 * sizeof(void*)) */
-	slli.d	t1, t1, 4
-	add.d	t1, t1, t0  /* t1 = dtv[td->tlsinfo.ti_module] */
-	REG_L	t1, t1, 0   /* t1 = dtv[td->tlsinfo.ti_module].pointer.val */
-	li.d	t2, TLS_DTV_UNALLOCATED
-	/* If dtv[td->tlsinfo.ti_module].pointer.val is TLS_DTV_UNALLOCATED,
-	   goto slow path.  */
-	beq	t1, t2, .Lslow
-
-	REG_L	t2, a0, TLSDESC_MODOFF	/* t2 = td->tlsinfo.ti_offset */
-	/* dtv[td->tlsinfo.ti_module].pointer.val + td->tlsinfo.ti_offset */
-	add.d	a0, t1, t2
-.Lret:
-	sub.d	a0, a0, tp
-	REG_L	t0, sp, 0
-	REG_L	t1, sp, 8
-	REG_L	t2, sp, 16
-	ADDI	sp, sp, 32
-	RET
-
-.Lslow:
-	/* This is the slow path. We need to call __tls_get_addr() which
-	   means we need to save and restore all the register that the
-	   callee will trash.  */
-
-	/* Save the remaining registers that we must treat as caller save.  */
-	ADDI	sp, sp, -FRAME_SIZE
-	REG_S	ra, sp, 0 * SZREG
-	REG_S	a1, sp, 1 * SZREG
-	REG_S	a2, sp, 2 * SZREG
-	REG_S	a3, sp, 3 * SZREG
-	REG_S	a4, sp, 4 * SZREG
-	REG_S	a5, sp, 5 * SZREG
-	REG_S	a6, sp, 6 * SZREG
-	REG_S	a7, sp, 7 * SZREG
-	REG_S	t3, sp, 8 * SZREG
-	REG_S	t4, sp, 9 * SZREG
-	REG_S	t5, sp, 10 * SZREG
-	REG_S	t6, sp, 11 * SZREG
-	REG_S	t7, sp, 12 * SZREG
-	REG_S	t8, sp, 13 * SZREG
-
 #ifndef __loongarch_soft_float
 
-	/* Save fcsr0 register.
-	   Only one physical fcsr0 register, fcsr1-fcsr3 are aliases
-	   of some fields in fcsr0.  */
-	movfcsr2gr  t0, fcsr0
-	st.w	t0, sp, FRAME_SIZE + 24 /* Use the spare slot above t2 */
-
-	/* Whether support LASX.  */
-	la.global   t0, _rtld_global_ro
-	REG_L	t0, t0, GLRO_DL_HWCAP_OFFSET
-	andi	t1, t0, HWCAP_LOONGARCH_LASX
-	beqz	t1, .Llsx
-
-	/* Save 256-bit vector registers.
-	   FIXME: Without vector ABI, save all vector registers.  */
-	ADDI	sp, sp, -FRAME_SIZE_LASX
-	xvst	xr0, sp, 0*SZXREG
-	xvst	xr1, sp, 1*SZXREG
-	xvst	xr2, sp, 2*SZXREG
-	xvst	xr3, sp, 3*SZXREG
-	xvst	xr4, sp, 4*SZXREG
-	xvst	xr5, sp, 5*SZXREG
-	xvst	xr6, sp, 6*SZXREG
-	xvst	xr7, sp, 7*SZXREG
-	xvst	xr8, sp, 8*SZXREG
-	xvst	xr9, sp, 9*SZXREG
-	xvst	xr10, sp, 10*SZXREG
-	xvst	xr11, sp, 11*SZXREG
-	xvst	xr12, sp, 12*SZXREG
-	xvst	xr13, sp, 13*SZXREG
-	xvst	xr14, sp, 14*SZXREG
-	xvst	xr15, sp, 15*SZXREG
-	xvst	xr16, sp, 16*SZXREG
-	xvst	xr17, sp, 17*SZXREG
-	xvst	xr18, sp, 18*SZXREG
-	xvst	xr19, sp, 19*SZXREG
-	xvst	xr20, sp, 20*SZXREG
-	xvst	xr21, sp, 21*SZXREG
-	xvst	xr22, sp, 22*SZXREG
-	xvst	xr23, sp, 23*SZXREG
-	xvst	xr24, sp, 24*SZXREG
-	xvst	xr25, sp, 25*SZXREG
-	xvst	xr26, sp, 26*SZXREG
-	xvst	xr27, sp, 27*SZXREG
-	xvst	xr28, sp, 28*SZXREG
-	xvst	xr29, sp, 29*SZXREG
-	xvst	xr30, sp, 30*SZXREG
-	xvst	xr31, sp, 31*SZXREG
-	b	    .Ltga
-
-.Llsx:
-	/* Whether support LSX.  */
-	andi	t1, t0, HWCAP_LOONGARCH_LSX
-	beqz	t1, .Lfloat
-
-	/* Save 128-bit vector registers.  */
-	ADDI	sp, sp, -FRAME_SIZE_LSX
-	vst	vr0, sp, 0*SZVREG
-	vst	vr1, sp, 1*SZVREG
-	vst	vr2, sp, 2*SZVREG
-	vst	vr3, sp, 3*SZVREG
-	vst	vr4, sp, 4*SZVREG
-	vst	vr5, sp, 5*SZVREG
-	vst	vr6, sp, 6*SZVREG
-	vst	vr7, sp, 7*SZVREG
-	vst	vr8, sp, 8*SZVREG
-	vst	vr9, sp, 9*SZVREG
-	vst	vr10, sp, 10*SZVREG
-	vst	vr11, sp, 11*SZVREG
-	vst	vr12, sp, 12*SZVREG
-	vst	vr13, sp, 13*SZVREG
-	vst	vr14, sp, 14*SZVREG
-	vst	vr15, sp, 15*SZVREG
-	vst	vr16, sp, 16*SZVREG
-	vst	vr17, sp, 17*SZVREG
-	vst	vr18, sp, 18*SZVREG
-	vst	vr19, sp, 19*SZVREG
-	vst	vr20, sp, 20*SZVREG
-	vst	vr21, sp, 21*SZVREG
-	vst	vr22, sp, 22*SZVREG
-	vst	vr23, sp, 23*SZVREG
-	vst	vr24, sp, 24*SZVREG
-	vst	vr25, sp, 25*SZVREG
-	vst	vr26, sp, 26*SZVREG
-	vst	vr27, sp, 27*SZVREG
-	vst	vr28, sp, 28*SZVREG
-	vst	vr29, sp, 29*SZVREG
-	vst	vr30, sp, 30*SZVREG
-	vst	vr31, sp, 31*SZVREG
-	b	    .Ltga
-
-.Lfloat:
-	/* Save float registers.  */
-	ADDI	sp, sp, -FRAME_SIZE_FLOAT
-	FREG_S	fa0, sp, 0*SZFREG
-	FREG_S	fa1, sp, 1*SZFREG
-	FREG_S	fa2, sp, 2*SZFREG
-	FREG_S	fa3, sp, 3*SZFREG
-	FREG_S	fa4, sp, 4*SZFREG
-	FREG_S	fa5, sp, 5*SZFREG
-	FREG_S	fa6, sp, 6*SZFREG
-	FREG_S	fa7, sp, 7*SZFREG
-	FREG_S	ft0, sp, 8*SZFREG
-	FREG_S	ft1, sp, 9*SZFREG
-	FREG_S	ft2, sp, 10*SZFREG
-	FREG_S	ft3, sp, 11*SZFREG
-	FREG_S	ft4, sp, 12*SZFREG
-	FREG_S	ft5, sp, 13*SZFREG
-	FREG_S	ft6, sp, 14*SZFREG
-	FREG_S	ft7, sp, 15*SZFREG
-	FREG_S	ft8, sp, 16*SZFREG
-	FREG_S	ft9, sp, 17*SZFREG
-	FREG_S	ft10, sp, 18*SZFREG
-	FREG_S	ft11, sp, 19*SZFREG
-	FREG_S	ft12, sp, 20*SZFREG
-	FREG_S	ft13, sp, 21*SZFREG
-	FREG_S	ft14, sp, 22*SZFREG
-	FREG_S	ft15, sp, 23*SZFREG
-
-#endif /* #ifndef __loongarch_soft_float */
-
-.Ltga:
-	bl	HIDDEN_JUMPTARGET(__tls_get_addr)
-	ADDI	a0, a0, -TLS_DTV_OFFSET
-
-#ifndef __loongarch_soft_float
-
-	la.global   t0, _rtld_global_ro
-	REG_L	t0, t0, GLRO_DL_HWCAP_OFFSET
-	andi	t1, t0, HWCAP_LOONGARCH_LASX
-	beqz	t1, .Llsx1
-
-	/* Restore 256-bit vector registers.  */
-	xvld	xr0, sp, 0*SZXREG
-	xvld	xr1, sp, 1*SZXREG
-	xvld	xr2, sp, 2*SZXREG
-	xvld	xr3, sp, 3*SZXREG
-	xvld	xr4, sp, 4*SZXREG
-	xvld	xr5, sp, 5*SZXREG
-	xvld	xr6, sp, 6*SZXREG
-	xvld	xr7, sp, 7*SZXREG
-	xvld	xr8, sp, 8*SZXREG
-	xvld	xr9, sp, 9*SZXREG
-	xvld	xr10, sp, 10*SZXREG
-	xvld	xr11, sp, 11*SZXREG
-	xvld	xr12, sp, 12*SZXREG
-	xvld	xr13, sp, 13*SZXREG
-	xvld	xr14, sp, 14*SZXREG
-	xvld	xr15, sp, 15*SZXREG
-	xvld	xr16, sp, 16*SZXREG
-	xvld	xr17, sp, 17*SZXREG
-	xvld	xr18, sp, 18*SZXREG
-	xvld	xr19, sp, 19*SZXREG
-	xvld	xr20, sp, 20*SZXREG
-	xvld	xr21, sp, 21*SZXREG
-	xvld	xr22, sp, 22*SZXREG
-	xvld	xr23, sp, 23*SZXREG
-	xvld	xr24, sp, 24*SZXREG
-	xvld	xr25, sp, 25*SZXREG
-	xvld	xr26, sp, 26*SZXREG
-	xvld	xr27, sp, 27*SZXREG
-	xvld	xr28, sp, 28*SZXREG
-	xvld	xr29, sp, 29*SZXREG
-	xvld	xr30, sp, 30*SZXREG
-	xvld	xr31, sp, 31*SZXREG
-	ADDI	sp, sp, FRAME_SIZE_LASX
-	b .Lfcsr
-
-.Llsx1:
-	andi	t1, t0, HWCAP_LOONGARCH_LSX
-	beqz	t1, .Lfloat1
-
-	/* Restore 128-bit vector registers.  */
-	vld	vr0, sp, 0*SZVREG
-	vld	vr1, sp, 1*SZVREG
-	vld	vr2, sp, 2*SZVREG
-	vld	vr3, sp, 3*SZVREG
-	vld	vr4, sp, 4*SZVREG
-	vld	vr5, sp, 5*SZVREG
-	vld	vr6, sp, 6*SZVREG
-	vld	vr7, sp, 7*SZVREG
-	vld	vr8, sp, 8*SZVREG
-	vld	vr9, sp, 9*SZVREG
-	vld	vr10, sp, 10*SZVREG
-	vld	vr11, sp, 11*SZVREG
-	vld	vr12, sp, 12*SZVREG
-	vld	vr13, sp, 13*SZVREG
-	vld	vr14, sp, 14*SZVREG
-	vld	vr15, sp, 15*SZVREG
-	vld	vr16, sp, 16*SZVREG
-	vld	vr17, sp, 17*SZVREG
-	vld	vr18, sp, 18*SZVREG
-	vld	vr19, sp, 19*SZVREG
-	vld	vr20, sp, 20*SZVREG
-	vld	vr21, sp, 21*SZVREG
-	vld	vr22, sp, 22*SZVREG
-	vld	vr23, sp, 23*SZVREG
-	vld	vr24, sp, 24*SZVREG
-	vld	vr25, sp, 25*SZVREG
-	vld	vr26, sp, 26*SZVREG
-	vld	vr27, sp, 27*SZVREG
-	vld	vr28, sp, 28*SZVREG
-	vld	vr29, sp, 29*SZVREG
-	vld	vr30, sp, 30*SZVREG
-	vld	vr31, sp, 31*SZVREG
-	ADDI	sp, sp, FRAME_SIZE_LSX
-	b	    .Lfcsr
-
-.Lfloat1:
-	/* Restore float registers.  */
-	FREG_L	fa0, sp, 0*SZFREG
-	FREG_L	fa1, sp, 1*SZFREG
-	FREG_L	fa2, sp, 2*SZFREG
-	FREG_L	fa3, sp, 3*SZFREG
-	FREG_L	fa4, sp, 4*SZFREG
-	FREG_L	fa5, sp, 5*SZFREG
-	FREG_L	fa6, sp, 6*SZFREG
-	FREG_L	fa7, sp, 7*SZFREG
-	FREG_L	ft0, sp, 8*SZFREG
-	FREG_L	ft1, sp, 9*SZFREG
-	FREG_L	ft2, sp, 10*SZFREG
-	FREG_L	ft3, sp, 11*SZFREG
-	FREG_L	ft4, sp, 12*SZFREG
-	FREG_L	ft5, sp, 13*SZFREG
-	FREG_L	ft6, sp, 14*SZFREG
-	FREG_L	ft7, sp, 15*SZFREG
-	FREG_L	ft8, sp, 16*SZFREG
-	FREG_L	ft9, sp, 17*SZFREG
-	FREG_L	ft10, sp, 18*SZFREG
-	FREG_L	ft11, sp, 19*SZFREG
-	FREG_L	ft12, sp, 20*SZFREG
-	FREG_L	ft13, sp, 21*SZFREG
-	FREG_L	ft14, sp, 22*SZFREG
-	FREG_L	ft15, sp, 23*SZFREG
-	ADDI	sp, sp, FRAME_SIZE_FLOAT
-
-.Lfcsr:
-	/* Restore fcsr0 register.  */
-	ld.w	t0, sp, FRAME_SIZE + 24
-	movgr2fcsr  fcsr0, t0
+#define USE_LASX
+#define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_lasx
+#define Lret Lret_lasx
+#define Lslow Lslow_lasx
+#include "dl-tlsdesc-dynamic.h"
+#undef FRAME_SIZE
+#undef USE_LASX
+#undef _dl_tlsdesc_dynamic
+#undef Lret
+#undef Lslow
+
+#define USE_LSX
+#define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_lsx
+#define Lret Lret_lsx
+#define Lslow Lslow_lsx
+#include "dl-tlsdesc-dynamic.h"
+#undef FRAME_SIZE
+#undef USE_LSX
+#undef _dl_tlsdesc_dynamic
+#undef Lret
+#undef Lslow
 
 #endif /* #ifndef __loongarch_soft_float */
 
-	REG_L	ra, sp, 0 * SZREG
-	REG_L	a1, sp, 1 * SZREG
-	REG_L	a2, sp, 2 * SZREG
-	REG_L	a3, sp, 3 * SZREG
-	REG_L	a4, sp, 4 * SZREG
-	REG_L	a5, sp, 5 * SZREG
-	REG_L	a6, sp, 6 * SZREG
-	REG_L	a7, sp, 7 * SZREG
-	REG_L	t3, sp, 8 * SZREG
-	REG_L	t4, sp, 9 * SZREG
-	REG_L	t5, sp, 10 * SZREG
-	REG_L	t6, sp, 11 * SZREG
-	REG_L	t7, sp, 12 * SZREG
-	REG_L	t8, sp, 13 * SZREG
-	ADDI	sp, sp, FRAME_SIZE
-
-	b	.Lret
-	cfi_endproc
-	.size	_dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic
-	.hidden HIDDEN_JUMPTARGET(__tls_get_addr)
+#include "dl-tlsdesc-dynamic.h"
 
 #endif /* #ifdef SHARED */
diff --git a/sysdeps/loongarch/dl-tlsdesc.h b/sysdeps/loongarch/dl-tlsdesc.h
index ff8c69cb93..45c43a5b52 100644
--- a/sysdeps/loongarch/dl-tlsdesc.h
+++ b/sysdeps/loongarch/dl-tlsdesc.h
@@ -43,6 +43,10 @@ extern ptrdiff_t attribute_hidden _dl_tlsdesc_undefweak (struct tlsdesc *);
 
 #ifdef SHARED
 extern void *_dl_make_tlsdesc_dynamic (struct link_map *, size_t);
+#ifndef __loongarch_soft_float
+extern ptrdiff_t attribute_hidden _dl_tlsdesc_dynamic_lasx (struct tlsdesc *);
+extern ptrdiff_t attribute_hidden _dl_tlsdesc_dynamic_lsx (struct tlsdesc *);
+#endif
 extern ptrdiff_t attribute_hidden _dl_tlsdesc_dynamic (struct tlsdesc *);
 #endif
 
diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps
index bdfd683454..833dca40e4 100644
--- a/sysdeps/loongarch/lp64/libm-test-ulps
+++ b/sysdeps/loongarch/lp64/libm-test-ulps
@@ -976,24 +976,24 @@ float: 1
 ldouble: 3
 
 Function: "exp10m1":
-double: 2
-float: 1
-ldouble: 1
+double: 4
+float: 2
+ldouble: 3
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-ldouble: 3
+double: 3
+float: 3
+ldouble: 6
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-ldouble: 3
+double: 2
+float: 3
+ldouble: 6
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-ldouble: 3
+double: 5
+float: 3
+ldouble: 6
 
 Function: "exp2":
 double: 1
@@ -1013,24 +1013,24 @@ float: 1
 ldouble: 2
 
 Function: "exp2m1":
-double: 1
-float: 1
-ldouble: 1
+double: 2
+float: 2
+ldouble: 2
 
 Function: "exp2m1_downward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 3
 
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-ldouble: 2
+double: 3
+float: 2
+ldouble: 4
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 5
 
 Function: "exp_downward":
 double: 1
@@ -1206,24 +1206,24 @@ float: 2
 ldouble: 1
 
 Function: "log10p1":
-double: 1
-float: 1
+double: 2
+float: 2
 ldouble: 3
 
 Function: "log10p1_downward":
 double: 2
-float: 1
-ldouble: 2
+float: 3
+ldouble: 4
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log10p1_upward":
 double: 2
-float: 1
-ldouble: 3
+float: 3
+ldouble: 4
 
 Function: "log1p":
 double: 1
@@ -1263,8 +1263,8 @@ double: 3
 ldouble: 1
 
 Function: "log2p1":
-double: 1
-float: 1
+double: 2
+float: 2
 ldouble: 3
 
 Function: "log2p1_downward":
@@ -1278,9 +1278,9 @@ float: 2
 ldouble: 2
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log_downward":
 ldouble: 1
diff --git a/sysdeps/loongarch/tlsdesc.sym b/sysdeps/loongarch/tlsdesc.sym
index 213d0b3074..9f80fceca6 100644
--- a/sysdeps/loongarch/tlsdesc.sym
+++ b/sysdeps/loongarch/tlsdesc.sym
@@ -4,12 +4,6 @@
 #include <link.h>
 #include <dl-tlsdesc.h>
 
-#define SHARED 1
-
-#include <ldsodefs.h>
-
-#define GLRO_offsetof(name) offsetof (struct rtld_global_ro, _##name)
-
 --
 
 -- Abuse tls.h macros to derive offsets relative to the thread register.
@@ -23,6 +17,3 @@ DTV_COUNTER		offsetof(dtv_t, counter)
 TLS_DTV_UNALLOCATED	TLS_DTV_UNALLOCATED
 TLS_DTV_OFFSET		TLS_DTV_OFFSET
 SIZE_OF_TCB		sizeof(tcbhead_t)
-GLRO_DL_HWCAP_OFFSET    GLRO_offsetof (dl_hwcap)
-HWCAP_LOONGARCH_LSX	HWCAP_LOONGARCH_LSX
-HWCAP_LOONGARCH_LASX	HWCAP_LOONGARCH_LASX
diff --git a/sysdeps/m68k/m680x0/fpu/libm-test-ulps b/sysdeps/m68k/m680x0/fpu/libm-test-ulps
index b957e7b5d1..6eacfb6b6f 100644
--- a/sysdeps/m68k/m680x0/fpu/libm-test-ulps
+++ b/sysdeps/m68k/m680x0/fpu/libm-test-ulps
@@ -7,12 +7,12 @@ float: 1
 ldouble: 1
 
 Function: "acosh_downward":
-double: 1
+double: 2
 float: 1
 ldouble: 1
 
 Function: "acosh_towardzero":
-double: 1
+double: 2
 float: 1
 ldouble: 1
 
@@ -21,6 +21,21 @@ double: 2
 float: 1
 ldouble: 1
 
+Function: "asin":
+double: 1
+
+Function: "asin_downward":
+double: 1
+float: 1
+
+Function: "asin_towardzero":
+double: 1
+float: 1
+
+Function: "asin_upward":
+double: 1
+float: 1
+
 Function: "asinh":
 double: 1
 float: 1
@@ -42,6 +57,7 @@ float: 2
 ldouble: 3
 
 Function: "atan2":
+double: 1
 float: 1
 ldouble: 1
 
@@ -66,6 +82,7 @@ float: 1
 ldouble: 1
 
 Function: "atan_towardzero":
+double: 1
 float: 1
 ldouble: 1
 
@@ -74,6 +91,17 @@ double: 1
 float: 1
 ldouble: 1
 
+Function: "atanh":
+double: 1
+
+Function: "atanh_downward":
+double: 1
+float: 1
+
+Function: "atanh_upward":
+double: 1
+float: 1
+
 Function: "cabs":
 double: 1
 ldouble: 1
@@ -147,7 +175,7 @@ ldouble: 4
 
 Function: Imaginary part of "cacosh_downward":
 double: 2
-float: 2
+float: 3
 ldouble: 2
 
 Function: Real part of "cacosh_towardzero":
@@ -166,7 +194,7 @@ float: 5
 ldouble: 4
 
 Function: Imaginary part of "cacosh_upward":
-double: 2
+double: 3
 float: 2
 ldouble: 3
 
@@ -180,6 +208,7 @@ float: 1
 ldouble: 1
 
 Function: "carg_towardzero":
+double: 1
 float: 1
 ldouble: 1
 
@@ -199,7 +228,7 @@ float: 1
 ldouble: 2
 
 Function: Real part of "casin_downward":
-double: 2
+double: 3
 float: 2
 ldouble: 2
 
@@ -209,7 +238,7 @@ float: 3
 ldouble: 4
 
 Function: Real part of "casin_towardzero":
-double: 1
+double: 3
 float: 2
 ldouble: 2
 
@@ -224,7 +253,7 @@ float: 2
 ldouble: 2
 
 Function: Imaginary part of "casin_upward":
-double: 4
+double: 5
 float: 5
 ldouble: 4
 
@@ -244,7 +273,7 @@ float: 3
 ldouble: 4
 
 Function: Imaginary part of "casinh_downward":
-double: 2
+double: 3
 float: 2
 ldouble: 2
 
@@ -254,7 +283,7 @@ float: 3
 ldouble: 4
 
 Function: Imaginary part of "casinh_towardzero":
-double: 1
+double: 3
 float: 2
 ldouble: 2
 
@@ -269,6 +298,8 @@ float: 2
 ldouble: 2
 
 Function: Real part of "catan":
+double: 1
+float: 1
 ldouble: 1
 
 Function: Imaginary part of "catan":
@@ -283,7 +314,7 @@ ldouble: 1
 
 Function: Imaginary part of "catan_downward":
 double: 2
-float: 1
+float: 2
 ldouble: 3
 
 Function: Real part of "catan_towardzero":
@@ -312,11 +343,13 @@ float: 1
 ldouble: 1
 
 Function: Imaginary part of "catanh":
+double: 1
+float: 1
 ldouble: 1
 
 Function: Real part of "catanh_downward":
 double: 2
-float: 1
+float: 2
 ldouble: 3
 
 Function: Imaginary part of "catanh_downward":
@@ -365,60 +398,78 @@ float: 1
 ldouble: 1
 
 Function: Real part of "ccos":
+float: 1
 ldouble: 1
 
 Function: Imaginary part of "ccos":
+float: 1
 ldouble: 1
 
 Function: Real part of "ccos_downward":
 double: 1
+float: 1
 ldouble: 2
 
 Function: Imaginary part of "ccos_downward":
 double: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "ccos_towardzero":
 double: 1
+float: 1
 ldouble: 2
 
 Function: Imaginary part of "ccos_towardzero":
 double: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "ccos_upward":
 double: 1
+float: 1
 ldouble: 2
 
 Function: Imaginary part of "ccos_upward":
 double: 1
+float: 2
 ldouble: 2
 
+Function: Real part of "ccosh":
+float: 1
+
 Function: Imaginary part of "ccosh":
+float: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
 double: 1
+float: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_downward":
 double: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "ccosh_towardzero":
 double: 1
+float: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_towardzero":
 double: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "ccosh_upward":
 double: 1
+float: 2
 ldouble: 2
 
 Function: Imaginary part of "ccosh_upward":
 double: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "cexp":
@@ -449,15 +500,17 @@ ldouble: 3
 
 Function: Real part of "cexp_upward":
 double: 1
+float: 1
 ldouble: 2
 
 Function: Imaginary part of "cexp_upward":
 double: 1
+float: 1
 ldouble: 2
 
 Function: Real part of "clog":
 double: 3
-float: 2
+float: 3
 ldouble: 3
 
 Function: Imaginary part of "clog":
@@ -467,12 +520,12 @@ ldouble: 1
 
 Function: Real part of "clog10":
 double: 2
-float: 2
+float: 3
 ldouble: 3
 
 Function: Imaginary part of "clog10":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "clog10_downward":
@@ -482,17 +535,17 @@ ldouble: 7
 
 Function: Imaginary part of "clog10_downward":
 double: 1
-float: 2
+float: 3
 ldouble: 4
 
 Function: Real part of "clog10_towardzero":
 double: 6
-float: 4
+float: 5
 ldouble: 7
 
 Function: Imaginary part of "clog10_towardzero":
 double: 1
-float: 2
+float: 3
 ldouble: 4
 
 Function: Real part of "clog10_upward":
@@ -502,7 +555,7 @@ ldouble: 6
 
 Function: Imaginary part of "clog10_upward":
 double: 1
-float: 2
+float: 3
 ldouble: 3
 
 Function: Real part of "clog_downward":
@@ -537,6 +590,23 @@ ldouble: 2
 
 Function: "cos":
 double: 1
+float: 6
+
+Function: "cos_downward":
+float: 5
+
+Function: "cos_towardzero":
+float: 5
+
+Function: "cos_upward":
+float: 5
+
+Function: "cosh":
+double: 1
+
+Function: "cosh_upward":
+double: 1
+float: 1
 
 Function: Real part of "cpow":
 double: 1
@@ -578,11 +648,15 @@ float: 1
 ldouble: 2
 
 Function: Real part of "csin":
+float: 1
 ldouble: 1
 
+Function: Imaginary part of "csin":
+float: 1
+
 Function: Real part of "csin_downward":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Imaginary part of "csin_downward":
@@ -592,7 +666,7 @@ ldouble: 1
 
 Function: Real part of "csin_towardzero":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Imaginary part of "csin_towardzero":
@@ -602,7 +676,7 @@ ldouble: 1
 
 Function: Real part of "csin_upward":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Imaginary part of "csin_upward":
@@ -611,8 +685,12 @@ float: 1
 ldouble: 1
 
 Function: Real part of "csinh":
+float: 1
 ldouble: 1
 
+Function: Imaginary part of "csinh":
+float: 1
+
 Function: Real part of "csinh_downward":
 double: 1
 float: 1
@@ -620,7 +698,7 @@ ldouble: 1
 
 Function: Imaginary part of "csinh_downward":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "csinh_towardzero":
@@ -630,7 +708,7 @@ ldouble: 1
 
 Function: Imaginary part of "csinh_towardzero":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "csinh_upward":
@@ -640,37 +718,37 @@ ldouble: 1
 
 Function: Imaginary part of "csinh_upward":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "csqrt":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Imaginary part of "csqrt":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Real part of "csqrt_downward":
 double: 1
-float: 2
+float: 4
 ldouble: 4
 
 Function: Imaginary part of "csqrt_downward":
 double: 1
-float: 2
+float: 3
 ldouble: 3
 
 Function: Real part of "csqrt_towardzero":
 double: 1
-float: 1
+float: 3
 ldouble: 4
 
 Function: Imaginary part of "csqrt_towardzero":
 double: 1
-float: 2
+float: 3
 ldouble: 3
 
 Function: Real part of "csqrt_upward":
@@ -685,7 +763,7 @@ ldouble: 3
 
 Function: Real part of "ctan":
 double: 1
-float: 1
+float: 2
 ldouble: 2
 
 Function: Imaginary part of "ctan":
@@ -699,7 +777,7 @@ float: 2
 ldouble: 2
 
 Function: Imaginary part of "ctan_downward":
-double: 3
+double: 9
 float: 2
 ldouble: 2
 
@@ -709,7 +787,7 @@ float: 2
 ldouble: 2
 
 Function: Imaginary part of "ctan_towardzero":
-double: 3
+double: 9
 float: 2
 ldouble: 4
 
@@ -719,8 +797,8 @@ float: 3
 ldouble: 5
 
 Function: Imaginary part of "ctan_upward":
-double: 1
-float: 1
+double: 9
+float: 2
 ldouble: 7
 
 Function: Real part of "ctanh":
@@ -734,7 +812,7 @@ float: 2
 ldouble: 2
 
 Function: Real part of "ctanh_downward":
-double: 3
+double: 9
 float: 2
 ldouble: 2
 
@@ -744,7 +822,7 @@ float: 2
 ldouble: 2
 
 Function: Real part of "ctanh_towardzero":
-double: 3
+double: 9
 float: 2
 ldouble: 4
 
@@ -754,7 +832,7 @@ float: 1
 ldouble: 2
 
 Function: Real part of "ctanh_upward":
-double: 1
+double: 9
 float: 2
 ldouble: 7
 
@@ -764,31 +842,37 @@ float: 3
 ldouble: 5
 
 Function: "erf":
+double: 1
 float: 1
 ldouble: 1
 
 Function: "erf_downward":
+double: 1
 float: 1
 
 Function: "erf_towardzero":
+double: 1
+float: 1
 ldouble: 1
 
 Function: "erf_upward":
+double: 1
 float: 1
 ldouble: 1
 
 Function: "erfc":
-float: 1
+double: 1
+float: 2
 ldouble: 2
 
 Function: "erfc_downward":
 double: 1
-float: 3
+float: 4
 ldouble: 4
 
 Function: "erfc_towardzero":
 double: 1
-float: 1
+float: 4
 ldouble: 4
 
 Function: "erfc_upward":
@@ -796,26 +880,83 @@ double: 1
 float: 3
 ldouble: 3
 
+Function: "exp10m1":
+double: 1
+float: 1
+
+Function: "exp10m1_downward":
+double: 1
+float: 1
+
+Function: "exp10m1_towardzero":
+double: 1
+float: 1
+
+Function: "exp10m1_upward":
+double: 3
+float: 1
+
 Function: "exp2":
 double: 1
 
-Function: "gamma":
+Function: "exp2_downward":
+double: 1
+
+Function: "exp2_towardzero":
+double: 1
+
+Function: "exp2m1":
+double: 1
 float: 1
-ldouble: 2
 
-Function: "gamma_downward":
+Function: "exp2m1_downward":
+double: 2
+float: 1
+
+Function: "exp2m1_towardzero":
+double: 2
+float: 1
+
+Function: "exp2m1_upward":
 double: 1
 float: 1
-ldouble: 3
 
-Function: "gamma_towardzero":
+Function: "exp_upward":
+double: 1
+
+Function: "expm1":
+double: 1
+
+Function: "expm1_downward":
 double: 1
 float: 1
-ldouble: 3
 
-Function: "gamma_upward":
+Function: "expm1_towardzero":
 double: 1
 float: 1
+
+Function: "expm1_upward":
+double: 1
+float: 1
+
+Function: "gamma":
+double: 3
+float: 7
+ldouble: 2
+
+Function: "gamma_downward":
+double: 3
+float: 7
+ldouble: 3
+
+Function: "gamma_towardzero":
+double: 4
+float: 6
+ldouble: 3
+
+Function: "gamma_upward":
+double: 4
+float: 6
 ldouble: 2
 
 Function: "hypot":
@@ -835,82 +976,157 @@ double: 1
 ldouble: 1
 
 Function: "j0":
-double: 1
-float: 2
+double: 8
+float: 8
 ldouble: 2
 
 Function: "j0_downward":
-double: 4
-float: 3
+double: 7
+float: 8
 ldouble: 4
 
 Function: "j0_towardzero":
 double: 1
-float: 1
+float: 8
 ldouble: 5
 
 Function: "j0_upward":
-double: 2
-float: 3
+double: 7
+float: 9
 ldouble: 5
 
 Function: "j1":
-float: 2
+double: 3
+float: 7
 ldouble: 1
 
 Function: "j1_downward":
-double: 1
-float: 4
+double: 3
+float: 7
 ldouble: 5
 
 Function: "j1_towardzero":
-double: 1
-float: 2
+double: 9
+float: 7
 ldouble: 4
 
 Function: "j1_upward":
-double: 1
-float: 3
+double: 9
+float: 6
 ldouble: 3
 
 Function: "jn":
 double: 2
-float: 2
+float: 5
 ldouble: 4
 
 Function: "jn_downward":
 double: 2
-float: 4
+float: 6
 ldouble: 5
 
 Function: "jn_towardzero":
 double: 2
-float: 3
+float: 6
 ldouble: 5
 
 Function: "jn_upward":
 double: 2
-float: 3
+float: 5
 ldouble: 5
 
 Function: "lgamma":
-float: 1
+double: 3
+float: 7
 ldouble: 2
 
 Function: "lgamma_downward":
-double: 1
-float: 1
+double: 3
+float: 7
 ldouble: 3
 
 Function: "lgamma_towardzero":
-double: 1
-float: 1
+double: 4
+float: 6
 ldouble: 3
 
 Function: "lgamma_upward":
+double: 4
+float: 6
+ldouble: 2
+
+Function: "log10_downward":
+double: 1
+float: 1
+
+Function: "log10_towardzero":
+double: 1
+float: 1
+
+Function: "log10p1":
+double: 1
+float: 2
+
+Function: "log10p1_downward":
+double: 1
+float: 1
+
+Function: "log10p1_towardzero":
+double: 1
+float: 1
+
+Function: "log10p1_upward":
+double: 1
+float: 1
+
+Function: "log1p":
+double: 1
+
+Function: "log1p_downward":
+double: 1
+float: 1
+
+Function: "log1p_towardzero":
+double: 1
+float: 1
+
+Function: "log1p_upward":
+double: 1
+float: 1
+
+Function: "log2":
+double: 1
+
+Function: "log2p1":
+double: 1
+float: 2
+
+Function: "log2p1_downward":
+double: 1
+float: 2
+
+Function: "log2p1_towardzero":
+double: 1
+float: 2
+
+Function: "log2p1_upward":
+double: 1
+float: 2
+
+Function: "logp1":
+double: 1
+
+Function: "logp1_downward":
+double: 1
+float: 1
+
+Function: "logp1_towardzero":
+double: 1
+float: 1
+
+Function: "logp1_upward":
 double: 1
 float: 1
-ldouble: 2
 
 Function: "pow":
 double: 1
@@ -919,7 +1135,7 @@ ldouble: 9
 
 Function: "pow_downward":
 double: 1
-float: 7
+float: 9
 ldouble: 9
 
 Function: "pow_towardzero":
@@ -929,45 +1145,100 @@ ldouble: 4
 
 Function: "pow_upward":
 double: 1
-float: 2
+float: 7
 ldouble: 8
 
 Function: "sin":
 double: 1
 
-Function: "tgamma":
+Function: "sin_downward":
 double: 1
-float: 4
+float: 1
+
+Function: "sin_towardzero":
+double: 1
+float: 1
+
+Function: "sin_upward":
+double: 1
+float: 1
+
+Function: "sincos_downward":
+double: 1
+float: 1
+
+Function: "sincos_towardzero":
+double: 1
+float: 1
+
+Function: "sincos_upward":
+double: 1
+float: 1
+
+Function: "sinh_downward":
+double: 1
+float: 1
+
+Function: "sinh_upward":
+double: 1
+float: 1
+
+Function: "tan_downward":
+double: 1
+float: 1
+
+Function: "tan_upward":
+double: 1
+float: 1
+
+Function: "tanh":
+double: 1
+
+Function: "tanh_downward":
+double: 1
+float: 1
+
+Function: "tanh_towardzero":
+double: 1
+float: 1
+
+Function: "tanh_upward":
+double: 1
+float: 1
+
+Function: "tgamma":
+double: 3
+float: 9
 ldouble: 9
 
 Function: "tgamma_downward":
-double: 2
-float: 3
+double: 3
+float: 9
 ldouble: 9
 
 Function: "tgamma_towardzero":
-double: 2
-float: 4
+double: 3
+float: 9
 ldouble: 9
 
 Function: "tgamma_upward":
-double: 1
-float: 4
+double: 2
+float: 9
 ldouble: 9
 
 Function: "y0":
 double: 1
-float: 1
+float: 4
 ldouble: 1
 
 Function: "y0_downward":
 double: 1
-float: 3
+float: 4
 ldouble: 6
 
 Function: "y0_towardzero":
 double: 1
-float: 2
+float: 4
 ldouble: 5
 
 Function: "y0_upward":
@@ -977,12 +1248,12 @@ ldouble: 3
 
 Function: "y1":
 double: 1
-float: 3
+float: 4
 ldouble: 2
 
 Function: "y1_downward":
 double: 4
-float: 3
+float: 6
 ldouble: 6
 
 Function: "y1_towardzero":
@@ -992,7 +1263,7 @@ ldouble: 5
 
 Function: "y1_upward":
 double: 2
-float: 2
+float: 4
 ldouble: 7
 
 Function: "yn":
@@ -1007,12 +1278,12 @@ ldouble: 6
 
 Function: "yn_towardzero":
 double: 3
-float: 3
+float: 4
 ldouble: 5
 
 Function: "yn_upward":
 double: 3
-float: 3
+float: 4
 ldouble: 4
 
 # end of automatic generation
diff --git a/sysdeps/mach/configure b/sysdeps/mach/configure
index 5779efd1ef..cd21b26df4 100644
--- a/sysdeps/mach/configure
+++ b/sysdeps/mach/configure
@@ -293,6 +293,9 @@ if test "x$mach_interface_list" = x; then
   as_fn_error $? "what manner of Mach is this?" "$LINENO" 5
 fi
 
+
+
+
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5
 printf %s "checking for egrep -e... " >&6; }
 if test ${ac_cv_path_EGREP_TRADITIONAL+y}
@@ -429,7 +432,7 @@ printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; }
 
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for host_page_size in mach_host.defs" >&5
 printf %s "checking for host_page_size in mach_host.defs... " >&6; }
-if test ${libc_cv_mach_host_page_size+y}
+if test ${libc_cv_mach_rpc_host_page_size+y}
 then :
   printf %s "(cached) " >&6
 else case e in #(
@@ -441,22 +444,83 @@ _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   $EGREP_TRADITIONAL "host_page_size" >/dev/null 2>&1
 then :
-  libc_cv_mach_host_page_size=yes
+  libc_cv_mach_rpc_host_page_size=yes
 else case e in #(
-  e) libc_cv_mach_host_page_size=no ;;
+  e) libc_cv_mach_rpc_host_page_size=no ;;
 esac
 fi
 rm -rf conftest*
  ;;
 esac
 fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_host_page_size" >&5
-printf "%s\n" "$libc_cv_mach_host_page_size" >&6; }
-if test $libc_cv_mach_host_page_size = yes; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_rpc_host_page_size" >&5
+printf "%s\n" "$libc_cv_mach_rpc_host_page_size" >&6; }
+if test $libc_cv_mach_rpc_host_page_size = yes; then
   printf "%s\n" "#define HAVE_HOST_PAGE_SIZE 1" >>confdefs.h
 
 fi
 
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for thread_set_name in gnumach.defs" >&5
+printf %s "checking for thread_set_name in gnumach.defs... " >&6; }
+if test ${libc_cv_mach_rpc_thread_set_name+y}
+then :
+  printf %s "(cached) " >&6
+else case e in #(
+  e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <mach/gnumach.defs>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP_TRADITIONAL "thread_set_name" >/dev/null 2>&1
+then :
+  libc_cv_mach_rpc_thread_set_name=yes
+else case e in #(
+  e) libc_cv_mach_rpc_thread_set_name=no ;;
+esac
+fi
+rm -rf conftest*
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_rpc_thread_set_name" >&5
+printf "%s\n" "$libc_cv_mach_rpc_thread_set_name" >&6; }
+if test $libc_cv_mach_rpc_thread_set_name = yes; then
+  printf "%s\n" "#define HAVE_MACH_THREAD_SET_NAME 1" >>confdefs.h
+
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for thread_get_name in gnumach.defs" >&5
+printf %s "checking for thread_get_name in gnumach.defs... " >&6; }
+if test ${libc_cv_mach_rpc_thread_get_name+y}
+then :
+  printf %s "(cached) " >&6
+else case e in #(
+  e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <mach/gnumach.defs>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP_TRADITIONAL "thread_get_name" >/dev/null 2>&1
+then :
+  libc_cv_mach_rpc_thread_get_name=yes
+else case e in #(
+  e) libc_cv_mach_rpc_thread_get_name=no ;;
+esac
+fi
+rm -rf conftest*
+ ;;
+esac
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mach_rpc_thread_get_name" >&5
+printf "%s\n" "$libc_cv_mach_rpc_thread_get_name" >&6; }
+if test $libc_cv_mach_rpc_thread_get_name = yes; then
+  printf "%s\n" "#define HAVE_MACH_THREAD_GET_NAME 1" >>confdefs.h
+
+fi
+
+
 ac_fn_c_check_header_preproc "$LINENO" "mach/machine/ndr_def.h" "ac_cv_header_mach_machine_ndr_def_h"
 if test "x$ac_cv_header_mach_machine_ndr_def_h" = xyes
 then :
diff --git a/sysdeps/mach/configure.ac b/sysdeps/mach/configure.ac
index 730fb25d50..648035e832 100644
--- a/sysdeps/mach/configure.ac
+++ b/sysdeps/mach/configure.ac
@@ -72,14 +72,29 @@ if test "x$mach_interface_list" = x; then
   AC_MSG_ERROR([what manner of Mach is this?])
 fi
 
-AC_CACHE_CHECK(for host_page_size in mach_host.defs,
-	       libc_cv_mach_host_page_size, [dnl
-AC_EGREP_HEADER(host_page_size, mach/mach_host.defs,
-		libc_cv_mach_host_page_size=yes,
-		libc_cv_mach_host_page_size=no)])
-if test $libc_cv_mach_host_page_size = yes; then
-  AC_DEFINE([HAVE_HOST_PAGE_SIZE])
+dnl
+dnl mach_RPC_CHECK(interface.defs, rpc_method, define)
+dnl
+dnl Check if rpc_method RPC is defined by interface.defs
+dnl and define `define`.
+dnl
+AC_DEFUN([mach_RPC_CHECK], [dnl
+AC_CACHE_CHECK(for $2 in $1, libc_cv_mach_rpc_$2, [dnl
+AC_EGREP_HEADER($2, mach/$1,
+		libc_cv_mach_rpc_$2=yes,
+		libc_cv_mach_rpc_$2=no)])
+if test $libc_cv_mach_rpc_$2 = yes; then
+  AC_DEFINE([$3])
 fi
+])
+
+
+mach_RPC_CHECK(mach_host.defs, host_page_size,
+	       HAVE_HOST_PAGE_SIZE)
+mach_RPC_CHECK(gnumach.defs, thread_set_name,
+	       HAVE_MACH_THREAD_SET_NAME)
+mach_RPC_CHECK(gnumach.defs, thread_get_name,
+	       HAVE_MACH_THREAD_GET_NAME)
 
 AC_CHECK_HEADER(mach/machine/ndr_def.h, [dnl
   DEFINES="$DEFINES -DNDR_DEF_HEADER='<mach/machine/ndr_def.h>'"], [dnl
diff --git a/sysdeps/mach/htl/pt-getname-np.c b/sysdeps/mach/htl/pt-getname-np.c
new file mode 100644
index 0000000000..8943474b3d
--- /dev/null
+++ b/sysdeps/mach/htl/pt-getname-np.c
@@ -0,0 +1,67 @@
+/* pthread_getname_np.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library;  if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <hurd.h>
+#include <mach_debug/mach_debug_types.h>
+#include <pthread.h>
+#include <pthreadP.h>
+#include <string.h>
+
+#include <pt-internal.h>
+
+int
+__pthread_getname_np (pthread_t thread, char *buf, size_t len)
+{
+#ifdef HAVE_MACH_THREAD_GET_NAME
+/* GNU Mach doesn't export this so we have to define it ourselves.  */
+#define MACH_THREAD_NAME_MAX 32
+  struct __pthread *pthread;
+  error_t err;
+  kernel_debug_name_t tmp;
+
+  /* Note that we don't check for len to be MACH_THREAD_NAME_MAX
+   * since we want to be more compatible with the Linux API which
+   * requires that the buffer is at least 16 bytes long.
+   *
+   * We check for at least 1 byte since we truncate the result below.  */
+  if (len < 1)
+    return ERANGE;
+  if (len > MACH_THREAD_NAME_MAX)
+    len = MACH_THREAD_NAME_MAX;
+
+  /* Lookup the thread structure for THREAD.  */
+  pthread = __pthread_getid (thread);
+  if (pthread == NULL)
+    return ESRCH;
+
+  /* __thread_get_name expects a buffer of size sizeof (kernel_debug_name_t)
+   * and anything smaller will overflow.  */
+  err = __thread_get_name (pthread->kernel_thread, tmp);
+  if (err != KERN_SUCCESS)
+    return __hurd_fail (err);
+  /* Truncate the source name to fit in the destination buffer.  */
+  tmp[len - 1] = '\0';
+  memcpy (buf, tmp, len);
+
+  return 0;
+#else
+  return ENOTSUP;
+#endif
+}
+
+weak_alias (__pthread_getname_np, pthread_getname_np)
diff --git a/sysdeps/mach/htl/pt-setname-np.c b/sysdeps/mach/htl/pt-setname-np.c
new file mode 100644
index 0000000000..2fd66730e9
--- /dev/null
+++ b/sysdeps/mach/htl/pt-setname-np.c
@@ -0,0 +1,52 @@
+/* pthread_setname_np.  Mach version.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library;  if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <hurd.h>
+#include <pthread.h>
+#include <pthreadP.h>
+#include <string.h>
+
+#include <pt-internal.h>
+
+int
+__pthread_setname_np (pthread_t thread, const char *name)
+{
+#ifdef HAVE_MACH_THREAD_SET_NAME
+/* GNU Mach doesn't export this so we have to define it ourselves.  */
+#define MACH_THREAD_NAME_MAX 32
+  struct __pthread *pthread;
+  error_t err;
+
+  /* Lookup the thread structure for THREAD.  */
+  pthread = __pthread_getid (thread);
+  if (pthread == NULL)
+    return ESRCH;
+
+  if (strlen (name) >= MACH_THREAD_NAME_MAX)
+    return ERANGE;
+
+  err = __thread_set_name (pthread->kernel_thread, name);
+  if (err != KERN_SUCCESS)
+    return __hurd_fail (err);
+  return 0;
+#else
+  return ENOTSUP;
+#endif
+}
+
+weak_alias (__pthread_setname_np, pthread_setname_np)
diff --git a/sysdeps/mach/hurd/htl/pt-pthread_self.c b/sysdeps/mach/hurd/htl/pt-pthread_self.c
index 04fa283aab..d11d0ec676 100644
--- a/sysdeps/mach/hurd/htl/pt-pthread_self.c
+++ b/sysdeps/mach/hurd/htl/pt-pthread_self.c
@@ -17,6 +17,14 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pt-sysdep.h>
+#include <pt-internal.h>
 
-__thread struct __pthread *___pthread_self;
+/* Initial thread structure used before libpthread is initialized, so various
+ * functions can already work at least basically.  */
+struct __pthread __pthread_init_thread = {
+	.thread = 1,
+};
+libc_hidden_def (__pthread_init_thread)
+
+__thread struct __pthread *___pthread_self = &__pthread_init_thread;
 libc_hidden_tls_def (___pthread_self)
diff --git a/sysdeps/mach/hurd/htl/pt-sysdep.c b/sysdeps/mach/hurd/htl/pt-sysdep.c
index 5372cbf77f..f5c1c246eb 100644
--- a/sysdeps/mach/hurd/htl/pt-sysdep.c
+++ b/sysdeps/mach/hurd/htl/pt-sysdep.c
@@ -26,10 +26,6 @@
 #include <pt-internal.h>
 #include <pthreadP.h>
 
-/* Initial thread structure used temporarily during initialization, so various
- * functions can already work at least basically.  */
-static struct __pthread init_thread;
-
 static void
 reset_pthread_total (void)
 {
@@ -51,10 +47,6 @@ _init_routine (void *stack)
     /* Already initialized */
     return;
 
-  /* Initialize early thread structure.  */
-  init_thread.thread = 1;
-  ___pthread_self = &init_thread;
-
   /* Initialize the library.  */
   ___pthread_init ();
 
@@ -116,9 +108,9 @@ _init_routine (void *stack)
 #endif
 
   /* Copy over the thread-specific state */
-  assert (!init_thread.thread_specifics);
+  assert (!__pthread_init_thread.thread_specifics);
   memcpy (&thread->static_thread_specifics,
-          &init_thread.static_thread_specifics,
+          &__pthread_init_thread.static_thread_specifics,
           sizeof (thread->static_thread_specifics));
 
   ___pthread_self = thread;
diff --git a/sysdeps/mach/hurd/htl/pt-sysdep.h b/sysdeps/mach/hurd/htl/pt-sysdep.h
index 09d9547a8e..8e94395be7 100644
--- a/sysdeps/mach/hurd/htl/pt-sysdep.h
+++ b/sysdeps/mach/hurd/htl/pt-sysdep.h
@@ -34,6 +34,8 @@
 
 extern __thread struct __pthread *___pthread_self;
 libc_hidden_tls_proto (___pthread_self)
+extern struct __pthread __pthread_init_thread;
+libc_hidden_proto (__pthread_init_thread)
 
 #ifdef DEBUG
 #define _pthread_self()                                            \
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 2adf98e71d..dc2c6b505b 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -29,7 +29,17 @@ GLIBC_2.11 mkostemps64 F
 GLIBC_2.11 mkstemps F
 GLIBC_2.11 mkstemps64 F
 GLIBC_2.12 __pthread_self F
+GLIBC_2.12 pthread_attr_getdetachstate F
+GLIBC_2.12 pthread_attr_getinheritsched F
+GLIBC_2.12 pthread_attr_getschedparam F
+GLIBC_2.12 pthread_attr_getschedpolicy F
+GLIBC_2.12 pthread_attr_setdetachstate F
+GLIBC_2.12 pthread_attr_setinheritsched F
+GLIBC_2.12 pthread_attr_setschedpolicy F
+GLIBC_2.12 pthread_equal F
+GLIBC_2.12 pthread_getschedparam F
 GLIBC_2.12 pthread_self F
+GLIBC_2.12 pthread_setschedparam F
 GLIBC_2.13 __fentry__ F
 GLIBC_2.14 syncfs F
 GLIBC_2.15 __fdelt_chk F
diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist
index fa90cc6597..3ea7cb41fa 100644
--- a/sysdeps/mach/hurd/i386/libpthread.abilist
+++ b/sysdeps/mach/hurd/i386/libpthread.abilist
@@ -164,3 +164,5 @@ GLIBC_2.32 tss_create F
 GLIBC_2.32 tss_delete F
 GLIBC_2.32 tss_get F
 GLIBC_2.32 tss_set F
+GLIBC_2.40 pthread_getname_np F
+GLIBC_2.40 pthread_setname_np F
diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist
index 80615d16ee..69999df5bb 100644
--- a/sysdeps/mach/hurd/x86_64/libpthread.abilist
+++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist
@@ -163,3 +163,5 @@ GLIBC_2.38 tss_create F
 GLIBC_2.38 tss_delete F
 GLIBC_2.38 tss_get F
 GLIBC_2.38 tss_set F
+GLIBC_2.40 pthread_getname_np F
+GLIBC_2.40 pthread_setname_np F
diff --git a/sysdeps/mach/sleep.c b/sysdeps/mach/sleep.c
index 572be150bc..aa750c13c5 100644
--- a/sysdeps/mach/sleep.c
+++ b/sysdeps/mach/sleep.c
@@ -43,6 +43,9 @@ __sleep (unsigned int seconds)
   after = time_now ();
   __mach_port_destroy (__mach_task_self (), recv);
 
+  if (after - before > seconds)
+    return 0;
+
   return seconds - (after - before);
 }
 weak_alias (__sleep, sleep)
diff --git a/sysdeps/mips/Makefile b/sysdeps/mips/Makefile
index d770e59fc9..d189973aa0 100644
--- a/sysdeps/mips/Makefile
+++ b/sysdeps/mips/Makefile
@@ -23,6 +23,15 @@ ASFLAGS-.o += $(pie-default)
 ASFLAGS-.op += $(pie-default)
 
 ifeq ($(subdir),elf)
+
+# These tests fail on all mips configurations (BZ 29404)
+test-xfail-tst-audit24a = yes
+test-xfail-tst-audit24b = yes
+test-xfail-tst-audit24c = yes
+test-xfail-tst-audit24d = yes
+test-xfail-tst-audit25a = yes
+test-xfail-tst-audit25b = yes
+
 ifneq ($(o32-fpabi),)
 tests += tst-abi-interlink
 
diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps
index 1c27b6615b..d95230724b 100644
--- a/sysdeps/mips/mips32/libm-test-ulps
+++ b/sysdeps/mips/mips32/libm-test-ulps
@@ -778,20 +778,20 @@ double: 2
 float: 1
 
 Function: "exp10m1":
-double: 2
-float: 1
+double: 3
+float: 2
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
+double: 3
+float: 3
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
+double: 2
+float: 3
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
+double: 4
+float: 4
 
 Function: "exp2":
 double: 1
@@ -810,20 +810,20 @@ double: 1
 float: 1
 
 Function: "exp2m1":
-double: 1
-float: 1
+double: 2
+float: 2
 
 Function: "exp2m1_downward":
-double: 2
-float: 1
+double: 3
+float: 3
 
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
+double: 3
+float: 2
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
+double: 3
+float: 3
 
 Function: "exp_downward":
 double: 1
@@ -967,19 +967,19 @@ float: 2
 
 Function: "log10p1":
 double: 1
-float: 1
+float: 2
 
 Function: "log10p1_downward":
 double: 2
-float: 1
+float: 3
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
 
 Function: "log10p1_upward":
 double: 2
-float: 1
+float: 3
 
 Function: "log1p":
 double: 1
@@ -1015,7 +1015,7 @@ float: 3
 
 Function: "log2p1":
 double: 1
-float: 1
+float: 2
 ldouble: 1
 
 Function: "log2p1_downward":
@@ -1029,7 +1029,7 @@ float: 2
 ldouble: 2
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
 ldouble: 1
 
diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps
index 902551b448..ce33d9b4b3 100644
--- a/sysdeps/mips/mips64/libm-test-ulps
+++ b/sysdeps/mips/mips64/libm-test-ulps
@@ -977,24 +977,24 @@ float: 1
 ldouble: 3
 
 Function: "exp10m1":
-double: 2
-float: 1
-ldouble: 1
+double: 3
+float: 2
+ldouble: 3
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-ldouble: 3
+double: 3
+float: 3
+ldouble: 6
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-ldouble: 3
+double: 2
+float: 3
+ldouble: 6
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-ldouble: 3
+double: 4
+float: 4
+ldouble: 6
 
 Function: "exp2":
 double: 1
@@ -1017,24 +1017,24 @@ float: 1
 ldouble: 2
 
 Function: "exp2m1":
-double: 1
-float: 1
-ldouble: 1
-
-Function: "exp2m1_downward":
 double: 2
-float: 1
+float: 2
 ldouble: 2
 
+Function: "exp2m1_downward":
+double: 3
+float: 3
+ldouble: 3
+
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-ldouble: 2
+double: 3
+float: 2
+ldouble: 4
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 5
 
 Function: "exp_downward":
 double: 1
@@ -1212,23 +1212,23 @@ ldouble: 1
 
 Function: "log10p1":
 double: 1
-float: 1
+float: 2
 ldouble: 3
 
 Function: "log10p1_downward":
 double: 2
-float: 1
-ldouble: 2
+float: 3
+ldouble: 4
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log10p1_upward":
 double: 2
-float: 1
-ldouble: 3
+float: 3
+ldouble: 4
 
 Function: "log1p":
 double: 1
@@ -1272,7 +1272,7 @@ ldouble: 1
 
 Function: "log2p1":
 double: 1
-float: 1
+float: 2
 ldouble: 3
 
 Function: "log2p1_downward":
@@ -1286,9 +1286,9 @@ float: 2
 ldouble: 2
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log_downward":
 float: 2
diff --git a/sysdeps/nptl/cancellation-pc-check.h b/sysdeps/nptl/cancellation-pc-check.h
new file mode 100644
index 0000000000..cb38ad6819
--- /dev/null
+++ b/sysdeps/nptl/cancellation-pc-check.h
@@ -0,0 +1,54 @@
+/* Architecture specific code for pthread cancellation handling.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _NPTL_CANCELLATION_PC_CHECK
+#define _NPTL_CANCELLATION_PC_CHECK
+
+#include <sigcontextinfo.h>
+
+/* For syscalls with side-effects (e.g read that might return partial read),
+   the kernel cannot restart the syscall when interrupted by a signal, it must
+   return from the call with whatever partial result.  In this case, the saved
+   program counter is set just after the syscall instruction, so the SIGCANCEL
+   handler should not act on cancellation.
+
+   The __syscall_cancel_arch function, used for all cancellable syscalls,
+   contains two extra markers, __syscall_cancel_arch_start and
+   __syscall_cancel_arch_end.  The former points to just before the initial
+   conditional branch that checks if the thread has received a cancellation
+   request, while former points to the instruction after the one responsible
+   to issue the syscall.
+
+   The function check if the program counter (PC) from ucontext_t CTX is
+   within the start and then end boundary from the __syscall_cancel_arch
+   bridge.  Return TRUE if the PC is within the boundary, meaning the
+   syscall does not have any side effects; or FALSE otherwise.  */
+
+static __always_inline bool
+cancellation_pc_check (void *ctx)
+{
+  /* Both are defined in syscall_cancel.S.  */
+  extern const char __syscall_cancel_arch_start[1];
+  extern const char __syscall_cancel_arch_end[1];
+
+  uintptr_t pc = sigcontext_get_pc (ctx);
+  return pc >= (uintptr_t) __syscall_cancel_arch_start
+	 && pc < (uintptr_t) __syscall_cancel_arch_end;
+}
+
+#endif
diff --git a/sysdeps/nptl/dl-tls_init_tp.c b/sysdeps/nptl/dl-tls_init_tp.c
index 7eb35fb133..7803e19fd1 100644
--- a/sysdeps/nptl/dl-tls_init_tp.c
+++ b/sysdeps/nptl/dl-tls_init_tp.c
@@ -46,10 +46,6 @@ rtld_mutex_dummy (pthread_mutex_t *lock)
 
 const unsigned int __rseq_flags;
 
-/* The variables are in .data.relro but are not yet write-protected.  */
-extern unsigned int _rseq_size attribute_hidden;
-extern ptrdiff_t _rseq_offset attribute_hidden;
-
 void
 __tls_pre_init_tp (void)
 {
@@ -106,9 +102,7 @@ __tls_init_tp (void)
     bool do_rseq = true;
     do_rseq = TUNABLE_GET (rseq, int, NULL);
     if (rseq_register_current_thread (pd, do_rseq))
-      {
-        _rseq_size = sizeof (pd->rseq_area);
-      }
+      _rseq_size = RSEQ_AREA_SIZE_INITIAL_USED;
 
 #ifdef RSEQ_SIG
     /* This should be a compile-time constant, but the current
diff --git a/sysdeps/nptl/lowlevellock-futex.h b/sysdeps/nptl/lowlevellock-futex.h
index 278213a37b..c205806300 100644
--- a/sysdeps/nptl/lowlevellock-futex.h
+++ b/sysdeps/nptl/lowlevellock-futex.h
@@ -21,7 +21,6 @@
 
 #ifndef __ASSEMBLER__
 # include <sysdep.h>
-# include <sysdep-cancel.h>
 # include <kernel-features.h>
 #endif
 
@@ -120,21 +119,10 @@
 		     nr_wake, nr_move, mutex, val)
 
 /* Like lll_futex_wait, but acting as a cancellable entrypoint.  */
-# define lll_futex_wait_cancel(futexp, val, private) \
-  ({                                                                   \
-    int __oldtype = LIBC_CANCEL_ASYNC ();			       \
-    long int __err = lll_futex_wait (futexp, val, LLL_SHARED);	       \
-    LIBC_CANCEL_RESET (__oldtype);				       \
-    __err;							       \
-  })
-
-/* Like lll_futex_timed_wait, but acting as a cancellable entrypoint.  */
-# define lll_futex_timed_wait_cancel(futexp, val, timeout, private) \
-  ({									   \
-    int __oldtype = LIBC_CANCEL_ASYNC ();			       	   \
-    long int __err = lll_futex_timed_wait (futexp, val, timeout, private); \
-    LIBC_CANCEL_RESET (__oldtype);					   \
-    __err;								   \
+# define lll_futex_wait_cancel(futexp, val, private)			\
+  ({									\
+     int __op = __lll_private_flag (FUTEX_WAIT, private);		\
+     INTERNAL_SYSCALL_CANCEL (futex, futexp, __op, val, NULL);		\
   })
 
 #endif  /* !__ASSEMBLER__  */
diff --git a/sysdeps/nptl/pthreadP.h b/sysdeps/nptl/pthreadP.h
index 30e8a2d177..7d9b95e6ac 100644
--- a/sysdeps/nptl/pthreadP.h
+++ b/sysdeps/nptl/pthreadP.h
@@ -261,10 +261,12 @@ libc_hidden_proto (__pthread_unregister_cancel)
 /* Called when a thread reacts on a cancellation request.  */
 static inline void
 __attribute ((noreturn, always_inline))
-__do_cancel (void)
+__do_cancel (void *result)
 {
   struct pthread *self = THREAD_SELF;
 
+  self->result = result;
+
   /* Make sure we get no more cancellations.  */
   atomic_fetch_or_relaxed (&self->cancelhandling, EXITING_BITMASK);
 
@@ -272,6 +274,13 @@ __do_cancel (void)
 		    THREAD_GETMEM (self, cleanup_jmp_buf));
 }
 
+extern long int __syscall_cancel_arch (volatile int *, __syscall_arg_t nr,
+     __syscall_arg_t arg1, __syscall_arg_t arg2, __syscall_arg_t arg3,
+     __syscall_arg_t arg4, __syscall_arg_t arg5, __syscall_arg_t arg6
+     __SYSCALL_CANCEL7_ARCH_ARG_DEF) attribute_hidden;
+
+extern _Noreturn void __syscall_do_cancel (void) attribute_hidden;
+
 
 /* Internal prototypes.  */
 
diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps
index c6292a695b..2b5d2b940d 100644
--- a/sysdeps/powerpc/fpu/libm-test-ulps
+++ b/sysdeps/powerpc/fpu/libm-test-ulps
@@ -1185,28 +1185,28 @@ float128: 3
 ldouble: 4
 
 Function: "exp10m1":
-double: 2
-float: 1
-float128: 1
-ldouble: 2
+double: 4
+float: 2
+float128: 3
+ldouble: 4
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-float128: 3
+double: 3
+float: 3
+float128: 6
 ldouble: 9
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-float128: 3
+double: 2
+float: 3
+float128: 6
 ldouble: 9
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-float128: 3
-ldouble: 4
+double: 5
+float: 3
+float128: 6
+ldouble: 8
 
 Function: "exp2":
 double: 1
@@ -1230,28 +1230,28 @@ float128: 2
 ldouble: 2
 
 Function: "exp2m1":
-double: 1
-float: 1
-float128: 1
-ldouble: 2
-
-Function: "exp2m1_downward":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
 ldouble: 3
 
+Function: "exp2m1_downward":
+double: 3
+float: 3
+float128: 3
+ldouble: 7
+
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-float128: 2
-ldouble: 3
+double: 3
+float: 2
+float128: 4
+ldouble: 8
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-float128: 2
-ldouble: 3
+double: 3
+float: 3
+float128: 5
+ldouble: 9
 
 Function: "exp_downward":
 double: 1
@@ -1507,28 +1507,28 @@ float128: 1
 ldouble: 2
 
 Function: "log10p1":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
 ldouble: 3
 
 Function: "log10p1_downward":
 double: 2
-float: 1
-float128: 2
-ldouble: 4
+float: 3
+float128: 4
+ldouble: 6
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
-float128: 2
-ldouble: 4
+float128: 3
+ldouble: 6
 
 Function: "log10p1_upward":
 double: 2
-float: 1
-float128: 3
-ldouble: 4
+float: 3
+float128: 4
+ldouble: 6
 
 Function: "log1p":
 double: 1
@@ -1579,8 +1579,8 @@ float128: 1
 ldouble: 4
 
 Function: "log2p1":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
 ldouble: 2
 
@@ -1594,13 +1594,13 @@ Function: "log2p1_towardzero":
 double: 2
 float: 2
 float128: 2
-ldouble: 4
+ldouble: 5
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
-float128: 2
-ldouble: 4
+float128: 3
+ldouble: 6
 
 Function: "log_downward":
 float: 2
diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps
index 94d737a400..d56327ac33 100644
--- a/sysdeps/powerpc/nofpu/libm-test-ulps
+++ b/sysdeps/powerpc/nofpu/libm-test-ulps
@@ -918,6 +918,9 @@ ldouble: 10
 Function: "div_ldouble":
 float: 1
 
+Function: "div_towardzero_ldouble":
+double: 1
+
 Function: "erf":
 double: 1
 float: 1
@@ -982,6 +985,26 @@ double: 2
 float: 1
 ldouble: 4
 
+Function: "exp10m1":
+double: 3
+float: 2
+ldouble: 3
+
+Function: "exp10m1_downward":
+double: 3
+float: 3
+ldouble: 9
+
+Function: "exp10m1_towardzero":
+double: 2
+float: 3
+ldouble: 9
+
+Function: "exp10m1_upward":
+double: 4
+float: 4
+ldouble: 10
+
 Function: "exp2":
 double: 1
 float: 1
@@ -1002,6 +1025,26 @@ double: 1
 float: 1
 ldouble: 2
 
+Function: "exp2m1":
+double: 2
+float: 2
+ldouble: 2
+
+Function: "exp2m1_downward":
+double: 3
+float: 3
+ldouble: 7
+
+Function: "exp2m1_towardzero":
+double: 3
+float: 2
+ldouble: 8
+
+Function: "exp2m1_upward":
+double: 3
+float: 3
+ldouble: 9
+
 Function: "exp_downward":
 double: 1
 float: 1
@@ -1043,12 +1086,28 @@ ldouble: 1
 Function: "fma_downward":
 ldouble: 1
 
+Function: "fma_downward_ldouble":
+double: 1
+float: 1
+
+Function: "fma_ldouble":
+double: 1
+float: 1
+
 Function: "fma_towardzero":
 ldouble: 2
 
+Function: "fma_towardzero_ldouble":
+double: 1
+float: 1
+
 Function: "fma_upward":
 ldouble: 3
 
+Function: "fma_upward_ldouble":
+double: 1
+float: 1
+
 Function: "fmod":
 ldouble: 1
 
@@ -1083,6 +1142,7 @@ ldouble: 11
 
 Function: "hypot":
 double: 1
+float: 1
 ldouble: 1
 
 Function: "hypot_downward":
@@ -1207,6 +1267,26 @@ double: 2
 float: 2
 ldouble: 2
 
+Function: "log10p1":
+double: 1
+float: 2
+ldouble: 3
+
+Function: "log10p1_downward":
+double: 2
+float: 3
+ldouble: 6
+
+Function: "log10p1_towardzero":
+double: 3
+float: 2
+ldouble: 6
+
+Function: "log10p1_upward":
+double: 2
+float: 3
+ldouble: 6
+
 Function: "log1p":
 double: 1
 float: 1
@@ -1247,6 +1327,26 @@ double: 3
 float: 3
 ldouble: 4
 
+Function: "log2p1":
+double: 1
+float: 2
+ldouble: 2
+
+Function: "log2p1_downward":
+double: 2
+float: 2
+ldouble: 4
+
+Function: "log2p1_towardzero":
+double: 2
+float: 2
+ldouble: 5
+
+Function: "log2p1_upward":
+double: 2
+float: 2
+ldouble: 6
+
 Function: "log_downward":
 float: 2
 ldouble: 1
@@ -1406,6 +1506,9 @@ ldouble: 1
 Function: "sqrt_downward":
 ldouble: 1
 
+Function: "sqrt_ldouble":
+double: 1
+
 Function: "sqrt_towardzero":
 ldouble: 1
 
diff --git a/sysdeps/powerpc/powerpc32/sysdep.h b/sysdeps/powerpc/powerpc32/sysdep.h
index 62de4ca2e5..852a755c7c 100644
--- a/sysdeps/powerpc/powerpc32/sysdep.h
+++ b/sysdeps/powerpc/powerpc32/sysdep.h
@@ -104,6 +104,9 @@ GOT_LABEL:			;					      \
 # define JUMPTARGET(name) name
 #endif
 
+#define TAIL_CALL_NO_RETURN(__func) \
+    b __func@local
+
 #if defined SHARED && defined PIC && !defined NO_HIDDEN
 # undef HIDDEN_JUMPTARGET
 # define HIDDEN_JUMPTARGET(name) __GI_##name##@local
diff --git a/sysdeps/powerpc/powerpc64/le/power9/strcpy.S b/sysdeps/powerpc/powerpc64/le/power9/strcpy.S
index 603bde1e39..2f50625a19 100644
--- a/sysdeps/powerpc/powerpc64/le/power9/strcpy.S
+++ b/sysdeps/powerpc/powerpc64/le/power9/strcpy.S
@@ -42,22 +42,48 @@
 
    if USE_AS_STPCPY is defined.
 
-   The implementation can load bytes past a null terminator, but only
-   up to the next 16B boundary, so it never crosses a page.  */
+   This implementation never reads across a page boundary, but may
+   read beyond the NUL terminator.  */
 
-/* Load quadword at addr+offset to vreg, check for null bytes,
+/* Load 4 quadwords, merge into one VR for speed and check for NUL
+   and branch to label if NUL is found.  */
+#define CHECK_64B(offset,addr,label)		\
+	lxv	32+v4,(offset+0)(addr);		\
+	lxv	32+v5,(offset+16)(addr);	\
+	lxv	32+v6,(offset+32)(addr);	\
+	lxv	32+v7,(offset+48)(addr);	\
+	vminub	v14,v4,v5;			\
+	vminub	v15,v6,v7;			\
+	vminub	v16,v14,v15;			\
+	vcmpequb.	v0,v16,v18;		\
+	beq	cr6,$+12;			\
+	li	r7,offset;			\
+	b	L(label);			\
+	stxv	32+v4,(offset+0)(r11);		\
+	stxv	32+v5,(offset+16)(r11);		\
+	stxv	32+v6,(offset+32)(r11);		\
+	stxv	32+v7,(offset+48)(r11)
+
+/* Load quadword at addr+offset to vreg, check for NUL bytes,
    and branch to label if any are found.  */
-#define CHECK16(vreg,offset,addr,label) \
-	lxv	vreg+32,offset(addr);	\
-	vcmpequb. v6,vreg,v18;	\
+#define CHECK_16B(vreg,offset,addr,label)	\
+	lxv	vreg+32,offset(addr);		\
+	vcmpequb.	v15,vreg,v18;		\
 	bne	cr6,L(label);
 
-.machine power9
+/* Store vreg2 with length if NUL is found.  */
+#define STORE_WITH_LEN(vreg1,vreg2,reg)	\
+	vctzlsbb	r8,vreg1;		\
+	addi	r9,r8,1;			\
+	sldi	r9,r9,56;			\
+	stxvl	32+vreg2,reg,r9;
+
+.machine	power9
 ENTRY_TOCLESS (FUNC_NAME, 4)
 	CALL_MCOUNT 2
 
-	vspltisb v18,0		/* Zeroes in v18  */
-	vspltisb v19,-1 	/* 0xFF bytes in v19  */
+	vspltisb	v18,0		/* Zeroes in v18.  */
+	vspltisb	v19,-1		/* 0xFF bytes in v19.  */
 
 	/* Next 16B-aligned address. Prepare address for L(loop).  */
 	addi	r5,r4,16
@@ -70,14 +96,11 @@ ENTRY_TOCLESS (FUNC_NAME, 4)
 	lvsr	v1,0,r4
 	vperm	v0,v19,v0,v1
 
-	vcmpequb. v6,v0,v18	/* 0xff if byte is NULL, 0x00 otherwise  */
+	vcmpequb.	v6,v0,v18	/* 0xff if byte is NUL, 0x00 otherwise.  */
 	beq	cr6,L(no_null)
 
-	/* There's a null byte.  */
-	vctzlsbb r8,v6		/* Number of trailing zeroes  */
-	addi	r9,r8,1 	/* Add null byte.  */
-	sldi	r10,r9,56	/* stxvl wants size in top 8 bits.  */
-	stxvl	32+v0,r3,r10	/* Partial store  */
+	/* There's a NUL byte.  */
+	STORE_WITH_LEN(v6,v0,r3)
 
 #ifdef USE_AS_STPCPY
 	/* stpcpy returns the dest address plus the size not counting the
@@ -87,17 +110,22 @@ ENTRY_TOCLESS (FUNC_NAME, 4)
 	blr
 
 L(no_null):
-	sldi	r10,r8,56	/* stxvl wants size in top 8 bits  */
-	stxvl	32+v0,r3,r10	/* Partial store  */
+	sldi	r10,r8,56	/* stxvl wants size in top 8 bits.  */
+	stxvl	32+v0,r3,r10	/* Partial store.  */
 
+/* The main loop is optimized for longer strings(> 512 bytes),
+   so checking the first bytes in 16B chunks benefits shorter
+   strings a lot.  */
 	.p2align 4
-L(loop):
-	CHECK16(v0,0,r5,tail1)
-	CHECK16(v1,16,r5,tail2)
-	CHECK16(v2,32,r5,tail3)
-	CHECK16(v3,48,r5,tail4)
-	CHECK16(v4,64,r5,tail5)
-	CHECK16(v5,80,r5,tail6)
+L(aligned):
+	CHECK_16B(v0,0,r5,tail1)
+	CHECK_16B(v1,16,r5,tail2)
+	CHECK_16B(v2,32,r5,tail3)
+	CHECK_16B(v3,48,r5,tail4)
+	CHECK_16B(v4,64,r5,tail5)
+	CHECK_16B(v5,80,r5,tail6)
+	CHECK_16B(v6,96,r5,tail7)
+	CHECK_16B(v7,112,r5,tail8)
 
 	stxv	32+v0,0(r11)
 	stxv	32+v1,16(r11)
@@ -105,21 +133,146 @@ L(loop):
 	stxv	32+v3,48(r11)
 	stxv	32+v4,64(r11)
 	stxv	32+v5,80(r11)
+	stxv	32+v6,96(r11)
+	stxv	32+v7,112(r11)
 
-	addi	r5,r5,96
-	addi	r11,r11,96
+	addi	r11,r11,128
+
+	CHECK_16B(v0,128,r5,tail1)
+	CHECK_16B(v1,128+16,r5,tail2)
+	CHECK_16B(v2,128+32,r5,tail3)
+	CHECK_16B(v3,128+48,r5,tail4)
+	CHECK_16B(v4,128+64,r5,tail5)
+	CHECK_16B(v5,128+80,r5,tail6)
+	CHECK_16B(v6,128+96,r5,tail7)
+	CHECK_16B(v7,128+112,r5,tail8)
+
+	stxv	32+v0,0(r11)
+	stxv	32+v1,16(r11)
+	stxv	32+v2,32(r11)
+	stxv	32+v3,48(r11)
+	stxv	32+v4,64(r11)
+	stxv	32+v5,80(r11)
+	stxv	32+v6,96(r11)
+	stxv	32+v7,112(r11)
+
+	addi	r11,r11,128
+
+	CHECK_16B(v0,256,r5,tail1)
+	CHECK_16B(v1,256+16,r5,tail2)
+	CHECK_16B(v2,256+32,r5,tail3)
+	CHECK_16B(v3,256+48,r5,tail4)
+	CHECK_16B(v4,256+64,r5,tail5)
+	CHECK_16B(v5,256+80,r5,tail6)
+	CHECK_16B(v6,256+96,r5,tail7)
+	CHECK_16B(v7,256+112,r5,tail8)
+
+	stxv	32+v0,0(r11)
+	stxv	32+v1,16(r11)
+	stxv	32+v2,32(r11)
+	stxv	32+v3,48(r11)
+	stxv	32+v4,64(r11)
+	stxv	32+v5,80(r11)
+	stxv	32+v6,96(r11)
+	stxv	32+v7,112(r11)
+
+	addi	r11,r11,128
+
+	CHECK_16B(v0,384,r5,tail1)
+	CHECK_16B(v1,384+16,r5,tail2)
+	CHECK_16B(v2,384+32,r5,tail3)
+	CHECK_16B(v3,384+48,r5,tail4)
+	CHECK_16B(v4,384+64,r5,tail5)
+	CHECK_16B(v5,384+80,r5,tail6)
+	CHECK_16B(v6,384+96,r5,tail7)
+	CHECK_16B(v7,384+112,r5,tail8)
+
+	stxv	32+v0,0(r11)
+	stxv	32+v1,16(r11)
+	stxv	32+v2,32(r11)
+	stxv	32+v3,48(r11)
+	stxv	32+v4,64(r11)
+	stxv	32+v5,80(r11)
+	stxv	32+v6,96(r11)
+	stxv	32+v7,112(r11)
+
+	/* Align src pointer down to a 64B boundary.  */
+	addi	r5,r4,512
+	clrrdi	r5,r5,6
+	subf	r7,r4,r5
+	add	r11,r3,r7
+
+/* Switch to a more aggressive approach checking 64B each time.  */
+	.p2align 5
+L(strcpy_loop):
+	CHECK_64B(0,r5,tail_64b)
+	CHECK_64B(64,r5,tail_64b)
+	CHECK_64B(128,r5,tail_64b)
+	CHECK_64B(192,r5,tail_64b)
+
+	CHECK_64B(256,r5,tail_64b)
+	CHECK_64B(256+64,r5,tail_64b)
+	CHECK_64B(256+128,r5,tail_64b)
+	CHECK_64B(256+192,r5,tail_64b)
+	addi	r5,r5,512
+	addi	r11,r11,512
+
+	b	L(strcpy_loop)
+
+	.p2align 5
+L(tail_64b):
+	/* OK, we found a NUL byte.  Let's look for it in the current 64-byte
+	   block and mark it in its corresponding VR.  */
+	add	r11,r11,r7
+	vcmpequb.	v8,v4,v18
+	beq	cr6,L(no_null_16B)
+	/* There's a NUL byte.  */
+	STORE_WITH_LEN(v8,v4,r11)
+#ifdef USE_AS_STPCPY
+	add	r3,r11,r8
+#endif
+	blr
+
+L(no_null_16B):
+	stxv	32+v4,0(r11)
+	vcmpequb.	v8,v5,v18
+	beq	cr6,L(no_null_32B)
+	/* There's a NUL byte.  */
+	addi	r11,r11,16
+	STORE_WITH_LEN(v8,v5,r11)
+#ifdef USE_AS_STPCPY
+	add	r3,r11,r8
+#endif
+	blr
 
-	b	L(loop)
+L(no_null_32B):
+	stxv	32+v5,16(r11)
+	vcmpequb.	v8,v6,v18
+	beq	cr6,L(no_null_48B)
+	/* There's a NUL byte.  */
+	addi	r11,r11,32
+	STORE_WITH_LEN(v8,v6,r11)
+#ifdef USE_AS_STPCPY
+	add	r3,r11,r8
+#endif
+	blr
+
+L(no_null_48B):
+	stxv	32+v6,32(r11)
+	vcmpequb.	v8,v7,v18;
+	/* There's a NUL byte.  */
+	addi	r11,r11,48
+	STORE_WITH_LEN(v8,v7,r11)
+#ifdef USE_AS_STPCPY
+	add	r3,r11,r8
+#endif
+	blr
 
 	.p2align 4
 L(tail1):
-	vctzlsbb r8,v6		/* Number of trailing zeroes  */
-	addi	r9,r8,1		/* Add null terminator  */
-	sldi	r9,r9,56	/* stxvl wants size in top 8 bits  */
-	stxvl	32+v0,r11,r9	/* Partial store  */
+	/* There's a NUL byte.  */
+	STORE_WITH_LEN(v15,v0,r11)
 #ifdef USE_AS_STPCPY
-	/* stpcpy returns the dest address plus the size not counting the
-	   final '\0'.  */
 	add	r3,r11,r8
 #endif
 	blr
@@ -127,11 +280,9 @@ L(tail1):
 	.p2align 4
 L(tail2):
 	stxv	32+v0,0(r11)
-	vctzlsbb r8,v6
-	addi	r9,r8,1
-	sldi	r9,r9,56
+	/* There's a NUL byte.  */
 	addi	r11,r11,16
-	stxvl	32+v1,r11,r9
+	STORE_WITH_LEN(v15,v1,r11)
 #ifdef USE_AS_STPCPY
 	add	r3,r11,r8
 #endif
@@ -141,11 +292,8 @@ L(tail2):
 L(tail3):
 	stxv	32+v0,0(r11)
 	stxv	32+v1,16(r11)
-	vctzlsbb r8,v6
-	addi	r9,r8,1
-	sldi	r9,r9,56
 	addi	r11,r11,32
-	stxvl	32+v2,r11,r9
+	STORE_WITH_LEN(v15,v2,r11)
 #ifdef USE_AS_STPCPY
 	add	r3,r11,r8
 #endif
@@ -156,11 +304,8 @@ L(tail4):
 	stxv	32+v0,0(r11)
 	stxv	32+v1,16(r11)
 	stxv	32+v2,32(r11)
-	vctzlsbb r8,v6
-	addi	r9,r8,1
-	sldi	r9,r9,56
 	addi	r11,r11,48
-	stxvl	32+v3,r11,r9
+	STORE_WITH_LEN(v15,v3,r11)
 #ifdef USE_AS_STPCPY
 	add	r3,r11,r8
 #endif
@@ -172,11 +317,8 @@ L(tail5):
 	stxv	32+v1,16(r11)
 	stxv	32+v2,32(r11)
 	stxv	32+v3,48(r11)
-	vctzlsbb r8,v6
-	addi	r9,r8,1
-	sldi	r9,r9,56
 	addi	r11,r11,64
-	stxvl	32+v4,r11,r9
+	STORE_WITH_LEN(v15,v4,r11)
 #ifdef USE_AS_STPCPY
 	add	r3,r11,r8
 #endif
@@ -189,11 +331,39 @@ L(tail6):
 	stxv	32+v2,32(r11)
 	stxv	32+v3,48(r11)
 	stxv	32+v4,64(r11)
-	vctzlsbb r8,v6
-	addi	r9,r8,1
-	sldi	r9,r9,56
 	addi	r11,r11,80
-	stxvl	32+v5,r11,r9
+	STORE_WITH_LEN(v15,v5,r11)
+#ifdef USE_AS_STPCPY
+	add	r3,r11,r8
+#endif
+	blr
+
+	.p2align 4
+L(tail7):
+	stxv	32+v0,0(r11)
+	stxv	32+v1,16(r11)
+	stxv	32+v2,32(r11)
+	stxv	32+v3,48(r11)
+	stxv	32+v4,64(r11)
+	stxv	32+v5,80(r11)
+	addi	r11,r11,96
+	STORE_WITH_LEN(v15,v6,r11)
+#ifdef USE_AS_STPCPY
+	add	r3,r11,r8
+#endif
+	blr
+
+	.p2align 4
+L(tail8):
+	stxv	32+v0,0(r11)
+	stxv	32+v1,16(r11)
+	stxv	32+v2,32(r11)
+	stxv	32+v3,48(r11)
+	stxv	32+v4,64(r11)
+	stxv	32+v5,80(r11)
+	stxv	32+v6,96(r11)
+	addi	r11,r11,112
+	STORE_WITH_LEN(v15,v7,r11)
 #ifdef USE_AS_STPCPY
 	add	r3,r11,r8
 #endif
diff --git a/sysdeps/powerpc/powerpc64/sysdep.h b/sysdeps/powerpc/powerpc64/sysdep.h
index c363939e1a..c439b06121 100644
--- a/sysdeps/powerpc/powerpc64/sysdep.h
+++ b/sysdeps/powerpc/powerpc64/sysdep.h
@@ -353,6 +353,25 @@ LT_LABELSUFFIX(name,_name_end): ; \
   DO_CALL (SYS_ify (syscall_name))
 
 #ifdef SHARED
+# define TAIL_CALL_NO_RETURN(__func) \
+    b JUMPTARGET (NOTOC (__func))
+#else
+# define TAIL_CALL_NO_RETURN(__func) \
+    .ifdef .Local ## __func; \
+    b .Local ## __func; \
+    .else; \
+.Local ## __func: \
+    mflr 0; \
+    std 0,FRAME_LR_SAVE(1); \
+    stdu 1,-FRAME_MIN_SIZE(1); \
+    cfi_adjust_cfa_offset(FRAME_MIN_SIZE); \
+    cfi_offset(lr,FRAME_LR_SAVE); \
+    bl JUMPTARGET(__func); \
+    nop; \
+    .endif
+#endif
+
+#ifdef SHARED
 #define TAIL_CALL_SYSCALL_ERROR \
     b JUMPTARGET (NOTOC (__syscall_error))
 #else
diff --git a/sysdeps/pthread/tst-cancel2.c b/sysdeps/pthread/tst-cancel2.c
index ac38b50115..b4f7098235 100644
--- a/sysdeps/pthread/tst-cancel2.c
+++ b/sysdeps/pthread/tst-cancel2.c
@@ -32,6 +32,10 @@ tf (void *arg)
   char buf[100000];
 
   while (write (fd[1], buf, sizeof (buf)) > 0);
+  /* The write can return -1/EPIPE if the pipe was closed before the
+     thread calls write, which signals a side-effect that must be
+     signaled to the thread.  */
+  pthread_testcancel ();
 
   return (void *) 42l;
 }
diff --git a/sysdeps/pthread/tst-setuid3.c b/sysdeps/pthread/tst-setuid3.c
index 83f42a0ae5..3845ab03d3 100644
--- a/sysdeps/pthread/tst-setuid3.c
+++ b/sysdeps/pthread/tst-setuid3.c
@@ -15,24 +15,19 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <stdio.h>
 #include <errno.h>
 #include <pthread.h>
 #include <stdbool.h>
 #include <unistd.h>
 
+#include <support/check.h>
+
 /* The test must run under a non-privileged user ID.  */
 static const uid_t test_uid = 1;
 
 static pthread_barrier_t barrier1;
 static pthread_barrier_t barrier2;
 
-#define FAIL(fmt, ...) \
-  do { printf ("FAIL: " fmt "\n", __VA_ARGS__); _exit (1); } while (0)
-
-#define FAIL_ERR(fmt, ...) \
-  do { printf ("FAIL: " fmt ": %m\n", __VA_ARGS__); _exit (1); } while (0)
-
 /* True if x is not a successful return code from pthread_barrier_wait.  */
 static inline bool
 is_invalid_barrier_ret (int x)
@@ -45,10 +40,10 @@ thread_func (void *ctx __attribute__ ((unused)))
 {
   int ret = pthread_barrier_wait (&barrier1);
   if (is_invalid_barrier_ret (ret))
-    FAIL ("pthread_barrier_wait (barrier1) (on thread): %d", ret);
+    FAIL_EXIT1 ("pthread_barrier_wait (barrier1) (on thread): %d", ret);
   ret = pthread_barrier_wait (&barrier2);
   if (is_invalid_barrier_ret (ret))
-    FAIL ("pthread_barrier_wait (barrier2) (on thread): %d", ret);
+    FAIL_EXIT1 ("pthread_barrier_wait (barrier2) (on thread): %d", ret);
   return NULL;
 }
 
@@ -59,13 +54,13 @@ setuid_failure (int phase)
   switch (ret)
     {
     case 0:
-      FAIL ("setuid succeeded unexpectedly in phase %d", phase);
+      FAIL_EXIT1 ("setuid succeeded unexpectedly in phase %d", phase);
     case -1:
       if (errno != EPERM)
-	FAIL_ERR ("setuid phase %d", phase);
+	FAIL_EXIT1 ("setuid phase %d: %m", phase);
       break;
     default:
-      FAIL ("invalid setuid return value in phase %d: %d", phase, ret);
+      FAIL_EXIT1 ("invalid setuid return value in phase %d: %d", phase, ret);
     }
 }
 
@@ -74,42 +69,42 @@ do_test (void)
 {
   if (getuid () == 0)
     if (setuid (test_uid) != 0)
-      FAIL_ERR ("setuid (%u)", (unsigned) test_uid);
+      FAIL_EXIT1 ("setuid (%u): %m", (unsigned) test_uid);
   if (setuid (getuid ()))
-    FAIL_ERR ("setuid (%s)", "getuid ()");
+    FAIL_EXIT1 ("setuid (%s): %m", "getuid ()");
   setuid_failure (1);
 
   int ret = pthread_barrier_init (&barrier1, NULL, 2);
   if (ret != 0)
-    FAIL ("pthread_barrier_init (barrier1): %d", ret);
+    FAIL_EXIT1 ("pthread_barrier_init (barrier1): %d", ret);
   ret = pthread_barrier_init (&barrier2, NULL, 2);
   if (ret != 0)
-    FAIL ("pthread_barrier_init (barrier2): %d", ret);
+    FAIL_EXIT1 ("pthread_barrier_init (barrier2): %d", ret);
 
   pthread_t thread;
   ret = pthread_create (&thread, NULL, thread_func, NULL);
   if (ret != 0)
-    FAIL ("pthread_create: %d", ret);
+    FAIL_EXIT1 ("pthread_create: %d", ret);
 
   /* Ensure that the thread is running properly.  */
   ret = pthread_barrier_wait (&barrier1);
   if (is_invalid_barrier_ret (ret))
-    FAIL ("pthread_barrier_wait (barrier1): %d", ret);
+    FAIL_EXIT1 ("pthread_barrier_wait (barrier1): %d", ret);
 
   setuid_failure (2);
 
   /* Check success case. */
   if (setuid (getuid ()) != 0)
-    FAIL_ERR ("setuid (%s)", "getuid ()");
+    FAIL_EXIT1 ("setuid (%s): %m", "getuid ()");
 
   /* Shutdown.  */
   ret = pthread_barrier_wait (&barrier2);
   if (is_invalid_barrier_ret (ret))
-    FAIL ("pthread_barrier_wait (barrier2): %d", ret);
+    FAIL_EXIT1 ("pthread_barrier_wait (barrier2): %d", ret);
 
   ret = pthread_join (thread, NULL);
   if (ret != 0)
-    FAIL ("pthread_join: %d", ret);
+    FAIL_EXIT1 ("pthread_join: %d", ret);
 
   return 0;
 }
diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps
index b9df07dc8c..233186f29a 100644
--- a/sysdeps/riscv/rvd/libm-test-ulps
+++ b/sysdeps/riscv/rvd/libm-test-ulps
@@ -976,24 +976,24 @@ float: 1
 ldouble: 3
 
 Function: "exp10m1":
-double: 2
-float: 1
-ldouble: 1
+double: 4
+float: 2
+ldouble: 3
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-ldouble: 3
+double: 3
+float: 3
+ldouble: 6
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-ldouble: 3
+double: 2
+float: 3
+ldouble: 6
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-ldouble: 3
+double: 5
+float: 3
+ldouble: 6
 
 Function: "exp2":
 double: 1
@@ -1013,24 +1013,24 @@ float: 1
 ldouble: 2
 
 Function: "exp2m1":
-double: 1
-float: 1
-ldouble: 1
+double: 2
+float: 2
+ldouble: 2
 
 Function: "exp2m1_downward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 3
 
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-ldouble: 2
+double: 3
+float: 2
+ldouble: 4
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 5
 
 Function: "exp_downward":
 double: 1
@@ -1206,24 +1206,24 @@ float: 2
 ldouble: 1
 
 Function: "log10p1":
-double: 1
-float: 1
+double: 2
+float: 2
 ldouble: 3
 
 Function: "log10p1_downward":
 double: 2
-float: 1
-ldouble: 2
+float: 3
+ldouble: 4
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log10p1_upward":
 double: 2
-float: 1
-ldouble: 3
+float: 3
+ldouble: 4
 
 Function: "log1p":
 double: 1
@@ -1263,8 +1263,8 @@ double: 3
 ldouble: 1
 
 Function: "log2p1":
-double: 1
-float: 1
+double: 2
+float: 2
 ldouble: 3
 
 Function: "log2p1_downward":
@@ -1278,9 +1278,9 @@ float: 2
 ldouble: 2
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log_downward":
 ldouble: 1
diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps
index 4ffd344a4e..e10b5c69ae 100644
--- a/sysdeps/s390/fpu/libm-test-ulps
+++ b/sysdeps/s390/fpu/libm-test-ulps
@@ -977,24 +977,24 @@ float: 1
 ldouble: 3
 
 Function: "exp10m1":
-double: 2
-float: 1
-ldouble: 1
+double: 4
+float: 2
+ldouble: 3
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-ldouble: 3
+double: 3
+float: 3
+ldouble: 6
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-ldouble: 3
+double: 2
+float: 3
+ldouble: 6
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-ldouble: 3
+double: 5
+float: 3
+ldouble: 6
 
 Function: "exp2":
 double: 1
@@ -1014,24 +1014,24 @@ float: 1
 ldouble: 2
 
 Function: "exp2m1":
-double: 1
-float: 1
-ldouble: 1
+double: 2
+float: 2
+ldouble: 2
 
 Function: "exp2m1_downward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 3
 
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-ldouble: 2
+double: 3
+float: 2
+ldouble: 4
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 5
 
 Function: "exp_downward":
 double: 1
@@ -1207,24 +1207,24 @@ float: 2
 ldouble: 1
 
 Function: "log10p1":
-double: 1
-float: 1
+double: 2
+float: 2
 ldouble: 3
 
 Function: "log10p1_downward":
 double: 2
-float: 1
-ldouble: 2
+float: 3
+ldouble: 4
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log10p1_upward":
 double: 2
-float: 1
-ldouble: 3
+float: 3
+ldouble: 4
 
 Function: "log1p":
 double: 1
@@ -1262,8 +1262,8 @@ double: 1
 ldouble: 1
 
 Function: "log2p1":
-double: 1
-float: 1
+double: 2
+float: 2
 ldouble: 3
 
 Function: "log2p1_downward":
@@ -1277,9 +1277,9 @@ float: 2
 ldouble: 2
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log_downward":
 ldouble: 1
diff --git a/sysdeps/s390/wcsncmp-vx.S b/sysdeps/s390/wcsncmp-vx.S
index bf6dfa6bc2..8b081567a2 100644
--- a/sysdeps/s390/wcsncmp-vx.S
+++ b/sysdeps/s390/wcsncmp-vx.S
@@ -59,14 +59,7 @@ ENTRY(WCSNCMP_Z13)
 	sllg	%r4,%r4,2	/* Convert character-count to byte-count.  */
 	locgrne	%r4,%r1		/* Use max byte-count, if bit 0/1 was one.  */
 
-	/* Check first character without vector load.  */
-	lghi	%r5,4		/* current_len = 4 bytes.  */
-	/* Check s1/2[0].  */
-	lt	%r0,0(%r2)
-	l	%r1,0(%r3)
-	je	.Lend_cmp_one_char
-	crjne	%r0,%r1,.Lend_cmp_one_char
-
+	lghi	%r5,0		/* current_len = 0 bytes.  */
 .Lloop:
 	vlbb	%v17,0(%r5,%r3),6 /* Load s2 to block boundary.  */
 	vlbb	%v16,0(%r5,%r2),6 /* Load s1 to block boundary.  */
@@ -167,7 +160,6 @@ ENTRY(WCSNCMP_Z13)
 	srl	%r4,2		/* And convert it to character-index.  */
 	vlgvf	%r0,%v16,0(%r4)	/* Load character-values.  */
 	vlgvf	%r1,%v17,0(%r4)
-.Lend_cmp_one_char:
 	cr	%r0,%r1
 	je	.Lend_equal
 	lghi	%r2,1
diff --git a/sysdeps/sh/sysdep.h b/sysdeps/sh/sysdep.h
index 0c9e5626e9..377d29b950 100644
--- a/sysdeps/sh/sysdep.h
+++ b/sysdeps/sh/sysdep.h
@@ -24,6 +24,7 @@
 
 #define ALIGNARG(log2) log2
 #define ASM_SIZE_DIRECTIVE(name) .size name,.-name
+#define L(label) .L##label
 
 #ifdef SHARED
 #define PLTJMP(_x)	_x##@PLT
diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps
index 23523f094f..1bb8b7c5f4 100644
--- a/sysdeps/sparc/fpu/libm-test-ulps
+++ b/sysdeps/sparc/fpu/libm-test-ulps
@@ -977,24 +977,24 @@ float: 1
 ldouble: 3
 
 Function: "exp10m1":
-double: 2
-float: 1
-ldouble: 1
+double: 3
+float: 2
+ldouble: 3
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-ldouble: 3
+double: 3
+float: 3
+ldouble: 6
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-ldouble: 3
+double: 2
+float: 3
+ldouble: 6
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-ldouble: 3
+double: 4
+float: 4
+ldouble: 6
 
 Function: "exp2":
 double: 1
@@ -1017,24 +1017,24 @@ float: 1
 ldouble: 2
 
 Function: "exp2m1":
-double: 1
-float: 1
-ldouble: 1
-
-Function: "exp2m1_downward":
 double: 2
-float: 1
+float: 2
 ldouble: 2
 
+Function: "exp2m1_downward":
+double: 3
+float: 3
+ldouble: 3
+
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-ldouble: 2
+double: 3
+float: 2
+ldouble: 4
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-ldouble: 2
+double: 3
+float: 3
+ldouble: 5
 
 Function: "exp_downward":
 double: 1
@@ -1212,23 +1212,23 @@ ldouble: 1
 
 Function: "log10p1":
 double: 1
-float: 1
+float: 2
 ldouble: 3
 
 Function: "log10p1_downward":
 double: 2
-float: 1
-ldouble: 2
+float: 3
+ldouble: 4
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log10p1_upward":
 double: 2
-float: 1
-ldouble: 3
+float: 3
+ldouble: 4
 
 Function: "log1p":
 double: 1
@@ -1272,7 +1272,7 @@ ldouble: 1
 
 Function: "log2p1":
 double: 1
-float: 1
+float: 2
 ldouble: 3
 
 Function: "log2p1_downward":
@@ -1286,9 +1286,9 @@ float: 2
 ldouble: 2
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
-ldouble: 2
+ldouble: 3
 
 Function: "log_downward":
 float: 2
diff --git a/sysdeps/unix/sysdep.h b/sysdeps/unix/sysdep.h
index a19e84165b..adc8d71f49 100644
--- a/sysdeps/unix/sysdep.h
+++ b/sysdeps/unix/sysdep.h
@@ -24,6 +24,9 @@
 #define	SYSCALL__(name, args)	PSEUDO (__##name, name, args)
 #define	SYSCALL(name, args)	PSEUDO (name, name, args)
 
+#ifndef __ASSEMBLER__
+# include <errno.h>
+
 #define __SYSCALL_CONCAT_X(a,b)     a##b
 #define __SYSCALL_CONCAT(a,b)       __SYSCALL_CONCAT_X (a, b)
 
@@ -108,42 +111,148 @@
 #define INLINE_SYSCALL_CALL(...) \
   __INLINE_SYSCALL_DISP (__INLINE_SYSCALL, __VA_ARGS__)
 
-#if IS_IN (rtld)
-/* All cancellation points are compiled out in the dynamic loader.  */
-# define NO_SYSCALL_CANCEL_CHECKING 1
+#define __INTERNAL_SYSCALL_NCS0(name) \
+  INTERNAL_SYSCALL_NCS (name, 0)
+#define __INTERNAL_SYSCALL_NCS1(name, a1) \
+  INTERNAL_SYSCALL_NCS (name, 1, a1)
+#define __INTERNAL_SYSCALL_NCS2(name, a1, a2) \
+  INTERNAL_SYSCALL_NCS (name, 2, a1, a2)
+#define __INTERNAL_SYSCALL_NCS3(name, a1, a2, a3) \
+  INTERNAL_SYSCALL_NCS (name, 3, a1, a2, a3)
+#define __INTERNAL_SYSCALL_NCS4(name, a1, a2, a3, a4) \
+  INTERNAL_SYSCALL_NCS (name, 4, a1, a2, a3, a4)
+#define __INTERNAL_SYSCALL_NCS5(name, a1, a2, a3, a4, a5) \
+  INTERNAL_SYSCALL_NCS (name, 5, a1, a2, a3, a4, a5)
+#define __INTERNAL_SYSCALL_NCS6(name, a1, a2, a3, a4, a5, a6) \
+  INTERNAL_SYSCALL_NCS (name, 6, a1, a2, a3, a4, a5, a6)
+#define __INTERNAL_SYSCALL_NCS7(name, a1, a2, a3, a4, a5, a6, a7) \
+  INTERNAL_SYSCALL_NCS (name, 7, a1, a2, a3, a4, a5, a6, a7)
+
+/* Issue a syscall defined by syscall number plus any other argument required.
+   It is similar to INTERNAL_SYSCALL_NCS macro, but without the need to pass
+   the expected argument number as third parameter.  */
+#define INTERNAL_SYSCALL_NCS_CALL(...) \
+  __INTERNAL_SYSCALL_DISP (__INTERNAL_SYSCALL_NCS, __VA_ARGS__)
+
+/* Cancellation macros.  */
+#include <syscall_types.h>
+
+/* Adjust both the __syscall_cancel and the SYSCALL_CANCEL macro to support
+   7 arguments instead of default 6 (curently only mip32).  It avoid add
+   the requirement to each architecture to support 7 argument macros
+   {INTERNAL,INLINE}_SYSCALL.  */
+#ifdef HAVE_CANCELABLE_SYSCALL_WITH_7_ARGS
+# define __SYSCALL_CANCEL7_ARG_DEF	__syscall_arg_t a7,
+# define __SYSCALL_CANCEL7_ARCH_ARG_DEF ,__syscall_arg_t a7
+# define __SYSCALL_CANCEL7_ARG		0,
+# define __SYSCALL_CANCEL7_ARG7		a7,
+# define __SYSCALL_CANCEL7_ARCH_ARG7	, a7
 #else
-# define NO_SYSCALL_CANCEL_CHECKING SINGLE_THREAD_P
+# define __SYSCALL_CANCEL7_ARG_DEF
+# define __SYSCALL_CANCEL7_ARCH_ARG_DEF
+# define __SYSCALL_CANCEL7_ARG
+# define __SYSCALL_CANCEL7_ARG7
+# define __SYSCALL_CANCEL7_ARCH_ARG7
 #endif
+long int __internal_syscall_cancel (__syscall_arg_t a1, __syscall_arg_t a2,
+				    __syscall_arg_t a3, __syscall_arg_t a4,
+				    __syscall_arg_t a5, __syscall_arg_t a6,
+				    __SYSCALL_CANCEL7_ARG_DEF
+				    __syscall_arg_t nr) attribute_hidden;
 
-#define SYSCALL_CANCEL(...) \
-  ({									     \
-    long int sc_ret;							     \
-    if (NO_SYSCALL_CANCEL_CHECKING)					     \
-      sc_ret = INLINE_SYSCALL_CALL (__VA_ARGS__); 			     \
-    else								     \
-      {									     \
-	int sc_cancel_oldtype = LIBC_CANCEL_ASYNC ();			     \
-	sc_ret = INLINE_SYSCALL_CALL (__VA_ARGS__);			     \
-        LIBC_CANCEL_RESET (sc_cancel_oldtype);				     \
-      }									     \
-    sc_ret;								     \
-  })
+long int __syscall_cancel (__syscall_arg_t arg1, __syscall_arg_t arg2,
+			   __syscall_arg_t arg3, __syscall_arg_t arg4,
+			   __syscall_arg_t arg5, __syscall_arg_t arg6,
+			   __SYSCALL_CANCEL7_ARG_DEF
+			   __syscall_arg_t nr) attribute_hidden;
 
-/* Issue a syscall defined by syscall number plus any other argument
-   required.  Any error will be returned unmodified (including errno).  */
-#define INTERNAL_SYSCALL_CANCEL(...) \
-  ({									     \
-    long int sc_ret;							     \
-    if (NO_SYSCALL_CANCEL_CHECKING) 					     \
-      sc_ret = INTERNAL_SYSCALL_CALL (__VA_ARGS__); 			     \
-    else								     \
-      {									     \
-	int sc_cancel_oldtype = LIBC_CANCEL_ASYNC ();			     \
-	sc_ret = INTERNAL_SYSCALL_CALL (__VA_ARGS__);			     \
-        LIBC_CANCEL_RESET (sc_cancel_oldtype);				     \
-      }									     \
-    sc_ret;								     \
-  })
+#define __SYSCALL_CANCEL0(name)						\
+  __syscall_cancel (0, 0, 0, 0, 0, 0, __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __SYSCALL_CANCEL1(name, a1)					\
+  __syscall_cancel (__SSC (a1), 0, 0, 0, 0, 0,				\
+		    __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __SYSCALL_CANCEL2(name, a1, a2) \
+  __syscall_cancel (__SSC (a1), __SSC (a2), 0, 0, 0, 0,			\
+		    __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __SYSCALL_CANCEL3(name, a1, a2, a3) \
+  __syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3), 0, 0, 0,	\
+		    __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __SYSCALL_CANCEL4(name, a1, a2, a3, a4) \
+  __syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3),			\
+		    __SSC(a4), 0, 0, __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __SYSCALL_CANCEL5(name, a1, a2, a3, a4, a5) \
+  __syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3), __SSC(a4),	\
+		    __SSC (a5), 0, __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __SYSCALL_CANCEL6(name, a1, a2, a3, a4, a5, a6) \
+  __syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3), __SSC (a4),	\
+		    __SSC (a5), __SSC (a6), __SYSCALL_CANCEL7_ARG	\
+		    __NR_##name)
+#define __SYSCALL_CANCEL7(name, a1, a2, a3, a4, a5, a6, a7)		\
+  __syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3), __SSC (a4),	\
+		    __SSC (a5), __SSC (a6), __SSC (a7), __NR_##name)
+
+#define __SYSCALL_CANCEL_NARGS_X(a,b,c,d,e,f,g,h,n,...) n
+#define __SYSCALL_CANCEL_NARGS(...) \
+  __SYSCALL_CANCEL_NARGS_X (__VA_ARGS__,7,6,5,4,3,2,1,0,)
+#define __SYSCALL_CANCEL_CONCAT_X(a,b)     a##b
+#define __SYSCALL_CANCEL_CONCAT(a,b)       __SYSCALL_CANCEL_CONCAT_X (a, b)
+#define __SYSCALL_CANCEL_DISP(b,...) \
+  __SYSCALL_CANCEL_CONCAT (b,__SYSCALL_CANCEL_NARGS(__VA_ARGS__))(__VA_ARGS__)
+
+/* Issue a cancellable syscall defined first argument plus any other argument
+   required.  If and error occurs its value, the macro returns -1 and sets
+   errno accordingly.  */
+#define __SYSCALL_CANCEL_CALL(...) \
+  __SYSCALL_CANCEL_DISP (__SYSCALL_CANCEL, __VA_ARGS__)
+
+#define __INTERNAL_SYSCALL_CANCEL0(name)				\
+  __internal_syscall_cancel (0, 0, 0, 0, 0, 0, __SYSCALL_CANCEL7_ARG	\
+			     __NR_##name)
+#define __INTERNAL_SYSCALL_CANCEL1(name, a1)				\
+  __internal_syscall_cancel (__SSC (a1), 0, 0, 0, 0, 0,			\
+			     __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __INTERNAL_SYSCALL_CANCEL2(name, a1, a2)			\
+  __internal_syscall_cancel (__SSC (a1), __SSC (a2), 0, 0, 0, 0,	\
+			     __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __INTERNAL_SYSCALL_CANCEL3(name, a1, a2, a3)			\
+  __internal_syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3), 0,	\
+			     0, 0, __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __INTERNAL_SYSCALL_CANCEL4(name, a1, a2, a3, a4)		\
+  __internal_syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3),	\
+			     __SSC(a4), 0, 0,				\
+			     __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __INTERNAL_SYSCALL_CANCEL5(name, a1, a2, a3, a4, a5)		\
+  __internal_syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3),	\
+			     __SSC(a4), __SSC (a5), 0,			\
+			     __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __INTERNAL_SYSCALL_CANCEL6(name, a1, a2, a3, a4, a5, a6)	\
+  __internal_syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3),	\
+			     __SSC (a4), __SSC (a5), __SSC (a6),	\
+			     __SYSCALL_CANCEL7_ARG __NR_##name)
+#define __INTERNAL_SYSCALL_CANCEL7(name, a1, a2, a3, a4, a5, a6, a7) \
+  __internal_syscall_cancel (__SSC (a1), __SSC (a2), __SSC (a3),     \
+			     __SSC (a4), __SSC (a5), __SSC (a6),     \
+			     __SSC (a7), __NR_##name)
+
+/* Issue a cancellable syscall defined by syscall number NAME plus any other
+   argument required.  If an error occurs its value is returned as an negative
+   number unmodified and errno is not set.  */
+#define __INTERNAL_SYSCALL_CANCEL_CALL(...) \
+  __SYSCALL_CANCEL_DISP (__INTERNAL_SYSCALL_CANCEL, __VA_ARGS__)
+
+#if IS_IN (rtld)
+/* The loader does not need to handle thread cancellation, use direct
+   syscall instead.  */
+# define INTERNAL_SYSCALL_CANCEL(...) INTERNAL_SYSCALL_CALL(__VA_ARGS__)
+# define SYSCALL_CANCEL(...)          INLINE_SYSCALL_CALL (__VA_ARGS__)
+#else
+# define INTERNAL_SYSCALL_CANCEL(...) \
+  __INTERNAL_SYSCALL_CANCEL_CALL (__VA_ARGS__)
+# define SYSCALL_CANCEL(...) \
+  __SYSCALL_CANCEL_CALL (__VA_ARGS__)
+#endif
+
+#endif /* __ASSEMBLER__  */
 
 /* Machine-dependent sysdep.h files are expected to define the macro
    PSEUDO (function_name, syscall_name) to emit assembly code to define the
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 097b5a26fc..59998c7af4 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -206,6 +206,7 @@ tests += \
   tst-getauxval \
   tst-gettid \
   tst-gettid-kill \
+  tst-linux-mremap1 \
   tst-memfd_create \
   tst-misalign-clone \
   tst-mlock2 \
diff --git a/sysdeps/unix/sysv/linux/____longjmp_chk.c b/sysdeps/unix/sysv/linux/____longjmp_chk.c
index 0896dc5755..3c66a4638e 100644
--- a/sysdeps/unix/sysv/linux/____longjmp_chk.c
+++ b/sysdeps/unix/sysv/linux/____longjmp_chk.c
@@ -23,7 +23,7 @@
 #include <stdio.h>
 #include <stackinfo.h>
 
-#ifdef _STACK_GROWS_DOWN
+#if _STACK_GROWS_DOWN
 #define called_from(this, saved) ((this) < (saved))
 #else
 #define called_from(this, saved) ((this) > (saved))
diff --git a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h
index 7ee8a2167a..19b6316cb6 100644
--- a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h
@@ -158,6 +158,7 @@
 #define __NR_mq_timedsend 182
 #define __NR_mq_unlink 181
 #define __NR_mremap 216
+#define __NR_mseal 462
 #define __NR_msgctl 187
 #define __NR_msgget 186
 #define __NR_msgrcv 188
diff --git a/sysdeps/unix/sysv/linux/aarch64/syscall_cancel.S b/sysdeps/unix/sysv/linux/aarch64/syscall_cancel.S
new file mode 100644
index 0000000000..e91a431b36
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/aarch64/syscall_cancel.S
@@ -0,0 +1,59 @@
+/* Cancellable syscall wrapper.  Linux/AArch64 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int [x0] __syscall_cancel_arch (int *cancelhandling [x0],
+					long int nr   [x1],
+					long int arg1 [x2],
+					long int arg2 [x3],
+					long int arg3 [x4],
+					long int arg4 [x5],
+					long int arg5 [x6],
+					long int arg6 [x7])  */
+
+ENTRY (__syscall_cancel_arch)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	ldr	w0, [x0]
+	tbnz    w0, TCB_CANCELED_BIT, 1f
+
+	/* Issue a 6 argument syscall, the nr [x1] being the syscall
+	   number.  */
+	mov	x8, x1
+	mov	x0, x2
+	mov	x1, x3
+	mov	x2, x4
+	mov	x3, x5
+	mov	x4, x6
+	mov	x5, x7
+	svc	0x0
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	ret
+
+1:
+	b	__syscall_do_cancel
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h
index 0f4ea7670b..216a5575c6 100644
--- a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h
@@ -24,6 +24,7 @@
 #define __NR_clock_nanosleep 422
 #define __NR_clock_settime 419
 #define __NR_clone 312
+#define __NR_clone3 545
 #define __NR_close 6
 #define __NR_close_range 546
 #define __NR_connect 98
@@ -189,6 +190,7 @@
 #define __NR_mq_timedsend 434
 #define __NR_mq_unlink 433
 #define __NR_mremap 341
+#define __NR_mseal 572
 #define __NR_msgctl 200
 #define __NR_msgget 201
 #define __NR_msgrcv 202
diff --git a/sysdeps/unix/sysv/linux/alpha/syscall_cancel.S b/sysdeps/unix/sysv/linux/alpha/syscall_cancel.S
new file mode 100644
index 0000000000..377eef48be
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/syscall_cancel.S
@@ -0,0 +1,80 @@
+/* Cancellable syscall wrapper.  Linux/alpha version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *ch,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6)  */
+
+	.set noreorder
+	.set noat
+	.set nomacro
+ENTRY (__syscall_cancel_arch)
+	.frame	sp, 16, ra, 0
+	.mask	0x4000000,-16
+	cfi_startproc
+	ldah	gp, 0(t12)
+	lda	gp, 0(gp)
+	lda	sp, -16(sp)
+	cfi_def_cfa_offset (16)
+	mov	a1, v0
+	stq	ra, 0(sp)
+	cfi_offset (26, -16)
+	.prologue 1
+
+	.global	__syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+	ldl	t0, 0(a0)
+	addl	zero, t0, t0
+	/* if (*ch & CANCELED_BITMASK)  */
+	and	t0, TCB_CANCELED_BITMASK, t0
+	bne	t0, 1f
+	mov	a2, a0
+	mov	a3, a1
+	mov	a4, a2
+	ldq	a4, 16(sp)
+	mov	a5, a3
+	ldq	a5, 24(sp)
+	.set	macro
+	callsys
+	.set	nomacro
+
+	.global __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	subq	zero, v0, t0
+	ldq	ra, 0(sp)
+	cmovne	a3, t0, v0
+	lda	sp, 16(sp)
+	cfi_remember_state
+	cfi_restore (26)
+	cfi_def_cfa_offset (0)
+	ret	zero, (ra), 1
+	.align 4
+1:
+	cfi_restore_state
+	ldq 	t12, __syscall_do_cancel(gp)		!literal!2
+	jsr 	ra, (t12), __syscall_do_cancel		!lituse_jsr!2
+	cfi_endproc
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h
index 90359482a8..ea581b0a6d 100644
--- a/sysdeps/unix/sysv/linux/arc/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h
@@ -161,6 +161,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 181
 #define __NR_mremap 216
+#define __NR_mseal 462
 #define __NR_msgctl 187
 #define __NR_msgget 186
 #define __NR_msgrcv 188
diff --git a/sysdeps/unix/sysv/linux/arc/syscall_cancel.S b/sysdeps/unix/sysv/linux/arc/syscall_cancel.S
new file mode 100644
index 0000000000..fa02af4163
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/syscall_cancel.S
@@ -0,0 +1,56 @@
+/* Cancellable syscall wrapper.  Linux/ARC version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6)  */
+
+ENTRY (__syscall_cancel_arch)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+	ld_s	r12,[r0]
+	bbit1	r12, TCB_CANCELED_BITMASK, 1f
+	mov_s	r8, r1
+	mov_s	r0, r2
+	mov_s	r1, r3
+	mov_s	r2, r4
+	mov_s	r3, r5
+	mov_s	r4, r6
+	mov_s	r5, r7
+	trap_s	0
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	j_s	[blink]
+
+	.align 4
+1:	push_s	blink
+	cfi_def_cfa_offset (4)
+	cfi_offset (31, -4)
+	bl	@__syscall_do_cancel
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/arm/arch-syscall.h b/sysdeps/unix/sysv/linux/arm/arch-syscall.h
index 4930167a03..2809f52f94 100644
--- a/sysdeps/unix/sysv/linux/arm/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/arm/arch-syscall.h
@@ -205,6 +205,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 275
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 304
 #define __NR_msgget 303
 #define __NR_msgrcv 302
diff --git a/sysdeps/unix/sysv/linux/arm/syscall_cancel.S b/sysdeps/unix/sysv/linux/arm/syscall_cancel.S
new file mode 100644
index 0000000000..6b899306e3
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arm/syscall_cancel.S
@@ -0,0 +1,78 @@
+/* Cancellable syscall wrapper.  Linux/arm version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int [r0] __syscall_cancel_arch (int *cancelhandling [r0],
+					long int nr   [r1],
+					long int arg1 [r2],
+					long int arg2 [r3],
+					long int arg3 [SP],
+					long int arg4 [SP+4],
+					long int arg5 [SP+8],
+					long int arg6 [SP+12])  */
+
+	.syntax unified
+
+ENTRY (__syscall_cancel_arch)
+	.fnstart
+	mov	ip, sp
+	stmfd	sp!, {r4, r5, r6, r7, lr}
+	.save	{r4, r5, r6, r7, lr}
+
+	cfi_adjust_cfa_offset (20)
+	cfi_rel_offset (r4, 0)
+	cfi_rel_offset (r5, 4)
+	cfi_rel_offset (r6, 8)
+	cfi_rel_offset (r7, 12)
+	cfi_rel_offset (lr, 16)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	ldr	r0, [r0]
+	tst	r0, #TCB_CANCELED_BITMASK
+	bne	1f
+
+	/* Issue a 6 argument syscall, the nr [r1] being the syscall
+	   number.  */
+	mov	r7, r1
+	mov	r0, r2
+	mov	r1, r3
+	ldmfd	ip, {r2, r3, r4, r5, r6}
+	svc	0x0
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	ldmfd	sp!, {r4, r5, r6, r7, lr}
+	cfi_adjust_cfa_offset (-20)
+        cfi_restore (r4)
+        cfi_restore (r5)
+        cfi_restore (r6)
+        cfi_restore (r7)
+        cfi_restore (lr)
+	BX (lr)
+
+1:
+	ldmfd	sp!, {r4, r5, r6, r7, lr}
+	b	__syscall_do_cancel
+	.fnend
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
index 628612b885..61c100d984 100644
--- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
+++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
@@ -200,6 +200,7 @@
 # define F_SETLEASE	1024	/* Set a lease.  */
 # define F_GETLEASE	1025	/* Enquire what lease is active.  */
 # define F_NOTIFY	1026	/* Request notifications on a directory.  */
+# define F_DUPFD_QUERY  1027    /* Compare two file descriptors for sameness.  */
 # define F_SETPIPE_SZ	1031	/* Set pipe page size array.  */
 # define F_GETPIPE_SZ	1032	/* Set pipe page size array.  */
 # define F_ADD_SEALS	1033	/* Add seals to file.  */
diff --git a/sysdeps/unix/sysv/linux/csky/arch-syscall.h b/sysdeps/unix/sysv/linux/csky/arch-syscall.h
index 3f16a29f57..ede3551a00 100644
--- a/sysdeps/unix/sysv/linux/csky/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/csky/arch-syscall.h
@@ -168,6 +168,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 181
 #define __NR_mremap 216
+#define __NR_mseal 462
 #define __NR_msgctl 187
 #define __NR_msgget 186
 #define __NR_msgrcv 188
@@ -301,7 +302,7 @@
 #define __NR_swapon 224
 #define __NR_symlinkat 36
 #define __NR_sync 81
-#define __NR_sync_file_range 84
+#define __NR_sync_file_range2 84
 #define __NR_syncfs 267
 #define __NR_sysinfo 179
 #define __NR_syslog 116
diff --git a/sysdeps/unix/sysv/linux/csky/syscall_cancel.S b/sysdeps/unix/sysv/linux/csky/syscall_cancel.S
new file mode 100644
index 0000000000..2989765f8c
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/csky/syscall_cancel.S
@@ -0,0 +1,114 @@
+/* Cancellable syscall wrapper.  Linux/csky version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6)  */
+
+#ifdef SHARED
+# define STACK_ADJ 4
+#else
+# define STACK_ADJ 0
+#endif
+
+ENTRY (__syscall_cancel_arch)
+	subi	sp, sp, 16 + STACK_ADJ
+	cfi_def_cfa_offset (16 + STACK_ADJ)
+#ifdef SHARED
+	st.w	gb, (sp, 16)
+	lrw	t1, 1f@GOTPC
+	cfi_offset (gb, -4)
+	grs	gb, 1f
+1:
+#endif
+	st.w	lr, (sp, 12)
+	st.w	l3, (sp, 8)
+	st.w	l1, (sp, 4)
+	st.w	l0, (sp, 0)
+#ifdef SHARED
+	addu	gb, gb, t1
+#endif
+	subi	sp, sp, 16
+	cfi_def_cfa_offset (32 + STACK_ADJ)
+	cfi_offset (lr, -( 4 + STACK_ADJ))
+	cfi_offset (l3, -( 8 + STACK_ADJ))
+	cfi_offset (l1, -(12 + STACK_ADJ))
+	cfi_offset (l0, -(16 + STACK_ADJ))
+
+	mov	l3, a1
+	mov	a1, a3
+	ld.w	a3, (sp, 32 + STACK_ADJ)
+	st.w	a3, (sp, 0)
+	ld.w	a3, (sp, 36 + STACK_ADJ)
+	st.w	a3, (sp, 4)
+	ld.w	a3, (sp, 40 + STACK_ADJ)
+	st.w	a3, (sp, 8)
+	ld.w	a3, (sp, 44 + STACK_ADJ)
+	st.w	a3, (sp, 12)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+	ld.w	t0, (a0, 0)
+	andi	t0, t0, TCB_CANCELED_BITMASK
+	jbnez	t0, 2f
+	mov	a0, a2
+	ld.w	a3, (sp, 4)
+	ld.w	a2, (sp, 0)
+	ld.w	l0, (sp, 8)
+	ld.w	l1, (sp, 12)
+	trap	0
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	addi	sp, sp, 16
+	cfi_remember_state
+	cfi_def_cfa_offset (16 + STACK_ADJ)
+#ifdef SHARED
+	ld.w	gb, (sp, 16)
+	cfi_restore (gb)
+#endif
+	ld.w	lr, (sp, 12)
+	cfi_restore (lr)
+	ld.w	l3, (sp, 8)
+	cfi_restore (l3)
+	ld.w	l1, (sp, 4)
+	cfi_restore (l1)
+	ld.w	l0, (sp, 0)
+	cfi_restore (l0)
+	addi	sp, sp, 16
+	cfi_def_cfa_offset (0)
+	rts
+
+2:
+	cfi_restore_state
+#ifdef SHARED
+	lrw	a3, __syscall_do_cancel@GOTOFF
+	addu	a3, a3, gb
+	jsr	a3
+#else
+	jbsr	__syscall_do_cancel
+#endif
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h
index a1b2c819d6..08b153f2cc 100644
--- a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h
@@ -197,6 +197,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 230
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 191
 #define __NR_msgget 190
 #define __NR_msgrcv 189
diff --git a/sysdeps/unix/sysv/linux/hppa/syscall_cancel.S b/sysdeps/unix/sysv/linux/hppa/syscall_cancel.S
new file mode 100644
index 0000000000..b9c19747ea
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/hppa/syscall_cancel.S
@@ -0,0 +1,81 @@
+/* Cancellable syscall wrapper.  Linux/hppa version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   long int nr,
+				   long int arg1,
+				   long int arg2,
+				   long int arg3,
+				   long int arg4,
+				   long int arg5,
+				   long int arg6)  */
+
+	.text
+ENTRY(__syscall_cancel_arch)
+	stw	%r2,-20(%r30)
+	ldo	128(%r30),%r30
+	cfi_def_cfa_offset (-128)
+	cfi_offset (2, -20)
+	ldw	-180(%r30),%r28
+	copy	%r26,%r20
+	stw	%r28,-108(%r30)
+	ldw	-184(%r30),%r28
+	copy	%r24,%r26
+	stw	%r28,-112(%r30)
+	ldw	-188(%r30),%r28
+	stw	%r28,-116(%r30)
+	ldw	-192(%r30),%r28
+	stw	%r4,-104(%r30)
+	stw	%r28,-120(%r30)
+	copy	%r25,%r28
+	copy	%r23,%r25
+#ifdef __PIC__
+	stw	%r19,-32(%r30)
+#endif
+	cfi_offset (4, 24)
+
+	.global __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+	ldw	0(%r20),%r20
+	bb,<	%r20,31-TCB_CANCELED_BIT,1f
+	ldw	-120(%r30),%r21
+	ldw	-116(%r30),%r22
+	ldw	-112(%r30),%r23
+	ldw	-108(%r30),%r24
+	copy	%r19, %r4
+	ble	0x100(%sr2, %r0)
+
+	.global __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+
+	copy	%r28,%r20
+	copy	%r4,%r19
+
+	ldw	-148(%r30),%r2
+	ldw	-104(%r30),%r4
+	bv	%r0(%r2)
+	ldo	-128(%r30),%r30
+1:
+	bl	__syscall_do_cancel,%r2
+	nop
+	nop
+
+END(__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/i386/arch-syscall.h b/sysdeps/unix/sysv/linux/i386/arch-syscall.h
index cc775432d6..500ca1ec70 100644
--- a/sysdeps/unix/sysv/linux/i386/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/i386/arch-syscall.h
@@ -222,6 +222,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 278
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 402
 #define __NR_msgget 399
 #define __NR_msgrcv 401
diff --git a/sysdeps/unix/sysv/linux/i386/syscall_cancel.S b/sysdeps/unix/sysv/linux/i386/syscall_cancel.S
new file mode 100644
index 0000000000..46fb746da0
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/syscall_cancel.S
@@ -0,0 +1,104 @@
+/* Cancellable syscall wrapper.  Linux/i686 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int [eax] __syscall_cancel_arch (int *cancelhandling [SP],
+					 long int nr   [SP+4],
+					 long int arg1 [SP+8],
+					 long int arg2 [SP+12],
+					 long int arg3 [SP+16],
+					 long int arg4 [SP+20],
+					 long int arg5 [SP+24],
+					 long int arg6 [SP+28])  */
+
+ENTRY (__syscall_cancel_arch)
+	pushl %ebp
+	cfi_def_cfa_offset (8)
+	cfi_offset (ebp, -8)
+	pushl %edi
+	cfi_def_cfa_offset (12)
+	cfi_offset (edi, -12)
+	pushl %esi
+	cfi_def_cfa_offset (16)
+	cfi_offset (esi, -16)
+	pushl %ebx
+	cfi_def_cfa_offset (20)
+	cfi_offset (ebx, -20)
+
+	.global __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	movl	20(%esp), %eax
+	testb	$TCB_CANCELED_BITMASK, (%eax)
+	jne     1f
+
+	/* Issue a 6 argument syscall, the nr [%eax] being the syscall
+	   number.  */
+	movl    24(%esp), %eax
+	movl    28(%esp), %ebx
+	movl    32(%esp), %ecx
+	movl    36(%esp), %edx
+	movl    40(%esp), %esi
+	movl    44(%esp), %edi
+	movl    48(%esp), %ebp
+
+	/* We can not use the vDSO helper for syscall (__kernel_vsyscall)
+	   because the returned PC from kernel will point to the vDSO page
+	   instead of the expected __syscall_cancel_arch_{start,end}
+	   marks.  */
+	int	$0x80
+
+	.global __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+
+	popl %ebx
+	cfi_restore (ebx)
+	cfi_def_cfa_offset (16)
+	popl %esi
+	cfi_restore (esi)
+	cfi_def_cfa_offset (12)
+	popl %edi
+	cfi_restore (edi)
+	cfi_def_cfa_offset (8)
+	popl %ebp
+	cfi_restore (ebp)
+	cfi_def_cfa_offset (4)
+        ret
+
+1:
+	/* Although the __syscall_do_cancel do not return, we need to stack
+	   being set correctly for unwind.  */
+	popl %ebx
+	cfi_restore (ebx)
+	cfi_def_cfa_offset (16)
+	popl %esi
+	cfi_restore (esi)
+	cfi_def_cfa_offset (12)
+	popl %edi
+	cfi_restore (edi)
+	cfi_def_cfa_offset (8)
+	popl %ebp
+	cfi_restore (ebp)
+	cfi_def_cfa_offset (4)
+	jmp __syscall_do_cancel
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h
index 56bb08718a..8bb82448a7 100644
--- a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h
@@ -155,6 +155,7 @@
 #define __NR_mq_timedsend 182
 #define __NR_mq_unlink 181
 #define __NR_mremap 216
+#define __NR_mseal 462
 #define __NR_msgctl 187
 #define __NR_msgget 186
 #define __NR_msgrcv 188
diff --git a/sysdeps/unix/sysv/linux/loongarch/syscall_cancel.S b/sysdeps/unix/sysv/linux/loongarch/syscall_cancel.S
new file mode 100644
index 0000000000..edea9632ff
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/loongarch/syscall_cancel.S
@@ -0,0 +1,50 @@
+/* Cancellable syscall wrapper.  Linux/loongarch version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+ENTRY (__syscall_cancel_arch)
+
+	.global __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	ld.w	t0, a0, 0
+	andi	t0, t0, TCB_CANCELED_BITMASK
+	bnez	t0, 1f
+
+	/* Issue a 6 argument syscall.  */
+	move	t1, a1
+	move	a0, a2
+	move	a1, a3
+	move	a2, a4
+	move	a3, a5
+	move	a4, a6
+	move	a5, a7
+	move	a7, t1
+	syscall 0
+
+	.global __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	jr	ra
+1:
+	b	__syscall_do_cancel
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h
index 79f277dd5b..4ab34f6228 100644
--- a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h
@@ -213,6 +213,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 272
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 402
 #define __NR_msgget 399
 #define __NR_msgrcv 401
diff --git a/sysdeps/unix/sysv/linux/m68k/syscall_cancel.S b/sysdeps/unix/sysv/linux/m68k/syscall_cancel.S
new file mode 100644
index 0000000000..8923bcc71c
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/m68k/syscall_cancel.S
@@ -0,0 +1,84 @@
+/* Cancellable syscall wrapper.  Linux/m68k version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6)  */
+
+
+ENTRY (__syscall_cancel_arch)
+#ifdef __mcoldfire__
+	lea	(-16,%sp),%sp
+	movem.l	%d2-%d5,(%sp)
+#else
+	movem.l	%d2-%d5,-(%sp)
+#endif
+	cfi_def_cfa_offset (20)
+	cfi_offset (2, -20)
+	cfi_offset (3, -16)
+	cfi_offset (4, -12)
+	cfi_offset (5, -8)
+
+	.global __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	move.l	20(%sp),%a0
+	move.l	(%a0),%d0
+#ifdef __mcoldfire__
+	move.w	%d0,%ccr
+	jeq	1f
+#else
+	btst	#TCB_CANCELED_BIT,%d0
+	jne 	1f
+#endif
+
+	move.l	48(%sp),%a0
+	move.l	44(%sp),%d5
+	move.l	40(%sp),%d4
+	move.l	36(%sp),%d3
+	move.l	32(%sp),%d2
+	move.l	28(%sp),%d1
+	move.l	24(%sp),%d0
+	trap #0
+
+	.global __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+
+#ifdef __mcoldfire__
+	movem.l	(%sp),%d2-%d5
+	lea	(16,%sp),%sp
+#else
+	movem.l	(%sp)+,%d2-%d5
+#endif
+	rts
+
+1:
+#ifdef PIC
+	bsr.l __syscall_do_cancel
+#else
+	jsr __syscall_do_cancel
+#endif
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h
index 779d5d5d70..79e225e50c 100644
--- a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h
@@ -221,6 +221,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 278
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 331
 #define __NR_msgget 332
 #define __NR_msgrcv 333
diff --git a/sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S b/sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S
new file mode 100644
index 0000000000..1f9d202bf5
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S
@@ -0,0 +1,61 @@
+/* Cancellable syscall wrapper.  Linux/microblaze version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   long int nr,
+				   long int arg1,
+				   long int arg2,
+				   long int arg3,
+				   long int arg4,
+				   long int arg5,
+				   long int arg6)  */
+
+ENTRY (__syscall_cancel_arch)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	lwi	r3,r5,0
+	andi	r3,r3,TCB_CANCELED_BITMASK
+	bneid	r3,1f
+	addk	r12,r6,r0
+
+	addk	r5,r7,r0
+	addk	r6,r8,r0
+	addk	r7,r9,r0
+	addk	r8,r10,r0
+	lwi	r9,r1,56
+	lwi	r10,r1,60
+	brki	r14,8
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+
+	nop
+	lwi	r15,r1,0
+	rtsd	r15,8
+	addik	r1,r1,28
+
+1:
+	brlid	r15, __syscall_do_cancel
+	nop
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h
index 86ffd5ce84..dadd7f3130 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h
@@ -211,6 +211,7 @@
 #define __NR_mq_timedsend_time64 4418
 #define __NR_mq_unlink 4272
 #define __NR_mremap 4167
+#define __NR_mseal 4462
 #define __NR_msgctl 4402
 #define __NR_msgget 4399
 #define __NR_msgrcv 4401
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/syscall_cancel.S b/sysdeps/unix/sysv/linux/mips/mips32/syscall_cancel.S
new file mode 100644
index 0000000000..eb3b2ed005
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/mips32/syscall_cancel.S
@@ -0,0 +1,128 @@
+/* Cancellable syscall wrapper.  Linux/mips32 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <sys/asm.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6,
+				   __syscall_arg_t arg7)  */
+
+#define FRAME_SIZE 56
+
+NESTED (__syscall_cancel_arch, FRAME_SIZE, fp)
+	.mask	0xc0070000,-SZREG
+	.fmask	0x00000000,0
+
+	PTR_ADDIU sp, -FRAME_SIZE
+	cfi_def_cfa_offset (FRAME_SIZE)
+
+	sw	fp, 48(sp)
+	sw	ra, 52(sp)
+	sw	s2, 44(sp)
+	sw	s1, 40(sp)
+	sw	s0, 36(sp)
+#ifdef __PIC__
+	.cprestore	16
+#endif
+	cfi_offset (ra, -4)
+	cfi_offset (fp, -8)
+	cfi_offset (s2, -12)
+	cfi_offset (s1, -16)
+	cfi_offset (s0, -20)
+
+	move	fp ,sp
+	cfi_def_cfa_register (fp)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	lw	v0, 0(a0)
+	andi	v0, v0, TCB_CANCELED_BITMASK
+	bne	v0, zero, 2f
+
+	addiu	sp, sp, -16
+	addiu	v0, sp, 16
+	sw	v0, 24(fp)
+
+	move	s0, a1
+	move	a0, a2
+	move	a1, a3
+	lw	a2, 72(fp)
+	lw	a3, 76(fp)
+	lw	v0, 84(fp)
+	lw	s1, 80(fp)
+	lw	s2, 88(fp)
+
+	.set	noreorder
+	subu	sp, 32
+	sw	s1, 16(sp)
+	sw	v0, 20(sp)
+	sw	s2, 24(sp)
+	move	v0, s0
+	syscall
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	addiu	sp, sp, 32
+	.set	reorder
+
+	beq	a3, zero, 1f
+	subu	v0, zero, v0
+1:
+	move	sp, fp
+	cfi_remember_state
+	cfi_def_cfa_register (sp)
+	lw	ra, 52(fp)
+	lw	fp, 48(sp)
+	lw	s2, 44(sp)
+	lw	s1, 40(sp)
+	lw	s0, 36(sp)
+
+	.set	noreorder
+	.set	nomacro
+	jr	ra
+	addiu	sp,sp,FRAME_SIZE
+
+	.set	macro
+	.set	reorder
+
+	cfi_def_cfa_offset (0)
+	cfi_restore (s0)
+	cfi_restore (s1)
+	cfi_restore (s2)
+	cfi_restore (fp)
+	cfi_restore (ra)
+
+2:
+	cfi_restore_state
+#ifdef __PIC__
+	PTR_LA	t9, __syscall_do_cancel
+	jalr	t9
+#else
+	jal	__syscall_do_cancel
+#endif
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
index 1827caf595..47a1b97351 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+++ b/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
@@ -18,6 +18,10 @@
 #ifndef _LINUX_MIPS_MIPS32_SYSDEP_H
 #define _LINUX_MIPS_MIPS32_SYSDEP_H 1
 
+/* mips32 have cancelable syscalls with 7 arguments (currently only
+   sync_file_range).  */
+#define HAVE_CANCELABLE_SYSCALL_WITH_7_ARGS	1
+
 /* There is some commonality.  */
 #include <sysdeps/unix/sysv/linux/mips/sysdep.h>
 #include <sysdeps/unix/sysv/linux/sysdep.h>
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h
index 5d37a686e5..db6b2d4609 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h
@@ -194,6 +194,7 @@
 #define __NR_mq_timedsend_time64 6418
 #define __NR_mq_unlink 6235
 #define __NR_mremap 6024
+#define __NR_mseal 6462
 #define __NR_msgctl 6069
 #define __NR_msgget 6066
 #define __NR_msgrcv 6068
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/syscall_types.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/syscall_types.h
new file mode 100644
index 0000000000..b3a8b0b634
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/syscall_types.h
@@ -0,0 +1,28 @@
+/* Types and macros used for syscall issuing.  MIPS64n32 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYSCALL_TYPES_H
+#define _SYSCALL_TYPES_H
+
+typedef long long int __syscall_arg_t;
+
+/* Convert X to a long long, without losing any bits if it is one
+   already or warning if it is a 32-bit pointer.  */
+#define __SSC(__x) ((__syscall_arg_t) (__typeof__ ((__x) - (__x))) (__x))
+
+#endif
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h
index 9b1e846e76..b4129a4dbd 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h
@@ -183,6 +183,7 @@
 #define __NR_mq_timedsend 5232
 #define __NR_mq_unlink 5231
 #define __NR_mremap 5024
+#define __NR_mseal 5462
 #define __NR_msgctl 5069
 #define __NR_msgget 5066
 #define __NR_msgrcv 5068
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/syscall_cancel.S b/sysdeps/unix/sysv/linux/mips/mips64/syscall_cancel.S
new file mode 100644
index 0000000000..cfc0596b6a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/mips64/syscall_cancel.S
@@ -0,0 +1,112 @@
+/* Cancellable syscall wrapper.  Linux/mips64 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <sys/asm.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6,
+				   __syscall_arg_t arg7)  */
+
+#define FRAME_SIZE 32
+
+	.text
+NESTED (__syscall_cancel_arch, FRAME_SIZE, ra)
+	.mask	0x90010000, -SZREG
+	.fmask	0x00000000, 0
+	LONG_ADDIU	sp, sp, -FRAME_SIZE
+	cfi_def_cfa_offset (FRAME_SIZE)
+	sd		gp, 16(sp)
+	cfi_offset (gp, -16)
+	lui		gp, %hi(%neg(%gp_rel(__syscall_cancel_arch)))
+	LONG_ADDU	gp, gp, t9
+	sd		ra, 24(sp)
+	sd		s0, 8(sp)
+	cfi_offset (ra, -8)
+	cfi_offset (s0, -24)
+	LONG_ADDIU	gp, gp, %lo(%neg(%gp_rel(__syscall_cancel_arch)))
+
+	.global __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	lw		v0, 0(a0)
+	andi		v0, v0, TCB_CANCELED_BITMASK
+	.set noreorder
+	.set nomacro
+	bne		v0, zero, 2f
+	move		s0, a1
+	.set macro
+	.set reorder
+
+	move		a0, a2
+	move		a1, a3
+	move		a2, a4
+	move		a3, a5
+	move		a4, a6
+	move		a5, a7
+
+	.set noreorder
+	move		v0, s0
+	syscall
+	.set reorder
+
+	.global __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+
+	.set noreorder
+	.set nomacro
+#if __mips_isa_rev >= 6
+	beqzc	$7, 1f
+#else
+	bnel	a3, zero, 1f
+#endif
+	SUBU	v0, zero, v0
+	.set macro
+	.set reorder
+
+1:
+	ld		ra, 24(sp)
+	ld		gp, 16(sp)
+	ld		s0, 8(sp)
+
+	.set	noreorder
+	.set	nomacro
+	jr		ra
+	LONG_ADDIU	sp, sp, FRAME_SIZE
+	.set	macro
+	.set	reorder
+
+	cfi_remember_state
+	cfi_def_cfa_offset (0)
+	cfi_restore (s0)
+	cfi_restore (gp)
+	cfi_restore (ra)
+	.align	3
+2:
+	cfi_restore_state
+	LONG_L		t9, %got_disp(__syscall_do_cancel)(gp)
+	.reloc	3f, R_MIPS_JALR, __syscall_do_cancel
+3:	jalr		t9
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips64/sysdep.h
index 0a1711dad2..0438bed23d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/mips/mips64/sysdep.h
@@ -44,15 +44,7 @@
 #undef HAVE_INTERNAL_BRK_ADDR_SYMBOL
 #define HAVE_INTERNAL_BRK_ADDR_SYMBOL 1
 
-#if _MIPS_SIM == _ABIN32
-/* Convert X to a long long, without losing any bits if it is one
-   already or warning if it is a 32-bit pointer.  */
-# define ARGIFY(X) ((long long int) (__typeof__ ((X) - (X))) (X))
-typedef long long int __syscall_arg_t;
-#else
-# define ARGIFY(X) ((long int) (X))
-typedef long int __syscall_arg_t;
-#endif
+#include <syscall_types.h>
 
 /* Note that the original Linux syscall restart convention required the
    instruction immediately preceding SYSCALL to initialize $v0 with the
@@ -120,7 +112,7 @@ typedef long int __syscall_arg_t;
 	long int _sys_result;						\
 									\
 	{								\
-	__syscall_arg_t _arg1 = ARGIFY (arg1);				\
+	__syscall_arg_t _arg1 = __SSC (arg1);				\
 	register __syscall_arg_t __s0 asm ("$16") __attribute__ ((unused))\
 	  = (number);							\
 	register __syscall_arg_t __v0 asm ("$2");			\
@@ -144,8 +136,8 @@ typedef long int __syscall_arg_t;
 	long int _sys_result;						\
 									\
 	{								\
-	__syscall_arg_t _arg1 = ARGIFY (arg1);				\
-	__syscall_arg_t _arg2 = ARGIFY (arg2);				\
+	__syscall_arg_t _arg1 = __SSC (arg1);				\
+	__syscall_arg_t _arg2 = __SSC (arg2);				\
 	register __syscall_arg_t __s0 asm ("$16") __attribute__ ((unused))\
 	  = (number);							\
 	register __syscall_arg_t __v0 asm ("$2");			\
@@ -170,9 +162,9 @@ typedef long int __syscall_arg_t;
 	long int _sys_result;						\
 									\
 	{								\
-	__syscall_arg_t _arg1 = ARGIFY (arg1);				\
-	__syscall_arg_t _arg2 = ARGIFY (arg2);				\
-	__syscall_arg_t _arg3 = ARGIFY (arg3);				\
+	__syscall_arg_t _arg1 = __SSC (arg1);				\
+	__syscall_arg_t _arg2 = __SSC (arg2);				\
+	__syscall_arg_t _arg3 = __SSC (arg3);				\
 	register __syscall_arg_t __s0 asm ("$16") __attribute__ ((unused))\
 	  = (number);							\
 	register __syscall_arg_t __v0 asm ("$2");			\
@@ -199,10 +191,10 @@ typedef long int __syscall_arg_t;
 	long int _sys_result;						\
 									\
 	{								\
-	__syscall_arg_t _arg1 = ARGIFY (arg1);				\
-	__syscall_arg_t _arg2 = ARGIFY (arg2);				\
-	__syscall_arg_t _arg3 = ARGIFY (arg3);				\
-	__syscall_arg_t _arg4 = ARGIFY (arg4);				\
+	__syscall_arg_t _arg1 = __SSC (arg1);				\
+	__syscall_arg_t _arg2 = __SSC (arg2);				\
+	__syscall_arg_t _arg3 = __SSC (arg3);				\
+	__syscall_arg_t _arg4 = __SSC (arg4);				\
 	register __syscall_arg_t __s0 asm ("$16") __attribute__ ((unused))\
 	  = (number);							\
 	register __syscall_arg_t __v0 asm ("$2");			\
@@ -229,11 +221,11 @@ typedef long int __syscall_arg_t;
 	long int _sys_result;						\
 									\
 	{								\
-	__syscall_arg_t _arg1 = ARGIFY (arg1);				\
-	__syscall_arg_t _arg2 = ARGIFY (arg2);				\
-	__syscall_arg_t _arg3 = ARGIFY (arg3);				\
-	__syscall_arg_t _arg4 = ARGIFY (arg4);				\
-	__syscall_arg_t _arg5 = ARGIFY (arg5);				\
+	__syscall_arg_t _arg1 = __SSC (arg1);				\
+	__syscall_arg_t _arg2 = __SSC (arg2);				\
+	__syscall_arg_t _arg3 = __SSC (arg3);				\
+	__syscall_arg_t _arg4 = __SSC (arg4);				\
+	__syscall_arg_t _arg5 = __SSC (arg5);				\
 	register __syscall_arg_t __s0 asm ("$16") __attribute__ ((unused))\
 	  = (number);							\
 	register __syscall_arg_t __v0 asm ("$2");			\
@@ -261,12 +253,12 @@ typedef long int __syscall_arg_t;
 	long int _sys_result;						\
 									\
 	{								\
-	__syscall_arg_t _arg1 = ARGIFY (arg1);				\
-	__syscall_arg_t _arg2 = ARGIFY (arg2);				\
-	__syscall_arg_t _arg3 = ARGIFY (arg3);				\
-	__syscall_arg_t _arg4 = ARGIFY (arg4);				\
-	__syscall_arg_t _arg5 = ARGIFY (arg5);				\
-	__syscall_arg_t _arg6 = ARGIFY (arg6);				\
+	__syscall_arg_t _arg1 = __SSC (arg1);				\
+	__syscall_arg_t _arg2 = __SSC (arg2);				\
+	__syscall_arg_t _arg3 = __SSC (arg3);				\
+	__syscall_arg_t _arg4 = __SSC (arg4);				\
+	__syscall_arg_t _arg5 = __SSC (arg5);				\
+	__syscall_arg_t _arg6 = __SSC (arg6);				\
 	register __syscall_arg_t __s0 asm ("$16") __attribute__ ((unused))\
 	  = (number);							\
 	register __syscall_arg_t __v0 asm ("$2");			\
diff --git a/sysdeps/unix/sysv/linux/mremap-failure.h b/sysdeps/unix/sysv/linux/mremap-failure.h
new file mode 100644
index 0000000000..c99ab30ca9
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mremap-failure.h
@@ -0,0 +1,30 @@
+/* mremap failure handling.  Linux version.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <support/check.h>
+
+/* Return exit value on mremap failure with errno ERR.  */
+
+static int
+mremap_failure_exit (int err)
+{
+  if (err != EINVAL)
+    return EXIT_FAILURE;
+
+  return EXIT_UNSUPPORTED;
+}
diff --git a/sysdeps/unix/sysv/linux/mremap.c b/sysdeps/unix/sysv/linux/mremap.c
index 4f770799c4..1ada5c1f40 100644
--- a/sysdeps/unix/sysv/linux/mremap.c
+++ b/sysdeps/unix/sysv/linux/mremap.c
@@ -20,6 +20,12 @@
 #include <sysdep.h>
 #include <stdarg.h>
 #include <stddef.h>
+#include <errno.h>
+
+#define MREMAP_KNOWN_BITS \
+  (MREMAP_MAYMOVE \
+   | MREMAP_FIXED \
+   | MREMAP_DONTUNMAP)
 
 void *
 __mremap (void *addr, size_t old_len, size_t new_len, int flags, ...)
@@ -27,7 +33,13 @@ __mremap (void *addr, size_t old_len, size_t new_len, int flags, ...)
   va_list va;
   void *new_addr = NULL;
 
-  if (flags & MREMAP_FIXED)
+  if (flags & ~(MREMAP_KNOWN_BITS))
+    {
+      __set_errno (EINVAL);
+      return MAP_FAILED;
+    }
+
+  if (flags & (MREMAP_FIXED | MREMAP_DONTUNMAP))
     {
       va_start (va, flags);
       new_addr = va_arg (va, void *);
diff --git a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h
index abbc9ab6b0..f94e212995 100644
--- a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h
@@ -167,6 +167,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 181
 #define __NR_mremap 216
+#define __NR_mseal 462
 #define __NR_msgctl 187
 #define __NR_msgget 186
 #define __NR_msgrcv 188
diff --git a/sysdeps/unix/sysv/linux/nios2/syscall_cancel.S b/sysdeps/unix/sysv/linux/nios2/syscall_cancel.S
new file mode 100644
index 0000000000..19d0795886
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/nios2/syscall_cancel.S
@@ -0,0 +1,95 @@
+/* Cancellable syscall wrapper.  Linux/nios2 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6)  */
+
+ENTRY (__syscall_cancel_arch)
+#ifdef SHARED
+	addi	sp, sp, -8
+	stw	r22, 0(sp)
+	nextpc	r22
+1:
+	movhi	r8, %hiadj(_gp_got - 1b)
+	addi	r8, r8, %lo(_gp_got - 1b)
+	stw	ra, 4(sp)
+	add	r22, r22, r8
+#else
+	addi	sp, sp, -4
+	cfi_def_cfa_offset (4)
+	stw	ra, 0(sp)
+	cfi_offset (31, -4)
+#endif
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+	ldw	r3, 0(r4)
+	andi	r3, r3, TCB_CANCELED_BITMASK
+	bne	r3, zero, 3f
+	mov	r10, r6
+	mov	r2, r5
+#ifdef SHARED
+# define STACK_ADJ 4
+#else
+# define STACK_ADJ 0
+#endif
+	ldw	r9, (16 + STACK_ADJ)(sp)
+	mov	r5, r7
+	ldw	r8, (12 + STACK_ADJ)(sp)
+	ldw	r7, (8 + STACK_ADJ)(sp)
+	ldw	r6, (4 + STACK_ADJ)(sp)
+	mov	r4, r10
+	trap
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	beq	r7, zero, 2f
+	sub	r2, zero, r2
+2:
+#ifdef SHARED
+	ldw	ra, 4(sp)
+	ldw	r22, 0(sp)
+	addi	sp, sp, 8
+#else
+	ldw	ra, (0 + STACK_ADJ)(sp)
+	cfi_remember_state
+	cfi_restore (31)
+	addi	sp, sp, 4
+	cfi_def_cfa_offset (0)
+#endif
+	ret
+
+3:
+#ifdef SHARED
+	ldw	r2, %call(__syscall_do_cancel)(r22)
+	callr	r2
+#else
+	cfi_restore_state
+	call	__syscall_do_cancel
+#endif
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h
index 7223a93673..2d21fa2085 100644
--- a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h
@@ -167,6 +167,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 181
 #define __NR_mremap 216
+#define __NR_mseal 462
 #define __NR_msgctl 187
 #define __NR_msgget 186
 #define __NR_msgrcv 188
diff --git a/sysdeps/unix/sysv/linux/or1k/syscall_cancel.S b/sysdeps/unix/sysv/linux/or1k/syscall_cancel.S
new file mode 100644
index 0000000000..876f5e05ab
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/or1k/syscall_cancel.S
@@ -0,0 +1,63 @@
+/* Cancellable syscall wrapper.  Linux/or1k version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+ENTRY (__syscall_cancel_arch)
+	l.addi	r1, r1, -4
+	cfi_def_cfa_offset (4)
+	l.sw	0(r1), r9
+	cfi_offset (9, -4)
+
+	.global __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	l.movhi	r19, hi(0)
+	l.lwz	r17, 0(r3)
+	l.andi	r17, r17, 8
+	l.sfeq	r17, r19
+	l.bnf	1f
+
+	/* Issue a 6 argument syscall.  */
+	l.or	r11, r4, r4
+	l.or	r3, r5, r5
+	l.or	r4, r6, r6
+	l.or	r5, r7, r7
+	l.or	r6, r8, r8
+	l.lwz	r7, 4(r1)
+	l.lwz	r8, 8(r1)
+	l.sys	1
+	 l.nop
+
+	.global __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+
+	l.lwz	r9, 0(r1)
+	l.jr	r9
+	l.addi	r1, r1, 4
+	cfi_remember_state
+	cfi_def_cfa_offset (0)
+	cfi_restore (9)
+1:
+	cfi_restore_state
+	l.jal	__syscall_do_cancel
+	 l.nop
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/powerpc/cancellation-pc-check.h b/sysdeps/unix/sysv/linux/powerpc/cancellation-pc-check.h
new file mode 100644
index 0000000000..1175e1a070
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/cancellation-pc-check.h
@@ -0,0 +1,65 @@
+/* Architecture specific code for pthread cancellation handling.
+   Linux/PowerPC version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _NPTL_CANCELLATION_PC_CHECK
+#define _NPTL_CANCELLATION_PC_CHECK
+
+#include <sigcontextinfo.h>
+
+/* For syscalls with side-effects (e.g read that might return partial read),
+   the kernel cannot restart the syscall when interrupted by a signal, it must
+   return from the call with whatever partial result.  In this case, the saved
+   program counter is set just after the syscall instruction, so the SIGCANCEL
+   handler should not act on cancellation.
+
+   The __syscall_cancel_arch function, used for all cancellable syscalls,
+   contains two extra markers, __syscall_cancel_arch_start and
+   __syscall_cancel_arch_end.  The former points to just before the initial
+   conditional branch that checks if the thread has received a cancellation
+   request, while former points to the instruction after the one responsible
+   to issue the syscall.
+
+   The function check if the program counter (PC) from ucontext_t CTX is
+   within the start and then end boundary from the __syscall_cancel_arch
+   bridge.  Return TRUE if the PC is within the boundary, meaning the
+   syscall does not have any side effects; or FALSE otherwise.  */
+
+static __always_inline bool
+cancellation_pc_check (void *ctx)
+{
+  /* Both are defined in syscall_cancel.S.  */
+  extern const char __syscall_cancel_arch_start[1];
+  extern const char __syscall_cancel_arch_end_sc[1];
+#if defined(USE_PPC_SVC) && defined(__powerpc64__)
+  extern const char __syscall_cancel_arch_end_svc[1];
+#endif
+
+  uintptr_t pc = sigcontext_get_pc (ctx);
+
+  return pc >= (uintptr_t) __syscall_cancel_arch_start
+#if defined(USE_PPC_SVC) && defined(__powerpc64__)
+	 && THREAD_GET_HWCAP() & PPC_FEATURE2_SCV
+	    ? pc < (uintptr_t) __syscall_cancel_arch_end_sc
+	    : pc < (uintptr_t) __syscall_cancel_arch_end_svc;
+#else
+	 && pc < (uintptr_t) __syscall_cancel_arch_end_sc;
+#endif
+}
+
+#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h
index af0d2b121e..206d9fd656 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h
@@ -211,6 +211,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 263
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 402
 #define __NR_msgget 399
 #define __NR_msgrcv 401
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h
index a4c70aa7fe..19f72a7f69 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h
@@ -195,6 +195,7 @@
 #define __NR_mq_timedsend 264
 #define __NR_mq_unlink 263
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 402
 #define __NR_msgget 399
 #define __NR_msgrcv 401
diff --git a/sysdeps/unix/sysv/linux/powerpc/syscall_cancel.S b/sysdeps/unix/sysv/linux/powerpc/syscall_cancel.S
new file mode 100644
index 0000000000..1f119d0889
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/syscall_cancel.S
@@ -0,0 +1,86 @@
+/* Cancellable syscall wrapper.  Linux/powerpc version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int [r3] __syscall_cancel_arch (int *cancelhandling [r3],
+					long int nr   [r4],
+					long int arg1 [r5],
+					long int arg2 [r6],
+					long int arg3 [r7],
+					long int arg4 [r8],
+					long int arg5 [r9],
+					long int arg6 [r10])  */
+
+ENTRY (__syscall_cancel_arch)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	lwz     r0,0(r3)
+	andi.   r0,r0,TCB_CANCELED_BITMASK
+	bne     1f
+
+	/* Issue a 6 argument syscall, the nr [r4] being the syscall
+	   number.  */
+	mr      r0,r4
+	mr      r3,r5
+	mr      r4,r6
+	mr      r5,r7
+	mr      r6,r8
+	mr      r7,r9
+	mr      r8,r10
+
+#if defined(USE_PPC_SVC) && defined(__powerpc64__)
+	CHECK_SCV_SUPPORT r9 0f
+
+	stdu	r1, -SCV_FRAME_SIZE(r1)
+	cfi_adjust_cfa_offset (SCV_FRAME_SIZE)
+	.machine "push"
+	.machine "power9"
+	scv	0
+	.machine "pop"
+	.globl __syscall_cancel_arch_end_svc
+__syscall_cancel_arch_end_svc:
+	ld	r9, SCV_FRAME_SIZE + FRAME_LR_SAVE(r1)
+	mtlr	r9
+	addi	r1, r1, SCV_FRAME_SIZE
+	cfi_restore (lr)
+	li	r9, -4095
+	cmpld	r3, r9
+	bnslr+
+	neg	r3,r3
+	blr
+0:
+#endif
+	sc
+	.globl __syscall_cancel_arch_end_sc
+__syscall_cancel_arch_end_sc:
+	bnslr+
+	neg	r3,r3
+	blr
+
+	/* Although the __syscall_do_cancel do not return, we need to stack
+	   being set correctly for unwind.  */
+1:
+	TAIL_CALL_NO_RETURN (__syscall_do_cancel)
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h
index 7315d164d6..eb9e57b028 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h
@@ -153,6 +153,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 181
 #define __NR_mremap 216
+#define __NR_mseal 462
 #define __NR_msgctl 187
 #define __NR_msgget 186
 #define __NR_msgrcv 188
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h
index 31a1130db9..1eac18e582 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h
@@ -158,6 +158,7 @@
 #define __NR_mq_timedsend 182
 #define __NR_mq_unlink 181
 #define __NR_mremap 216
+#define __NR_mseal 462
 #define __NR_msgctl 187
 #define __NR_msgget 186
 #define __NR_msgrcv 188
diff --git a/sysdeps/unix/sysv/linux/riscv/syscall_cancel.S b/sysdeps/unix/sysv/linux/riscv/syscall_cancel.S
new file mode 100644
index 0000000000..742c748d09
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/riscv/syscall_cancel.S
@@ -0,0 +1,67 @@
+/* Cancellable syscall wrapper.  Linux/riscv version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6)  */
+
+#ifdef SHARED
+	.option pic
+#else
+	.option nopic
+#endif
+
+ENTRY (__syscall_cancel_arch)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+	lw	t1, 0(a0)
+	/* if (*ch & CANCELED_BITMASK)  */
+	andi	t1, t1, TCB_CANCELED_BITMASK
+	bne	t1, zero, 1f
+
+	mv	t3, a1
+	mv	a0, a2
+	mv	a1, a3
+	mv	a2, a4
+	mv	a3, a5
+	mv	a4, a6
+	mv	a5, a7
+	mv	a7, t3
+	scall
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	ret
+
+1:
+	addi	sp, sp, -16
+	cfi_def_cfa_offset (16)
+	REG_S	ra, (16-SZREG)(sp)
+	cfi_offset (ra, -SZREG)
+	call	__syscall_do_cancel
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/rseq-internal.h b/sysdeps/unix/sysv/linux/rseq-internal.h
index 48eebc1e16..7ea935b4ad 100644
--- a/sysdeps/unix/sysv/linux/rseq-internal.h
+++ b/sysdeps/unix/sysv/linux/rseq-internal.h
@@ -25,15 +25,34 @@
 #include <stdio.h>
 #include <sys/rseq.h>
 
+/* 32 is the initially required value for the area size.  The
+   actually used rseq size may be less (20 bytes initially).  */
+#define RSEQ_AREA_SIZE_INITIAL 32
+#define RSEQ_AREA_SIZE_INITIAL_USED 20
+
+/* The variables are in .data.relro but are not yet write-protected.  */
+extern unsigned int _rseq_size attribute_hidden;
+extern ptrdiff_t _rseq_offset attribute_hidden;
+
 #ifdef RSEQ_SIG
 static inline bool
 rseq_register_current_thread (struct pthread *self, bool do_rseq)
 {
   if (do_rseq)
     {
+      unsigned int size;
+#if IS_IN (rtld)
+      /* Use the hidden symbol in ld.so.  */
+      size = _rseq_size;
+#else
+      size = __rseq_size;
+#endif
+      if (size < RSEQ_AREA_SIZE_INITIAL)
+        /* The initial implementation used only 20 bytes out of 32,
+           but still expected size 32.  */
+        size = RSEQ_AREA_SIZE_INITIAL;
       int ret = INTERNAL_SYSCALL_CALL (rseq, &self->rseq_area,
-                                       sizeof (self->rseq_area),
-                                       0, RSEQ_SIG);
+                                       size, 0, RSEQ_SIG);
       if (!INTERNAL_SYSCALL_ERROR_P (ret))
         return true;
     }
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h
index cf8569304d..464eca58b2 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h
@@ -214,6 +214,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 272
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 402
 #define __NR_msgget 399
 #define __NR_msgrcv 401
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/syscall_cancel.S b/sysdeps/unix/sysv/linux/s390/s390-32/syscall_cancel.S
new file mode 100644
index 0000000000..9e0ad2a635
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/syscall_cancel.S
@@ -0,0 +1,62 @@
+/* Cancellable syscall wrapper.  Linux/s390 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6)  */
+
+ENTRY (__syscall_cancel_arch)
+	stm	%r6,%r7,24(%r15)
+	cfi_offset (%r6, -72)
+	cfi_offset (%r7, -68)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	tm	3(%r2),TCB_CANCELED_BITMASK
+	jne	1f
+
+	/* Issue a 6 argument syscall, the nr [%r1] being the syscall
+	   number.  */
+	lr	%r1,%r3
+	lr	%r2,%r4
+	lr	%r3,%r5
+	lr	%r4,%r6
+	lm	%r5,%r7,96(%r15)
+	svc	0
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	lm	%r6,%r7,24(%r15)
+	cfi_remember_state
+	cfi_restore (%r7)
+	cfi_restore (%r6)
+	br	%r14
+1:
+	cfi_restore_state
+	jg	__syscall_do_cancel
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h
index f3536ed03f..57842702fd 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h
@@ -185,6 +185,7 @@
 #define __NR_mq_timedsend 273
 #define __NR_mq_unlink 272
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 402
 #define __NR_msgget 399
 #define __NR_msgrcv 401
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/syscall_cancel.S b/sysdeps/unix/sysv/linux/s390/s390-64/syscall_cancel.S
new file mode 100644
index 0000000000..e1620add6a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/syscall_cancel.S
@@ -0,0 +1,62 @@
+/* Cancellable syscall wrapper.  Linux/s390x version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   __syscall_arg_t nr,
+				   __syscall_arg_t arg1,
+				   __syscall_arg_t arg2,
+				   __syscall_arg_t arg3,
+				   __syscall_arg_t arg4,
+				   __syscall_arg_t arg5,
+				   __syscall_arg_t arg6)  */
+
+ENTRY (__syscall_cancel_arch)
+	stmg	%r6,%r7,48(%r15)
+	cfi_offset (%r6, -112)
+	cfi_offset (%r7, -104)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	tm	3(%r2),TCB_CANCELED_BITMASK
+	jne	1f
+
+	/* Issue a 6 argument syscall, the nr [%r1] being the syscall
+	   number.  */
+	lgr	%r1,%r3
+	lgr	%r2,%r4
+	lgr	%r3,%r5
+	lgr	%r4,%r6
+	lmg	%r5,%r7,160(%r15)
+	svc	0
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	lmg	%r6,%r7,48(%r15)
+	cfi_remember_state
+	cfi_restore (%r7)
+	cfi_restore (%r6)
+	br	%r14
+1:
+	cfi_restore_state
+	jg	__syscall_do_cancel
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/sh/arch-syscall.h b/sysdeps/unix/sysv/linux/sh/arch-syscall.h
index 0c88bf10c7..165ba017c7 100644
--- a/sysdeps/unix/sysv/linux/sh/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/sh/arch-syscall.h
@@ -206,6 +206,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 278
 #define __NR_mremap 163
+#define __NR_mseal 462
 #define __NR_msgctl 402
 #define __NR_msgget 399
 #define __NR_msgrcv 401
@@ -378,6 +379,7 @@
 #define __NR_symlinkat 304
 #define __NR_sync 36
 #define __NR_sync_file_range 314
+#define __NR_sync_file_range2 388
 #define __NR_syncfs 362
 #define __NR_sysfs 135
 #define __NR_sysinfo 116
diff --git a/sysdeps/unix/sysv/linux/sh/syscall_cancel.S b/sysdeps/unix/sysv/linux/sh/syscall_cancel.S
new file mode 100644
index 0000000000..2afd23928d
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sh/syscall_cancel.S
@@ -0,0 +1,126 @@
+/* Cancellable syscall wrapper.  Linux/sh version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   long int nr,
+				   long int arg1,
+				   long int arg2,
+				   long int arg3,
+				   long int arg4,
+				   long int arg5,
+				   long int arg6)  */
+
+ENTRY (__syscall_cancel_arch)
+
+#ifdef SHARED
+	mov.l	r12,@-r15
+	cfi_def_cfa_offset (4)
+	cfi_offset (12, -4)
+	mova	L(GT),r0
+	mov.l	L(GT),r12
+	sts.l	pr,@-r15
+	cfi_def_cfa_offset (8)
+	cfi_offset (17, -8)
+	add	r0,r12
+#else
+	sts.l	pr,@-r15
+	cfi_def_cfa_offset (4)
+	cfi_offset (17, -4)
+#endif
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	mov.l	@r4,r0
+	tst	#TCB_CANCELED_BITMASK,r0
+	bf/s	1f
+
+	/* Issue a 6 argument syscall.  */
+	mov	r5,r3
+	mov	r6,r4
+	mov	r7,r5
+#ifdef SHARED
+	mov.l	@(8,r15),r6
+	mov.l	@(12,r15),r7
+	mov.l	@(16,r15),r0
+	mov.l	@(20,r15),r1
+#else
+	mov.l	@(4,r15),r6
+	mov.l	@(8,r15),r7
+	mov.l	@(12,r15),r0
+	mov.l	@(16,r15),r1
+#endif
+	trapa	#0x16
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+
+	/* The additional or is a workaround for a hardware issue:
+	   http://documentation.renesas.com/eng/products/mpumcu/tu/tnsh7456ae.pdf
+	 */
+	or	r0,r0
+	or	r0,r0
+	or	r0,r0
+	or	r0,r0
+	or	r0,r0
+
+	lds.l	@r15+,pr
+	cfi_remember_state
+	cfi_restore (17)
+#ifdef SHARED
+	cfi_def_cfa_offset (4)
+	rts
+	mov.l	@r15+,r12
+	cfi_def_cfa_offset (0)
+	cfi_restore (12)
+	.align 1
+1:
+	cfi_restore_state
+	mov.l	L(SC),r1
+	bsrf	r1
+L(M):
+	nop
+
+	.align 2
+L(GT):
+	.long	_GLOBAL_OFFSET_TABLE_
+L(SC):
+	.long	__syscall_do_cancel-(L(M)+2)
+#else
+	cfi_def_cfa_offset (0)
+	rts
+	nop
+
+	.align 1
+1:
+	cfi_restore_state
+	mov.l	2f,r1
+	jsr	@r1
+	nop
+
+	.align 2
+2:
+	.long	__syscall_do_cancel
+#endif
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/socketcall.h b/sysdeps/unix/sysv/linux/socketcall.h
index 537fa43678..0efa5ee9e4 100644
--- a/sysdeps/unix/sysv/linux/socketcall.h
+++ b/sysdeps/unix/sysv/linux/socketcall.h
@@ -88,14 +88,33 @@
     sc_ret;								\
   })
 
-
-#define SOCKETCALL_CANCEL(name, args...)				\
-  ({									\
-    int oldtype = LIBC_CANCEL_ASYNC ();					\
-    long int sc_ret = __SOCKETCALL (SOCKOP_##name, args);		\
-    LIBC_CANCEL_RESET (oldtype);					\
-    sc_ret;								\
-  })
+#define __SOCKETCALL_CANCEL1(__name, __a1) \
+  SYSCALL_CANCEL (socketcall, __name, \
+     ((long int [1]) { (long int) __a1 }))
+#define __SOCKETCALL_CANCEL2(__name, __a1, __a2) \
+  SYSCALL_CANCEL (socketcall, __name, \
+     ((long int [2]) { (long int) __a1, (long int) __a2 }))
+#define __SOCKETCALL_CANCEL3(__name, __a1, __a2, __a3) \
+  SYSCALL_CANCEL (socketcall, __name, \
+     ((long int [3]) { (long int) __a1, (long int) __a2, (long int) __a3 }))
+#define __SOCKETCALL_CANCEL4(__name, __a1, __a2, __a3, __a4) \
+  SYSCALL_CANCEL (socketcall, __name, \
+     ((long int [4]) { (long int) __a1, (long int) __a2, (long int) __a3, \
+                       (long int) __a4 }))
+#define __SOCKETCALL_CANCEL5(__name, __a1, __a2, __a3, __a4, __a5) \
+  SYSCALL_CANCEL (socketcall, __name, \
+     ((long int [5]) { (long int) __a1, (long int) __a2, (long int) __a3, \
+                       (long int) __a4, (long int) __a5 }))
+#define __SOCKETCALL_CANCEL6(__name, __a1, __a2, __a3, __a4, __a5, __a6) \
+  SYSCALL_CANCEL (socketcall, __name, \
+     ((long int [6]) { (long int) __a1, (long int) __a2, (long int) __a3, \
+                       (long int) __a4, (long int) __a5, (long int) __a6 }))
+
+#define __SOCKETCALL_CANCEL(...) __SOCKETCALL_DISP (__SOCKETCALL_CANCEL,\
+						    __VA_ARGS__)
+
+#define SOCKETCALL_CANCEL(name, args...) \
+   __SOCKETCALL_CANCEL (SOCKOP_##name, args)
 
 
 #endif /* sys/socketcall.h */
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h
index 19fa614624..3bad6f102f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h
@@ -211,6 +211,7 @@
 #define __NR_mq_timedsend_time64 418
 #define __NR_mq_unlink 274
 #define __NR_mremap 250
+#define __NR_mseal 462
 #define __NR_msgctl 402
 #define __NR_msgget 399
 #define __NR_msgrcv 401
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
index 748d25fcfe..c9cf9bb055 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
@@ -28,6 +28,9 @@
 	.text
 ENTRY (__clone)
 	save	%sp,-96,%sp
+	save	%sp,-96,%sp
+	flushw
+	restore
 	cfi_def_cfa_register(%fp)
 	cfi_window_save
 	cfi_register(%o7, %i7)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/syscall_cancel.S b/sysdeps/unix/sysv/linux/sparc/sparc32/syscall_cancel.S
new file mode 100644
index 0000000000..aa5c658ce1
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/syscall_cancel.S
@@ -0,0 +1,71 @@
+/* Cancellable syscall wrapper.  Linux/sparc32 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   long int nr,
+				   long int arg1,
+				   long int arg2,
+				   long int arg3,
+				   long int arg4,
+				   long int arg5,
+				   long int arg6)  */
+
+ENTRY (__syscall_cancel_arch)
+	save	%sp, -96, %sp
+
+	cfi_window_save
+	cfi_register (%o7, %i7)
+	cfi_def_cfa_register (%fp)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	ld	[%i0], %g2
+	andcc	%g2, TCB_CANCELED_BITMASK, %g0
+	bne,pn	%icc, 2f
+	/* Issue a 6 argument syscall.  */
+	 mov	%i1, %g1
+	mov	%i2, %o0
+	mov	%i3, %o1
+	mov	%i4, %o2
+	mov	%i5, %o3
+	ld	[%fp+92], %o4
+	ld	[%fp+96], %o5
+	ta	0x10
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	bcc	1f
+	 nop
+	sub	%g0, %o0, %o0
+1:
+	mov	%o0, %i0
+	return	%i7+8
+	 nop
+
+2:
+	call	__syscall_do_cancel, 0
+	 nop
+	nop
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h
index 18516f20cb..98e1437920 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h
@@ -192,6 +192,7 @@
 #define __NR_mq_timedsend 275
 #define __NR_mq_unlink 274
 #define __NR_mremap 250
+#define __NR_mseal 462
 #define __NR_msgctl 402
 #define __NR_msgget 399
 #define __NR_msgrcv 401
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
index e5ff2cf1a0..370d51fda2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
@@ -32,6 +32,9 @@
 
 ENTRY (__clone)
 	save	%sp, -192, %sp
+	save	%sp, -192, %sp
+	flushw
+	restore
 	cfi_def_cfa_register(%fp)
 	cfi_window_save
 	cfi_register(%o7, %i7)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/syscall_cancel.S b/sysdeps/unix/sysv/linux/sparc/sparc64/syscall_cancel.S
new file mode 100644
index 0000000000..21b0728d5a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscall_cancel.S
@@ -0,0 +1,74 @@
+/* Cancellable syscall wrapper.  Linux/sparc64 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+	.register       %g2, #scratch
+
+/* long int __syscall_cancel_arch (int *cancelhandling,
+				   long int nr,
+				   long int arg1,
+				   long int arg2,
+				   long int arg3,
+				   long int arg4,
+				   long int arg5,
+				   long int arg6)  */
+
+ENTRY (__syscall_cancel_arch)
+	save	%sp, -176, %sp
+
+	cfi_window_save
+	cfi_register (%o7, %i7)
+	cfi_def_cfa_register (%fp)
+
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	lduw	[%i0], %g2
+	andcc	%g2, TCB_CANCELED_BITMASK, %g0
+	bne,pn	%xcc, 2f
+	/* Issue a 6 argument syscall.  */
+	 mov	%i1, %g1
+	mov	%i2, %o0
+	mov	%i3, %o1
+	mov	%i4, %o2
+	mov	%i5, %o3
+	ldx	[%fp + STACK_BIAS + 176], %o4
+	ldx	[%fp + STACK_BIAS + 184], %o5
+	ta	0x6d
+
+	.global __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+
+	bcc,pt	%xcc, 1f
+	 nop
+	sub	%g0, %o0, %o0
+1:
+	mov	%o0, %i0
+	return	%i7+8
+	 nop
+
+2:
+	call	__syscall_do_cancel, 0
+	 nop
+	nop
+
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list
index 672d39eaad..7871f93b94 100644
--- a/sysdeps/unix/sysv/linux/syscall-names.list
+++ b/sysdeps/unix/sysv/linux/syscall-names.list
@@ -21,8 +21,8 @@
 # This file can list all potential system calls.  The names are only
 # used if the installed kernel headers also provide them.
 
-# The list of system calls is current as of Linux 6.9.
-kernel 6.9
+# The list of system calls is current as of Linux 6.10.
+kernel 6.10
 
 FAST_atomic_update
 FAST_cmpxchg
@@ -287,6 +287,7 @@ mq_timedsend
 mq_timedsend_time64
 mq_unlink
 mremap
+mseal
 msgctl
 msgget
 msgrcv
diff --git a/sysdeps/unix/sysv/linux/syscall_cancel.c b/sysdeps/unix/sysv/linux/syscall_cancel.c
new file mode 100644
index 0000000000..5fa0706486
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/syscall_cancel.c
@@ -0,0 +1,73 @@
+/* Pthread cancellation syscall bridge.  Default Linux version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <pthreadP.h>
+
+#warning "This implementation should be use just as reference or for bootstrapping"
+
+/* This is the generic version of the cancellable syscall code which
+   adds the label guards (__syscall_cancel_arch_{start,end}) used on SIGCANCEL
+   handler to check if the cancelled syscall have side-effects that need to be
+   returned to the caller.
+
+   This implementation should be used as a reference one to document the
+   implementation constraints:
+
+     1. The __syscall_cancel_arch_start should point just before the test
+        that thread is already cancelled,
+     2.	The __syscall_cancel_arch_end should point to the immediate next
+        instruction after the syscall one.
+     3. It should return the syscall value or a negative result if is has
+        failed, similar to INTERNAL_SYSCALL_CALL.
+
+   The __syscall_cancel_arch_end one is because the kernel will signal
+   interrupted syscall with side effects by setting the signal frame program
+   counter (on the ucontext_t third argument from SA_SIGINFO signal handler)
+   right after the syscall instruction.
+
+   For some architecture, the INTERNAL_SYSCALL_NCS macro use more instructions
+   to get the error condition from kernel (as for powerpc and sparc that
+   checks for the conditional register), or uses an out of the line helper
+   (ARM thumb), or uses a kernel helper gate (i686 or ia64).  In this case
+   the architecture should either adjust the macro or provide a custom
+   __syscall_cancel_arch implementation.   */
+
+long int
+__syscall_cancel_arch (volatile int *ch, __syscall_arg_t nr,
+		       __syscall_arg_t a1, __syscall_arg_t a2,
+		       __syscall_arg_t a3, __syscall_arg_t a4,
+		       __syscall_arg_t a5, __syscall_arg_t a6
+		       __SYSCALL_CANCEL7_ARG_DEF)
+{
+#define ADD_LABEL(__label)		\
+  asm volatile (			\
+    ".global " __label "\t\n"		\
+    __label ":\n");
+
+  ADD_LABEL ("__syscall_cancel_arch_start");
+  if (__glibc_unlikely (*ch & CANCELED_BITMASK))
+    __syscall_do_cancel();
+
+  long int result = INTERNAL_SYSCALL_NCS_CALL (nr, a1, a2, a3, a4, a5, a6
+					       __SYSCALL_CANCEL7_ARG7);
+  ADD_LABEL ("__syscall_cancel_arch_end");
+  if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result)))
+    return -INTERNAL_SYSCALL_ERRNO (result);
+  return result;
+}
diff --git a/sysdeps/unix/sysv/linux/sysdep-cancel.h b/sysdeps/unix/sysv/linux/sysdep-cancel.h
index c48a50fa88..3f1543fec2 100644
--- a/sysdeps/unix/sysv/linux/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/sysdep-cancel.h
@@ -21,17 +21,5 @@
 #define _SYSDEP_CANCEL_H
 
 #include <sysdep.h>
-#include <tls.h>
-#include <errno.h>
-
-/* Set cancellation mode to asynchronous.  */
-extern int __pthread_enable_asynccancel (void);
-libc_hidden_proto (__pthread_enable_asynccancel)
-#define LIBC_CANCEL_ASYNC() __pthread_enable_asynccancel ()
-
-/* Reset to previous cancellation mode.  */
-extern void __pthread_disable_asynccancel (int oldtype);
-libc_hidden_proto (__pthread_disable_asynccancel)
-#define LIBC_CANCEL_RESET(oldtype) __pthread_disable_asynccancel (oldtype)
 
 #endif
diff --git a/sysdeps/unix/sysv/linux/tst-linux-mremap1.c b/sysdeps/unix/sysv/linux/tst-linux-mremap1.c
new file mode 100644
index 0000000000..408e8af2ab
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tst-linux-mremap1.c
@@ -0,0 +1,63 @@
+/* Test mremap with MREMAP_DONTUNMAP.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <sys/mman.h>
+#include <support/xstdlib.h>
+#include <support/xunistd.h>
+#include <support/check.h>
+#include <support/test-driver.h>
+#include <mremap-failure.h>
+
+static int
+do_test (void)
+{
+  size_t old_size = getpagesize ();
+  size_t new_size = old_size;
+  char *old_addr = xmmap (NULL, old_size, PROT_READ | PROT_WRITE,
+			  MAP_PRIVATE | MAP_ANONYMOUS, -1);
+  old_addr[0] = 1;
+  old_addr[old_size - 1] = 2;
+
+  /* Create an available 64-page mmap region.  */
+  size_t fixed_size = old_size * 64;
+  char *fixed_addr = xmmap (NULL, fixed_size, PROT_READ | PROT_WRITE,
+			    MAP_PRIVATE | MAP_ANONYMOUS, -1);
+  xmunmap (fixed_addr, fixed_size);
+
+  /* Add 3 * pagesize.  */
+  fixed_size += 3 * old_size;
+
+  /* Test MREMAP_DONTUNMAP.  It should return FIXED_ADDR created above.  */
+  char *new_addr = mremap (old_addr, old_size, new_size,
+			   MREMAP_DONTUNMAP | MREMAP_MAYMOVE,
+			   fixed_addr);
+  if (new_addr == MAP_FAILED)
+    return mremap_failure_exit (errno);
+  TEST_VERIFY_EXIT (fixed_addr == new_addr);
+  old_addr[0] = 3;
+  old_addr[old_size - 1] = 4;
+  new_addr[0] = 1;
+  new_addr[new_size - 1] = 2;
+  xmunmap (new_addr, new_size);
+  xmunmap (old_addr, old_size);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py
index 441261c945..a1137eb1d5 100644
--- a/sysdeps/unix/sysv/linux/tst-mman-consts.py
+++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py
@@ -33,7 +33,7 @@ def main():
                         help='C compiler (including options) to use')
     args = parser.parse_args()
     linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc)
-    linux_version_glibc = (6, 9)
+    linux_version_glibc = (6, 10)
     sys.exit(glibcextract.compare_macro_consts(
         '#define _GNU_SOURCE 1\n'
         '#include <sys/mman.h>\n',
diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py
index c4a67221c1..675f1790b6 100755
--- a/sysdeps/unix/sysv/linux/tst-mount-consts.py
+++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py
@@ -39,10 +39,10 @@ def main():
         sys.exit (77)
 
     linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc)
-    # Constants in glibc were updated to match Linux v6.9.  When glibc
+    # Constants in glibc were updated to match Linux v6.10.  When glibc
     # constants are updated this value should be updated to match the
     # released kernel version from which the constants were taken.
-    linux_version_glibc = (6, 9)
+    linux_version_glibc = (6, 10)
     def check(cte, exclude=None):
         return glibcextract.compare_macro_consts(
                 '#include <sys/mount.h>\n',
diff --git a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py
index 6f05291949..9824fd214d 100644
--- a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py
+++ b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py
@@ -39,7 +39,7 @@ def main():
         sys.exit (77)
 
     linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc)
-    linux_version_glibc = (6, 9)
+    linux_version_glibc = (6, 10)
     sys.exit(glibcextract.compare_macro_consts(
                 '#include <sys/pidfd.h>\n',
                 '#include <asm/fcntl.h>\n'
diff --git a/sysdeps/unix/sysv/linux/tst-pkey.c b/sysdeps/unix/sysv/linux/tst-pkey.c
index d9083daab9..297a7fbc02 100644
--- a/sysdeps/unix/sysv/linux/tst-pkey.c
+++ b/sysdeps/unix/sysv/linux/tst-pkey.c
@@ -205,7 +205,13 @@ do_test (void)
            " protection keys");
       FAIL_EXIT1 ("pkey_alloc: %m");
     }
-  TEST_COMPARE (pkey_get (keys[0]), 0);
+  if (pkey_get (keys[0]) < 0)
+    {
+      if (errno == ENOSYS)
+	FAIL_UNSUPPORTED
+	  ("glibc does not support memory protection keys");
+      FAIL_EXIT1 ("pkey_get: %m");
+    }
   for (int i = 1; i < key_count; ++i)
     {
       keys[i] = pkey_alloc (0, i);
diff --git a/sysdeps/unix/sysv/linux/tst-rseq-nptl.c b/sysdeps/unix/sysv/linux/tst-rseq-nptl.c
index b9f498473d..2a246c4593 100644
--- a/sysdeps/unix/sysv/linux/tst-rseq-nptl.c
+++ b/sysdeps/unix/sysv/linux/tst-rseq-nptl.c
@@ -28,6 +28,11 @@
 #include <sys/rseq.h>
 #include <unistd.h>
 
+/* Set this in 'do_test' only so as to invoke the destructor test in
+   the test process only and not 'support_test_main' parent.  Otherwise
+   the test harness may hang in the destructor if something goes wrong.  */
+static int run_destructor_test;
+
 #ifdef RSEQ_SIG
 # include <array_length.h>
 # include <errno.h>
@@ -236,6 +241,9 @@ do_rseq_test (void)
 static void __attribute__ ((destructor))
 do_rseq_destructor_test (void)
 {
+  if (!run_destructor_test)
+    return;
+
   /* Cannot use deferred failure reporting after main returns.  */
   if (do_rseq_test ())
     FAIL_EXIT1 ("rseq not registered within destructor");
@@ -254,6 +262,7 @@ do_rseq_test (void)
 static int
 do_test (void)
 {
+  run_destructor_test = 1;
   return do_rseq_test ();
 }
 
diff --git a/sysdeps/unix/sysv/linux/tst-rseq.c b/sysdeps/unix/sysv/linux/tst-rseq.c
index 2c90409ba0..08a9533130 100644
--- a/sysdeps/unix/sysv/linux/tst-rseq.c
+++ b/sysdeps/unix/sysv/linux/tst-rseq.c
@@ -29,6 +29,7 @@
 # include <stdlib.h>
 # include <string.h>
 # include <syscall.h>
+# include <sys/auxv.h>
 # include <thread_pointer.h>
 # include <tls.h>
 # include "tst-rseq.h"
@@ -42,7 +43,8 @@ do_rseq_main_test (void)
   TEST_COMPARE (__rseq_flags, 0);
   TEST_VERIFY ((char *) __thread_pointer () + __rseq_offset
                == (char *) &pd->rseq_area);
-  TEST_COMPARE (__rseq_size, sizeof (pd->rseq_area));
+  /* The current implementation only supports the initial size.  */
+  TEST_COMPARE (__rseq_size, 20);
 }
 
 static void
@@ -52,6 +54,12 @@ do_rseq_test (void)
     {
       FAIL_UNSUPPORTED ("kernel does not support rseq, skipping test");
     }
+  printf ("info: __rseq_size: %u\n", __rseq_size);
+  printf ("info: __rseq_offset: %td\n", __rseq_offset);
+  printf ("info: __rseq_flags: %u\n", __rseq_flags);
+  printf ("info: getauxval (AT_RSEQ_FEATURE_SIZE): %ld\n",
+          getauxval (AT_RSEQ_FEATURE_SIZE));
+  printf ("info: getauxval (AT_RSEQ_ALIGN): %ld\n", getauxval (AT_RSEQ_ALIGN));
   do_rseq_main_test ();
 }
 #else /* RSEQ_SIG */
diff --git a/sysdeps/unix/sysv/linux/tst-skeleton-affinity.c b/sysdeps/unix/sysv/linux/tst-skeleton-affinity.c
index 31a15b3ad7..2f921ed397 100644
--- a/sysdeps/unix/sysv/linux/tst-skeleton-affinity.c
+++ b/sysdeps/unix/sysv/linux/tst-skeleton-affinity.c
@@ -157,7 +157,7 @@ test_size (const struct conf *conf, size_t size)
   if (setaffinity (kernel_size, initial_set) < 0)
     {
       printf ("error: size %zu: setaffinity: %m\n", size);
-      return true;
+      return false;
     }
 
   /* Use one-CPU set to test switching between CPUs.  */
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h
index b122216013..5d86e75dd5 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h
@@ -189,6 +189,7 @@
 #define __NR_mq_timedsend 242
 #define __NR_mq_unlink 241
 #define __NR_mremap 25
+#define __NR_mseal 462
 #define __NR_msgctl 71
 #define __NR_msgget 68
 #define __NR_msgrcv 70
diff --git a/sysdeps/unix/sysv/linux/x86_64/dl-cet.h b/sysdeps/unix/sysv/linux/x86_64/dl-cet.h
index 1fe3133406..b4f7e6c9cd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/dl-cet.h
+++ b/sysdeps/unix/sysv/linux/x86_64/dl-cet.h
@@ -92,9 +92,9 @@ dl_cet_ibt_enabled (void)
 	# Pass GL(dl_x86_feature_1) to _dl_cet_setup_features.\n\
 	movl %edx, %edi\n\
 	# Align stack for the _dl_cet_setup_features call.\n\
-	andq $-16, %rsp\n\
+	and $-16, %" RSP_LP "\n\
 	call _dl_cet_setup_features\n\
 	# Restore %rax and %rsp from %r12 and %r13.\n\
-	movq %r12, %rax\n\
-	movq %r13, %rsp\n\
+	mov %" R12_LP ", %" RAX_LP "\n\
+	mov %" R13_LP ", %" RSP_LP "\n\
 "
diff --git a/sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S b/sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S
new file mode 100644
index 0000000000..cda9d20a83
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S
@@ -0,0 +1,57 @@
+/* Cancellable syscall wrapper.  Linux/x86_64 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <descr-const.h>
+
+/* long int [rax] __syscall_cancel_arch (volatile int *cancelhandling [%rdi],
+					 __syscall_arg_t nr   [%rsi],
+					 __syscall_arg_t arg1 [%rdx],
+					 __syscall_arg_t arg2 [%rcx],
+					 __syscall_arg_t arg3 [%r8],
+					 __syscall_arg_t arg4 [%r9],
+					 __syscall_arg_t arg5 [SP+8],
+					 __syscall_arg_t arg6 [SP+16])  */
+
+ENTRY (__syscall_cancel_arch)
+	.globl __syscall_cancel_arch_start
+__syscall_cancel_arch_start:
+
+	/* if (*cancelhandling & CANCELED_BITMASK)
+	     __syscall_do_cancel()  */
+	mov    (%rdi),%eax
+	testb  $TCB_CANCELED_BITMASK, (%rdi)
+	jne    __syscall_do_cancel
+
+	/* Issue a 6 argument syscall, the nr [%rax] being the syscall
+	   number.  */
+	mov    %rdi,%r11
+	mov    %rsi,%rax
+	mov    %rdx,%rdi
+	mov    %rcx,%rsi
+	mov    %r8,%rdx
+	mov    %r9,%r10
+	mov    8(%rsp),%r8
+	mov    16(%rsp),%r9
+	mov    %r11,8(%rsp)
+	syscall
+
+	.globl __syscall_cancel_arch_end
+__syscall_cancel_arch_end:
+	ret
+END (__syscall_cancel_arch)
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h
index 3040a47d72..6c35068d8e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h
@@ -155,6 +155,7 @@
 #define __NR_lsm_set_self_attr 1073742284
 #define __NR_lstat 1073741830
 #define __NR_madvise 1073741852
+#define __NR_map_shadow_stack 1073742277
 #define __NR_mbind 1073742061
 #define __NR_membarrier 1073742148
 #define __NR_memfd_create 1073742143
@@ -182,6 +183,7 @@
 #define __NR_mq_timedsend 1073742066
 #define __NR_mq_unlink 1073742065
 #define __NR_mremap 1073741849
+#define __NR_mseal 1073742286
 #define __NR_msgctl 1073741895
 #define __NR_msgget 1073741892
 #define __NR_msgrcv 1073741894
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h b/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h
index 98124169e6..47fa8af4ce 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h
@@ -15,6 +15,10 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#ifndef __NR_map_shadow_stack
+# define __NR_map_shadow_stack 1073742277
+#endif
+
 /* X32 uses the same 64-bit syscall interface for set_thread_area.   */
 #ifndef __NR_set_thread_area
 # define __NR_set_thread_area 1073742029
diff --git a/support/xlstat-time64.c b/sysdeps/unix/sysv/linux/x86_64/x32/syscall_types.h
index 2bc3ca6593..ac2019751d 100644
--- a/support/xlstat-time64.c
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/syscall_types.h
@@ -1,5 +1,5 @@
-/* 64-bit time_t stat with error checking.
-   Copyright (C) 2021-2024 Free Software Foundation, Inc.
+/* Types and macros used for syscall issuing.  x86_64/x32 version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,17 +16,19 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-/* NB: Non-standard file name to avoid sysdeps override for xstat.  */
+#ifndef _SYSCALL_TYPES_H
+#define _SYSCALL_TYPES_H
 
-#include <support/check.h>
-#include <support/xunistd.h>
-#include <sys/stat.h>
+#include <libc-diag.h>
+
+typedef long long int __syscall_arg_t;
+
+/* Syscall arguments for x32 follows x86_64 ABI, however pointers are 32 bits
+   should be zero extended.  */
+#define __SSC(__x) \
+  ({					\
+    TYPEFY (__x, __tmp) = ARGIFY (__x);	\
+    (__syscall_arg_t) __tmp;		\
+  })
 
-#if __TIMESIZE != 64
-void
-xlstat_time64 (const char *path, struct __stat64_t64 *result)
-{
-  if (__lstat64_time64 (path, result) != 0)
-    FAIL_EXIT1 ("__lstat64_time64 (\"%s\"): %m", path);
-}
 #endif
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
index e501e084ef..1f30e237f5 100644
--- a/sysdeps/x86/cpu-features.c
+++ b/sysdeps/x86/cpu-features.c
@@ -756,6 +756,12 @@ init_cpu_features (struct cpu_features *cpu_features)
   unsigned int stepping = 0;
   enum cpu_features_kind kind;
 
+  /* Default is avoid non-temporal memset for non Intel/AMD/Hygon hardware. This is,
+     as of writing this, we only have benchmarks indicatings it profitability
+     on Intel/AMD/Hygon.  */
+  cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset]
+      |= bit_arch_Avoid_Non_Temporal_Memset;
+
   cpu_features->cachesize_non_temporal_divisor = 4;
 #if !HAS_CPUID
   if (__get_cpuid_max (0, 0) == 0)
@@ -781,6 +787,11 @@ init_cpu_features (struct cpu_features *cpu_features)
 
       update_active (cpu_features);
 
+      /* Benchmarks indicate non-temporal memset can be profitable on Intel
+	hardware.  */
+      cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset]
+	  &= ~bit_arch_Avoid_Non_Temporal_Memset;
+
       if (family == 0x06)
 	{
 	  model += extended_model;
@@ -870,11 +881,19 @@ init_cpu_features (struct cpu_features *cpu_features)
 
 	      /* Newer Bigcore microarch (larger non-temporal store
 		 threshold).  */
-	    case INTEL_BIGCORE_SKYLAKE:
-	    case INTEL_BIGCORE_KABYLAKE:
-	    case INTEL_BIGCORE_COMETLAKE:
 	    case INTEL_BIGCORE_SKYLAKE_AVX512:
 	    case INTEL_BIGCORE_CANNONLAKE:
+	      /* Benchmarks indicate non-temporal memset is not
+		     necessarily profitable on SKX (and in some cases much
+		     worse). This is likely unique to SKX due its it unique
+		     mesh interconnect (not present on ICX or BWD). Disable
+		     non-temporal on all Skylake servers. */
+	      cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset]
+		  |= bit_arch_Avoid_Non_Temporal_Memset;
+	      /* fallthrough */
+	    case INTEL_BIGCORE_COMETLAKE:
+	    case INTEL_BIGCORE_SKYLAKE:
+	    case INTEL_BIGCORE_KABYLAKE:
 	    case INTEL_BIGCORE_ICELAKE:
 	    case INTEL_BIGCORE_TIGERLAKE:
 	    case INTEL_BIGCORE_ROCKETLAKE:
@@ -967,9 +986,8 @@ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.ht
 	cpu_features->preferred[index_arch_Avoid_Short_Distance_REP_MOVSB]
 	  |= bit_arch_Avoid_Short_Distance_REP_MOVSB;
     }
-  /* This spells out "AuthenticAMD" or "HygonGenuine".  */
-  else if ((ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65)
-	   || (ebx == 0x6f677948 && ecx == 0x656e6975 && edx == 0x6e65476e))
+  /* This spells out "AuthenticAMD".  */
+  else if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65)
     {
       unsigned int extended_model;
 
@@ -984,6 +1002,11 @@ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.ht
 
       ecx = cpu_features->features[CPUID_INDEX_1].cpuid.ecx;
 
+      /* Benchmarks indicate non-temporal memset can be profitable on AMD
+	hardware.  */
+      cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset]
+	  &= ~bit_arch_Avoid_Non_Temporal_Memset;
+
       if (CPU_FEATURE_USABLE_P (cpu_features, AVX))
 	{
 	  /* Since the FMA4 bit is in CPUID_INDEX_80000001 and
@@ -1066,6 +1089,7 @@ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.ht
 	      /* Yongfeng and Shijidadao mircoarch tuning.  */
 	    case 0x5b:
 	      cpu_features->cachesize_non_temporal_divisor = 2;
+	      /* fallthrough */
 	    case 0x6b:
 	      cpu_features->preferred[index_arch_AVX_Fast_Unaligned_Load]
 		  &= ~bit_arch_AVX_Fast_Unaligned_Load;
@@ -1079,6 +1103,25 @@ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.ht
 	    }
 	}
     }
+  /* This spells out "HygonGenuine".  */
+  else if (ebx == 0x6f677948 && ecx == 0x656e6975 && edx == 0x6e65476e)
+    {
+      unsigned int extended_model;
+
+      kind = arch_kind_hygon;
+
+      get_common_indices (cpu_features, &family, &model, &extended_model,
+			  &stepping);
+
+      get_extended_indices (cpu_features);
+
+      update_active (cpu_features);
+
+      /* Benchmarks indicate non-temporal memset can be profitable on Hygon
+       hardware.  */
+      cpu_features->preferred[index_arch_Avoid_Non_Temporal_Memset]
+	    &= ~bit_arch_Avoid_Non_Temporal_Memset;
+    }
   else
     {
       kind = arch_kind_other;
@@ -1094,6 +1137,10 @@ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.ht
   if (CPU_FEATURES_CPU_P (cpu_features, CMOV))
     cpu_features->preferred[index_arch_I686] |= bit_arch_I686;
 
+  /* No ERMS, we want to avoid stosb for memset.  */
+  if (!CPU_FEATURE_USABLE_P (cpu_features, ERMS))
+    cpu_features->preferred[index_arch_Avoid_STOSB] |= bit_arch_Avoid_STOSB;
+
 #if !HAS_CPUID
 no_cpuid:
 #endif
diff --git a/sysdeps/x86/cpu-tunables.c b/sysdeps/x86/cpu-tunables.c
index 89da7a03da..cd36de2d8b 100644
--- a/sysdeps/x86/cpu-tunables.c
+++ b/sysdeps/x86/cpu-tunables.c
@@ -193,6 +193,8 @@ TUNABLE_CALLBACK (set_hwcaps) (tunable_val_t *valp)
 						11);
 	      CHECK_GLIBC_IFUNC_PREFERRED_BOTH (n, cpu_features, Prefer_FSRM,
 						11);
+	      CHECK_GLIBC_IFUNC_PREFERRED_BOTH (n, cpu_features, Avoid_STOSB,
+						11);
 	      CHECK_GLIBC_IFUNC_PREFERRED_NEED_BOTH (n, cpu_features,
 						     Slow_SSE4_2,
 						     SSE4_2,
@@ -243,6 +245,12 @@ TUNABLE_CALLBACK (set_hwcaps) (tunable_val_t *valp)
 		(n, cpu_features, MathVec_Prefer_No_AVX512, AVX512F, 24);
 	    }
 	  break;
+	case 25:
+	  {
+	    CHECK_GLIBC_IFUNC_PREFERRED_BOTH (n, cpu_features,
+					      Avoid_Non_Temporal_Memset, 25);
+	  }
+	  break;
 	case 26:
 	    {
 	      CHECK_GLIBC_IFUNC_PREFERRED_NEED_BOTH
diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h
index 5e77345a6e..e9579505a3 100644
--- a/sysdeps/x86/dl-cacheinfo.h
+++ b/sysdeps/x86/dl-cacheinfo.h
@@ -567,6 +567,48 @@ handle_zhaoxin (int name)
   return 0;
 }
 
+static long int __attribute__ ((noinline))
+handle_hygon (int name)
+{
+  unsigned int eax;
+  unsigned int ebx;
+  unsigned int ecx;
+  unsigned int edx;
+  unsigned int count = 0x1;
+
+  if (name >= _SC_LEVEL3_CACHE_SIZE)
+    count = 0x3;
+  else if (name >= _SC_LEVEL2_CACHE_SIZE)
+    count = 0x2;
+  else if (name >= _SC_LEVEL1_DCACHE_SIZE)
+    count = 0x0;
+
+  /* Use __cpuid__ '0x8000_001D' to compute cache details.  */
+  __cpuid_count (0x8000001D, count, eax, ebx, ecx, edx);
+
+  switch (name)
+    {
+    case _SC_LEVEL1_ICACHE_ASSOC:
+    case _SC_LEVEL1_DCACHE_ASSOC:
+    case _SC_LEVEL2_CACHE_ASSOC:
+    case _SC_LEVEL3_CACHE_ASSOC:
+      return ((ebx >> 22) & 0x3ff) + 1;
+    case _SC_LEVEL1_ICACHE_LINESIZE:
+    case _SC_LEVEL1_DCACHE_LINESIZE:
+    case _SC_LEVEL2_CACHE_LINESIZE:
+    case _SC_LEVEL3_CACHE_LINESIZE:
+      return (ebx & 0xfff) + 1;
+    case _SC_LEVEL1_ICACHE_SIZE:
+    case _SC_LEVEL1_DCACHE_SIZE:
+    case _SC_LEVEL2_CACHE_SIZE:
+    case _SC_LEVEL3_CACHE_SIZE:
+      return (((ebx >> 22) & 0x3ff) + 1) * ((ebx & 0xfff) + 1) * (ecx + 1);
+    default:
+      __builtin_unreachable ();
+    }
+  return -1;
+}
+
 static void
 get_common_cache_info (long int *shared_ptr, long int * shared_per_thread_ptr, unsigned int *threads_ptr,
                 long int core)
@@ -889,6 +931,24 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
 
       shared_per_thread = shared;
     }
+  else if (cpu_features->basic.kind == arch_kind_hygon)
+    {
+      data = handle_hygon (_SC_LEVEL1_DCACHE_SIZE);
+      shared = handle_hygon (_SC_LEVEL3_CACHE_SIZE);
+      shared_per_thread = shared;
+
+      level1_icache_size = handle_hygon (_SC_LEVEL1_ICACHE_SIZE);
+      level1_icache_linesize = handle_hygon (_SC_LEVEL1_ICACHE_LINESIZE);
+      level1_dcache_size = data;
+      level1_dcache_assoc = handle_hygon (_SC_LEVEL1_DCACHE_ASSOC);
+      level1_dcache_linesize = handle_hygon (_SC_LEVEL1_DCACHE_LINESIZE);
+      level2_cache_size = handle_hygon (_SC_LEVEL2_CACHE_SIZE);;
+      level2_cache_assoc = handle_hygon (_SC_LEVEL2_CACHE_ASSOC);
+      level2_cache_linesize = handle_hygon (_SC_LEVEL2_CACHE_LINESIZE);
+      level3_cache_size = shared;
+      level3_cache_assoc = handle_hygon (_SC_LEVEL3_CACHE_ASSOC);
+      level3_cache_linesize = handle_hygon (_SC_LEVEL3_CACHE_LINESIZE);
+    }
 
   cpu_features->level1_icache_size = level1_icache_size;
   cpu_features->level1_icache_linesize = level1_icache_linesize;
@@ -988,16 +1048,9 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
   if (CPU_FEATURE_USABLE_P (cpu_features, FSRM))
     rep_movsb_threshold = 2112;
 
-  /* Non-temporal stores are more performant on Intel and AMD hardware above
-     non_temporal_threshold. Enable this for both Intel and AMD hardware. */
-  unsigned long int memset_non_temporal_threshold = SIZE_MAX;
-  if (cpu_features->basic.kind == arch_kind_intel
-      || cpu_features->basic.kind == arch_kind_amd)
-      memset_non_temporal_threshold = non_temporal_threshold;
-
-   /* For AMD CPUs that support ERMS (Zen3+), REP MOVSB is in a lot of
-      cases slower than the vectorized path (and for some alignments,
-      it is really slow, check BZ #30994).  */
+  /* For AMD CPUs that support ERMS (Zen3+), REP MOVSB is in a lot of
+     cases slower than the vectorized path (and for some alignments,
+     it is really slow, check BZ #30994).  */
   if (cpu_features->basic.kind == arch_kind_amd)
     rep_movsb_threshold = non_temporal_threshold;
 
@@ -1016,6 +1069,13 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
   if (tunable_size != 0)
     shared = tunable_size;
 
+  /* Non-temporal stores are more performant on some hardware above
+     non_temporal_threshold. Currently Prefer_Non_Temporal is set for for both
+     Intel, AMD and Hygon hardware. */
+  unsigned long int memset_non_temporal_threshold = SIZE_MAX;
+  if (!CPU_FEATURES_ARCH_P (cpu_features, Avoid_Non_Temporal_Memset))
+    memset_non_temporal_threshold = non_temporal_threshold;
+
   tunable_size = TUNABLE_GET (x86_non_temporal_threshold, long int, NULL);
   if (tunable_size > minimum_non_temporal_threshold
       && tunable_size <= maximum_non_temporal_threshold)
@@ -1041,18 +1101,42 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
        slightly better than ERMS.  */
     rep_stosb_threshold = SIZE_MAX;
 
+  /*
+     For memset, the non-temporal implementation is only accessed through the
+     stosb code. ie:
+     ```
+     if (size >= rep_stosb_thresh)
+     {
+    	if (size >= non_temporal_thresh)
+     {
+     do_non_temporal ();
+     }
+    	do_stosb ();
+     }
+     do_normal_vec_loop ();
+     ```
+     So if we prefer non-temporal, set `rep_stosb_thresh = non_temporal_thresh`
+     to enable the implementation. If `rep_stosb_thresh = non_temporal_thresh`,
+    `rep stosb` will never be used.
+   */
+  TUNABLE_SET_WITH_BOUNDS (x86_memset_non_temporal_threshold,
+			   memset_non_temporal_threshold,
+			   minimum_non_temporal_threshold, SIZE_MAX);
+  /* Do `rep_stosb_thresh = non_temporal_thresh` after setting/getting the
+     final value of `x86_memset_non_temporal_threshold`. In some cases this can
+     be a matter of correctness.  */
+  if (CPU_FEATURES_ARCH_P (cpu_features, Avoid_STOSB))
+    rep_stosb_threshold
+	= TUNABLE_GET (x86_memset_non_temporal_threshold, long int, NULL);
+  TUNABLE_SET_WITH_BOUNDS (x86_rep_stosb_threshold, rep_stosb_threshold, 1,
+			   SIZE_MAX);
   TUNABLE_SET_WITH_BOUNDS (x86_data_cache_size, data, 0, SIZE_MAX);
   TUNABLE_SET_WITH_BOUNDS (x86_shared_cache_size, shared, 0, SIZE_MAX);
   TUNABLE_SET_WITH_BOUNDS (x86_non_temporal_threshold, non_temporal_threshold,
 			   minimum_non_temporal_threshold,
 			   maximum_non_temporal_threshold);
-  TUNABLE_SET_WITH_BOUNDS (x86_memset_non_temporal_threshold,
-			   memset_non_temporal_threshold,
-			   minimum_non_temporal_threshold, SIZE_MAX);
   TUNABLE_SET_WITH_BOUNDS (x86_rep_movsb_threshold, rep_movsb_threshold,
 			   minimum_rep_movsb_threshold, SIZE_MAX);
-  TUNABLE_SET_WITH_BOUNDS (x86_rep_stosb_threshold, rep_stosb_threshold, 1,
-			   SIZE_MAX);
 
   unsigned long int rep_movsb_stop_threshold;
   /* Setting the upper bound of ERMS to the computed value of
diff --git a/sysdeps/x86/include/cpu-features-preferred_feature_index_1.def b/sysdeps/x86/include/cpu-features-preferred_feature_index_1.def
index 85e7f54ec8..2a58000147 100644
--- a/sysdeps/x86/include/cpu-features-preferred_feature_index_1.def
+++ b/sysdeps/x86/include/cpu-features-preferred_feature_index_1.def
@@ -33,3 +33,5 @@ BIT (Prefer_No_AVX512)
 BIT (MathVec_Prefer_No_AVX512)
 BIT (Prefer_FSRM)
 BIT (Avoid_Short_Distance_REP_MOVSB)
+BIT (Avoid_Non_Temporal_Memset)
+BIT (Avoid_STOSB)
diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h
index aaae44f0e1..b8e790c8fd 100644
--- a/sysdeps/x86/include/cpu-features.h
+++ b/sysdeps/x86/include/cpu-features.h
@@ -881,6 +881,7 @@ enum cpu_features_kind
   arch_kind_intel,
   arch_kind_amd,
   arch_kind_zhaoxin,
+  arch_kind_hygon,
   arch_kind_other
 };
 
diff --git a/sysdeps/x86/tst-hwcap-tunables.c b/sysdeps/x86/tst-hwcap-tunables.c
index 8589a9fd66..1920f5057e 100644
--- a/sysdeps/x86/tst-hwcap-tunables.c
+++ b/sysdeps/x86/tst-hwcap-tunables.c
@@ -60,7 +60,8 @@ static const struct test_t
     /* Disable everything.  */
     "-Prefer_ERMS,-Prefer_FSRM,-AVX,-AVX2,-AVX512F,-AVX512VL,"
     "-SSE4_1,-SSE4_2,-SSSE3,-Fast_Unaligned_Load,-ERMS,"
-    "-AVX_Fast_Unaligned_Load",
+    "-AVX_Fast_Unaligned_Load,-Avoid_Non_Temporal_Memset,"
+    "-Avoid_STOSB",
     test_1,
     array_length (test_1)
   },
@@ -68,7 +69,8 @@ static const struct test_t
     /* Same as before, but with some empty suboptions.  */
     ",-,-Prefer_ERMS,-Prefer_FSRM,-AVX,-AVX2,-AVX512F,-AVX512VL,"
     "-SSE4_1,-SSE4_2,-SSSE3,-Fast_Unaligned_Load,,-,"
-    "-ERMS,-AVX_Fast_Unaligned_Load,-,",
+    "-ERMS,-AVX_Fast_Unaligned_Load,-Avoid_Non_Temporal_Memset,"
+    "-Avoid_STOSB,-,",
     test_1,
     array_length (test_1)
   }
diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h
index a6de3793e4..4f12955875 100644
--- a/sysdeps/x86_64/dl-machine.h
+++ b/sysdeps/x86_64/dl-machine.h
@@ -139,37 +139,37 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[],
 .globl _start\n\
 .globl _dl_start_user\n\
 _start:\n\
-	movq %rsp, %rdi\n\
+	mov %" RSP_LP ", %" RDI_LP "\n\
 	call _dl_start\n\
 _dl_start_user:\n\
 	# Save the user entry point address in %r12.\n\
-	movq %rax, %r12\n\
+	mov %" RAX_LP ", %" R12_LP "\n\
 	# Save %rsp value in %r13.\n\
-	movq %rsp, %r13\n\
+	mov %" RSP_LP ", % " R13_LP "\n\
 "\
 	RTLD_START_ENABLE_X86_FEATURES \
 "\
 	# Read the original argument count.\n\
-	movq (%rsp), %rdx\n\
+	mov (%rsp), %" RDX_LP "\n\
 	# Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\
 	# argc -> rsi\n\
-	movq %rdx, %rsi\n\
+	mov %" RDX_LP ", %" RSI_LP "\n\
 	# And align stack for the _dl_init call. \n\
-	andq $-16, %rsp\n\
+	and $-16, %" RSP_LP "\n\
 	# _dl_loaded -> rdi\n\
-	movq _rtld_local(%rip), %rdi\n\
+	mov _rtld_local(%rip), %" RDI_LP "\n\
 	# env -> rcx\n\
-	leaq 16(%r13,%rdx,8), %rcx\n\
+	lea 2*" LP_SIZE "(%r13,%rdx," LP_SIZE "), %" RCX_LP "\n\
 	# argv -> rdx\n\
-	leaq 8(%r13), %rdx\n\
+	lea " LP_SIZE "(%r13), %" RDX_LP "\n\
 	# Clear %rbp to mark outermost frame obviously even for constructors.\n\
 	xorl %ebp, %ebp\n\
 	# Call the function to run the initializers.\n\
 	call _dl_init\n\
 	# Pass our finalizer function to the user in %rdx, as per ELF ABI.\n\
-	leaq _dl_fini(%rip), %rdx\n\
+	lea _dl_fini(%rip), %" RDX_LP "\n\
 	# And make sure %rsp points to argc stored on the stack.\n\
-	movq %r13, %rsp\n\
+	mov %" R13_LP ", %" RSP_LP "\n\
 	# Jump to the user's entry point.\n\
 	jmp *%r12\n\
 .previous\n\
@@ -234,8 +234,13 @@ elf_machine_plt_value (struct link_map *map, const ElfW(Rela) *reloc,
 
 
 /* Names of the architecture-specific auditing callback functions.  */
+#ifdef __LP64__
 #define ARCH_LA_PLTENTER x86_64_gnu_pltenter
 #define ARCH_LA_PLTEXIT x86_64_gnu_pltexit
+#else
+#define ARCH_LA_PLTENTER x32_gnu_pltenter
+#define ARCH_LA_PLTEXIT x32_gnu_pltexit
+#endif
 
 #endif /* !dl_machine_h */
 
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 3592dfae1d..c2e36dcbdf 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -1430,28 +1430,28 @@ Function: "exp10_vlen8_avx2":
 float: 1
 
 Function: "exp10m1":
-double: 2
-float: 1
-float128: 1
-ldouble: 1
+double: 4
+float: 2
+float128: 3
+ldouble: 4
 
 Function: "exp10m1_downward":
-double: 1
-float: 1
-float128: 3
-ldouble: 2
+double: 3
+float: 3
+float128: 6
+ldouble: 6
 
 Function: "exp10m1_towardzero":
-double: 1
-float: 1
-float128: 3
-ldouble: 2
+double: 2
+float: 3
+float128: 6
+ldouble: 5
 
 Function: "exp10m1_upward":
-double: 3
-float: 1
-float128: 3
-ldouble: 2
+double: 5
+float: 4
+float128: 6
+ldouble: 6
 
 Function: "exp2":
 double: 1
@@ -1498,28 +1498,28 @@ Function: "exp2_vlen8_avx2":
 float: 1
 
 Function: "exp2m1":
-double: 1
-float: 1
-float128: 1
-ldouble: 1
-
-Function: "exp2m1_downward":
 double: 2
-float: 1
+float: 2
 float128: 2
 ldouble: 3
 
+Function: "exp2m1_downward":
+double: 3
+float: 3
+float128: 3
+ldouble: 6
+
 Function: "exp2m1_towardzero":
-double: 2
-float: 1
-float128: 2
-ldouble: 3
+double: 3
+float: 2
+float128: 4
+ldouble: 5
 
 Function: "exp2m1_upward":
-double: 1
-float: 1
-float128: 2
-ldouble: 3
+double: 3
+float: 3
+float128: 5
+ldouble: 6
 
 Function: "exp_downward":
 double: 1
@@ -1808,28 +1808,28 @@ Function: "log10_vlen8_avx2":
 float: 1
 
 Function: "log10p1":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-ldouble: 2
+ldouble: 4
 
 Function: "log10p1_downward":
 double: 2
-float: 1
-float128: 2
-ldouble: 4
+float: 3
+float128: 4
+ldouble: 8
 
 Function: "log10p1_towardzero":
-double: 2
+double: 3
 float: 2
-float128: 2
-ldouble: 4
+float128: 3
+ldouble: 8
 
 Function: "log10p1_upward":
 double: 2
-float: 1
-float128: 3
-ldouble: 3
+float: 3
+float128: 4
+ldouble: 6
 
 Function: "log1p":
 double: 1
@@ -1920,10 +1920,10 @@ Function: "log2_vlen8_avx2":
 float: 1
 
 Function: "log2p1":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-ldouble: 2
+ldouble: 4
 
 Function: "log2p1_downward":
 double: 2
@@ -1938,9 +1938,9 @@ float128: 2
 ldouble: 4
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
-float128: 2
+float128: 3
 ldouble: 5
 
 Function: "log_downward":
diff --git a/sysdeps/x86_64/multiarch/ifunc-memset.h b/sysdeps/x86_64/multiarch/ifunc-memset.h
index 7a637ef7ca..8dc3d7ab5a 100644
--- a/sysdeps/x86_64/multiarch/ifunc-memset.h
+++ b/sysdeps/x86_64/multiarch/ifunc-memset.h
@@ -46,6 +46,13 @@ extern __typeof (REDIRECT_NAME) OPTIMIZE (sse2_unaligned)
 extern __typeof (REDIRECT_NAME) OPTIMIZE (sse2_unaligned_erms)
   attribute_hidden;
 
+static inline int
+prefer_erms_nt_impl (const struct cpu_features *cpu_features)
+{
+  return CPU_FEATURE_USABLE_P (cpu_features, ERMS)
+	 || !CPU_FEATURES_ARCH_P (cpu_features, Avoid_Non_Temporal_Memset);
+}
+
 static inline void *
 IFUNC_SELECTOR (void)
 {
@@ -61,7 +68,7 @@ IFUNC_SELECTOR (void)
 	  && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW)
 	  && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2))
 	{
-	  if (CPU_FEATURE_USABLE_P (cpu_features, ERMS))
+	  if (prefer_erms_nt_impl (cpu_features))
 	    return OPTIMIZE (avx512_unaligned_erms);
 
 	  return OPTIMIZE (avx512_unaligned);
@@ -76,7 +83,7 @@ IFUNC_SELECTOR (void)
 	  && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512BW)
 	  && X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, BMI2))
 	{
-	  if (CPU_FEATURE_USABLE_P (cpu_features, ERMS))
+	  if (prefer_erms_nt_impl (cpu_features))
 	    return OPTIMIZE (evex_unaligned_erms);
 
 	  return OPTIMIZE (evex_unaligned);
@@ -84,7 +91,7 @@ IFUNC_SELECTOR (void)
 
       if (CPU_FEATURE_USABLE_P (cpu_features, RTM))
 	{
-	  if (CPU_FEATURE_USABLE_P (cpu_features, ERMS))
+	  if (prefer_erms_nt_impl (cpu_features))
 	    return OPTIMIZE (avx2_unaligned_erms_rtm);
 
 	  return OPTIMIZE (avx2_unaligned_rtm);
@@ -93,14 +100,15 @@ IFUNC_SELECTOR (void)
       if (X86_ISA_CPU_FEATURES_ARCH_P (cpu_features,
 				       Prefer_No_VZEROUPPER, !))
 	{
-	  if (CPU_FEATURE_USABLE_P (cpu_features, ERMS))
+	  if (prefer_erms_nt_impl (cpu_features))
 	    return OPTIMIZE (avx2_unaligned_erms);
 
 	  return OPTIMIZE (avx2_unaligned);
 	}
     }
 
-  if (CPU_FEATURE_USABLE_P (cpu_features, ERMS))
+  if (CPU_FEATURE_USABLE_P (cpu_features, ERMS)
+      || !CPU_FEATURES_ARCH_P (cpu_features, Avoid_Non_Temporal_Memset))
     return OPTIMIZE (sse2_unaligned_erms);
 
   return OPTIMIZE (sse2_unaligned);
diff --git a/sysdeps/x86_64/multiarch/strchr-evex-base.S b/sysdeps/x86_64/multiarch/strchr-evex-base.S
index 04e2c0e79e..3a0b7c9d64 100644
--- a/sysdeps/x86_64/multiarch/strchr-evex-base.S
+++ b/sysdeps/x86_64/multiarch/strchr-evex-base.S
@@ -124,13 +124,13 @@ L(page_cross):
 	VPCMPNE	%VMM(1), %VMM(0), %k1
 	VPTEST	%VMM(1), %VMM(1), %k0{%k1}
 	KMOV	%k0, %VRAX
-# ifdef USE_AS_WCSCHR
+	sar	%cl, %VRAX
+#ifdef USE_AS_WCSCHR
 	sub	$VEC_MATCH_MASK, %VRAX
-# else
+#else
 	inc	%VRAX
-# endif
+#endif
 	/* Ignore number of character for alignment adjustment.  */
-	shr	%cl, %VRAX
 	jz	L(align_more)
 
 	bsf	%VRAX, %VRAX
diff --git a/sysdeps/x86_64/multiarch/strnlen-evex-base.S b/sysdeps/x86_64/multiarch/strnlen-evex-base.S
new file mode 100644
index 0000000000..1c2cfdfe06
--- /dev/null
+++ b/sysdeps/x86_64/multiarch/strnlen-evex-base.S
@@ -0,0 +1,462 @@
+/* strnlen/wcsnlen optimized with 256/512-bit EVEX instructions.
+   Copyright (C) 2022-2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+
+#include <isa-level.h>
+
+#if ISA_SHOULD_BUILD (4)
+
+# include <sysdep.h>
+
+#ifdef USE_AS_WCSLEN
+# define VPCMPEQ	vpcmpeqd
+# define VPTESTN	vptestnmd
+# define VPMINU	vpminud
+# define CHAR_SIZE	4
+#else
+# define VPCMPEQ	vpcmpeqb
+# define VPTESTN	vptestnmb
+# define VPMINU	vpminub
+# define CHAR_SIZE	1
+#endif
+
+#define XZERO	VMM_128(0)
+#define VZERO	VMM(0)
+#define PAGE_SIZE	4096
+#define CHAR_PER_VEC	(VEC_SIZE / CHAR_SIZE)
+
+#if CHAR_PER_VEC == 32
+# define SUB_SHORT(imm, reg)	subb $(imm), %VGPR_SZ(reg, 8)
+#else
+# define SUB_SHORT(imm, reg)	subl $(imm), %VGPR_SZ(reg, 32)
+#endif
+
+#ifdef USE_AS_WCSLEN
+/* For wide-character, we care more about limitting code size
+   than optimally aligning targets, so just cap nop padding
+   reasonably low.  */
+# define P2ALIGN(...)	.p2align 4,, 6
+# define P2ALIGN_CLAMPED(...)	P2ALIGN(__VA_ARGS__)
+#else
+# define P2ALIGN(x)	.p2align x
+# define P2ALIGN_CLAMPED(x, y)	.p2align x,, y
+#endif
+
+	.section SECTION(.text), "ax", @progbits
+	/* Aligning entry point to 64 byte, provides better performance for
+	   one vector length string.  */
+ENTRY_P2ALIGN(STRNLEN, 6)
+	/* rdi is pointer to array, rsi is the upper limit.  */
+
+	/* Check zero length.  */
+	test	%RSI_LP, %RSI_LP
+	jz	L(zero)
+
+#ifdef __ILP32__
+	/* Clear the upper 32 bits.  */
+	movl	%esi, %esi
+#endif
+
+	vpxorq	%XZERO, %XZERO, %XZERO
+
+	/* Check that we won't cross a page boundary with our first load.  */
+	movl	%edi, %eax
+	shll	$20, %eax
+	cmpl	$((PAGE_SIZE - VEC_SIZE) << 20), %eax
+	ja	L(crosses_page_boundary)
+
+	/* Check the first VEC_SIZE bytes.  Each bit in K0 represents a
+	   null byte.  */
+	VPCMPEQ	(%rdi), %VZERO, %k0
+	KMOV	%k0, %VRCX
+
+	/* If src (rcx) is zero, bsf does not change the result.  NB:
+	   Must use 64-bit bsf here so that upper bits of len are not
+	   cleared.  */
+	movq	%rsi, %rax
+	bsfq	%rcx, %rax
+
+	/* If rax > CHAR_PER_VEC then rcx must have been zero (no null
+	   CHAR) and rsi must be > CHAR_PER_VEC.  */
+	cmpq	$CHAR_PER_VEC, %rax
+	ja	L(more_1x_vec)
+
+	/* Check if first match in bounds.  */
+	cmpq	%rax, %rsi
+	cmovb	%esi, %eax
+	ret
+
+#if VEC_SIZE == 32
+	P2ALIGN_CLAMPED(4, 2)
+L(zero):
+L(max_0):
+	movl	%esi, %eax
+	ret
+#endif
+
+	P2ALIGN_CLAMPED(4, 10)
+L(more_1x_vec):
+L(cross_page_continue):
+	/* After this calculation, rax stores the number of elements
+	   left to be processed The complexity comes from the fact some
+	   elements get read twice due to alignment and we need to be
+	   sure we don't count them twice (else, it would just be rsi -
+	   CHAR_PER_VEC).  */
+
+#ifdef USE_AS_WCSLEN
+	/* Need to compute directly for wcslen as CHAR_SIZE * rsi can
+	   overflow.  */
+	movq	%rdi, %rax
+	andq	$(VEC_SIZE * -1), %rdi
+	subq	%rdi, %rax
+	sarq	$2, %rax
+	leaq	-(CHAR_PER_VEC * 1)(%rax, %rsi), %rax
+#else
+	/* Calculate ptr + N - VEC_SIZE, then mask off the low bits,
+	   then subtract ptr to get the new aligned limit value.  */
+	leaq	(VEC_SIZE * -1)(%rsi, %rdi), %rax
+	andq	$(VEC_SIZE * -1), %rdi
+	subq	%rdi, %rax
+#endif
+
+	VPCMPEQ	VEC_SIZE(%rdi), %VZERO, %k0
+
+	/* Checking here is faster for 256-bit but not 512-bit */
+#if VEC_SIZE == 0
+	KMOV	%k0, %VRDX
+	test	%VRDX, %VRDX
+	jnz	L(last_vec_check)
+#endif
+
+	cmpq	$(CHAR_PER_VEC * 2), %rax
+	ja	L(more_2x_vec)
+
+L(last_2x_vec_or_less):
+
+	/* Checking here is faster for 512-bit but not 256-bit */
+#if VEC_SIZE != 0
+	KMOV	%k0, %VRDX
+	test	%VRDX, %VRDX
+	jnz	L(last_vec_check)
+#endif
+
+	/* Check for the end of data.  */
+	SUB_SHORT (CHAR_PER_VEC, rax)
+	jbe	L(max_0)
+
+	/* Check the final remaining vector.  */
+	VPCMPEQ	(VEC_SIZE * 2)(%rdi), %VZERO, %k0
+	KMOV	%k0, %VRDX
+	test	%VRDX, %VRDX
+#if VEC_SIZE == 32
+	jz	L(max_0)
+#else
+	jnz	L(last_vec_check)
+	P2ALIGN_CLAMPED(4, 2)
+L(zero):
+L(max_0):
+	movl	%esi, %eax
+	ret
+
+#endif
+	P2ALIGN_CLAMPED(4, 4)
+L(last_vec_check):
+	bsf	%VRDX, %VRDX
+	sub	%eax, %edx
+	lea	(%rsi, %rdx), %eax
+	cmovae	%esi, %eax
+	ret
+
+
+#if VEC_SIZE == 32
+	P2ALIGN_CLAMPED(4, 8)
+#endif
+L(last_4x_vec_or_less):
+	addl	$(CHAR_PER_VEC * -4), %eax
+	VPCMPEQ	(VEC_SIZE * 5)(%rdi), %VZERO, %k0
+
+#if VEC_SIZE == 64
+	KMOV	%k0, %VRDX
+	test	%VRDX, %VRDX
+	jnz	L(last_vec_check)
+#endif
+
+	subq	$(VEC_SIZE * -4), %rdi
+	cmpl	$(CHAR_PER_VEC * 2), %eax
+	jbe	L(last_2x_vec_or_less)
+
+	P2ALIGN_CLAMPED(4, 6)
+L(more_2x_vec):
+	/* Remaining length >= 2 * CHAR_PER_VEC so do VEC0/VEC1 without
+	   rechecking bounds.  */
+
+	/* Already checked in 256-bit case */
+#if VEC_SIZE != 0
+	KMOV	%k0, %VRDX
+
+	test	%VRDX, %VRDX
+	jnz	L(first_vec_x1)
+#endif
+
+	VPCMPEQ	(VEC_SIZE * 2)(%rdi), %VZERO, %k0
+	KMOV	%k0, %VRDX
+
+	test	%VRDX, %VRDX
+	jnz	L(first_vec_x2)
+
+	cmpq	$(CHAR_PER_VEC * 4), %rax
+	ja	L(more_4x_vec)
+
+
+	VPCMPEQ	(VEC_SIZE * 3)(%rdi), %VZERO, %k0
+	KMOV	%k0, %VRDX
+	addl	$(CHAR_PER_VEC * -2), %eax
+	test	%VRDX, %VRDX
+	jnz	L(last_vec_check)
+
+	subb	$(CHAR_PER_VEC), %al
+	jbe	L(max_1)
+
+	VPCMPEQ	(VEC_SIZE * 4)(%rdi), %VZERO, %k0
+	KMOV	%k0, %VRDX
+
+	test	%VRDX, %VRDX
+	jnz	L(last_vec_check)
+L(max_1):
+	movl	%esi, %eax
+	ret
+
+
+	P2ALIGN_CLAMPED(4, 14)
+L(first_vec_x2):
+#if VEC_SIZE == 64
+	/* If VEC_SIZE == 64 we can fit logic for full return label in
+	   spare bytes before next cache line.  */
+	bsf	%VRDX, %VRDX
+	sub	%eax, %esi
+	leal	(CHAR_PER_VEC * 1)(%rsi, %rdx), %eax
+	ret
+	P2ALIGN_CLAMPED(4, 6)
+#else
+	addl	$CHAR_PER_VEC, %esi
+#endif
+L(first_vec_x1):
+	bsf	%VRDX, %VRDX
+	sub	%eax, %esi
+	leal	(CHAR_PER_VEC * 0)(%rsi, %rdx), %eax
+	ret
+
+#if VEC_SIZE == 64
+	P2ALIGN_CLAMPED(4, 6)
+L(first_vec_x4):
+# if VEC_SIZE == 64
+	/* If VEC_SIZE == 64 we can fit logic for full return label in
+	   spare bytes before next cache line.  */
+	bsf	%VRDX, %VRDX
+	sub	%eax, %esi
+	leal	(CHAR_PER_VEC * 3)(%rsi, %rdx), %eax
+	ret
+	P2ALIGN_CLAMPED(4, 6)
+# else
+	addl	$CHAR_PER_VEC, %esi
+# endif
+L(first_vec_x3):
+	bsf	%VRDX, %VRDX
+	sub	%eax, %esi
+	leal	(CHAR_PER_VEC * 2)(%rsi, %rdx), %eax
+	ret
+#endif
+
+	P2ALIGN_CLAMPED(6, 20)
+L(more_4x_vec):
+	VPCMPEQ	(VEC_SIZE * 3)(%rdi), %VZERO, %k0
+	KMOV	%k0, %VRDX
+	test	%VRDX, %VRDX
+	jnz	L(first_vec_x3)
+
+	VPCMPEQ	(VEC_SIZE * 4)(%rdi), %VZERO, %k0
+	KMOV	%k0, %VRDX
+	test	%VRDX, %VRDX
+	jnz	L(first_vec_x4)
+
+	/* Check if at last VEC_SIZE * 4 length before aligning for the
+	   loop.  */
+	cmpq	$(CHAR_PER_VEC * 8), %rax
+	jbe	L(last_4x_vec_or_less)
+
+
+	/* Compute number of words checked after aligning.  */
+#ifdef USE_AS_WCSLEN
+	/* Need to compute directly for wcslen as CHAR_SIZE * rsi can
+	   overflow.  */
+	leaq	(VEC_SIZE * -3)(%rdi), %rdx
+#else
+	leaq	(VEC_SIZE * -3)(%rdi, %rax), %rax
+#endif
+
+	subq	$(VEC_SIZE * -1), %rdi
+
+	/* Align data to VEC_SIZE * 4.  */
+#if VEC_SIZE == 64
+	/* Saves code size.  No evex512 processor has partial register
+	   stalls.  If that change this can be replaced with `andq
+	   $-(VEC_SIZE * 4), %rdi`.  */
+	xorb	%dil, %dil
+#else
+	andq	$-(VEC_SIZE * 4), %rdi
+#endif
+
+#ifdef USE_AS_WCSLEN
+	subq	%rdi, %rdx
+	sarq	$2, %rdx
+	addq	%rdx, %rax
+#else
+	subq	%rdi, %rax
+#endif
+
+	// mov     %rdi, %rdx
+
+	P2ALIGN(6)
+L(loop):
+	/* VPMINU and VPCMP combination provide better performance as
+	   compared to alternative combinations.  */
+	VMOVA	(VEC_SIZE * 4)(%rdi), %VMM(1)
+	VPMINU	(VEC_SIZE * 5)(%rdi), %VMM(1), %VMM(2)
+	VMOVA	(VEC_SIZE * 6)(%rdi), %VMM(3)
+	VPMINU	(VEC_SIZE * 7)(%rdi), %VMM(3), %VMM(4)
+
+	VPTESTN	%VMM(2), %VMM(2), %k0
+	VPTESTN	%VMM(4), %VMM(4), %k1
+
+	subq	$-(VEC_SIZE * 4), %rdi
+	KORTEST	%k0, %k1
+
+	jnz	L(loopend)
+	subq	$(CHAR_PER_VEC * 4), %rax
+	ja	L(loop)
+	mov	%rsi, %rax
+	ret
+
+
+#if VEC_SIZE == 32
+	P2ALIGN_CLAMPED(4, 6)
+L(first_vec_x4):
+# if VEC_SIZE == 64
+	/* If VEC_SIZE == 64 we can fit logic for full return label in
+	   spare bytes before next cache line.  */
+	bsf	%VRDX, %VRDX
+	sub	%eax, %esi
+	leal	(CHAR_PER_VEC * 3)(%rsi, %rdx), %eax
+	ret
+	P2ALIGN_CLAMPED(4, 6)
+# else
+	addl	$CHAR_PER_VEC, %esi
+# endif
+L(first_vec_x3):
+	bsf	%VRDX, %VRDX
+	sub	%eax, %esi
+	leal	(CHAR_PER_VEC * 2)(%rsi, %rdx), %eax
+	ret
+#endif
+
+
+	P2ALIGN_CLAMPED(4, 11)
+L(loopend):
+	/* We found a null terminator in one of the 4 vectors.  */
+
+	/* Check the first vector.  */
+	movq	%rax, %r8
+	VPTESTN	%VMM(1), %VMM(1), %k2
+	KMOV	%k2, %VRCX
+	bsf	%rcx, %r8
+
+	cmpq	$(CHAR_PER_VEC), %r8
+	jbe	L(end_vec)
+
+	/* Check the second vector.  */
+	subq	$(CHAR_PER_VEC), %rax
+	movq	%rax, %r8
+	KMOV	%k0, %VRCX
+	bsf	%rcx, %r8
+
+	cmpq	$(CHAR_PER_VEC), %r8
+	jbe	L(end_vec)
+
+	/* Check the third vector.  */
+	subq	$(CHAR_PER_VEC), %rax
+	movq	%rax, %r8
+	VPTESTN	%VMM(3), %VMM(3), %k2
+	KMOV	%k2, %VRCX
+	bsf	%rcx, %r8
+
+	cmpq	$(CHAR_PER_VEC), %r8
+	jbe	L(end_vec)
+
+	/* It is in the fourth vector.  */
+	subq	$(CHAR_PER_VEC), %rax
+	movq	%rax, %r8
+	KMOV	%k1, %VRCX
+	bsf	%rcx, %r8
+
+	P2ALIGN_CLAMPED(4, 3)
+L(end_vec):
+	/* Get the number that has been processed.  */
+	movq	%rsi, %rcx
+	subq	%rax, %rcx
+
+	/* Add that to the offset we found the null terminator at.  */
+	leaq	(%r8, %rcx), %rax
+
+	/* Take the min of that and the limit.  */
+	cmpq	%rsi, %rax
+	cmovnb	%rsi, %rax
+	ret
+
+	P2ALIGN_CLAMPED(4, 11)
+L(crosses_page_boundary):
+	/* Align data backwards to VEC_SIZE.  */
+	shrl	$20, %eax
+	movq	%rdi, %rcx
+	andq	$-VEC_SIZE, %rcx
+	VPCMPEQ	(%rcx), %VZERO, %k0
+
+	KMOV	%k0, %VRCX
+#ifdef USE_AS_WCSLEN
+	shrl	$2, %eax
+	andl	$(CHAR_PER_VEC - 1), %eax
+#endif
+	/* By this point rax contains number of bytes we need to skip.  */
+	shrx	%VRAX, %VRCX, %VRCX
+
+	/* Calculates CHAR_PER_VEC - eax and stores in eax.  */
+	negl	%eax
+	andl	$(CHAR_PER_VEC - 1), %eax
+
+	movq	%rsi, %rdx
+	bsf	%VRCX, %VRDX
+	cmpq	%rax, %rdx
+	ja	L(cross_page_continue)
+
+	/* The vector had a null terminator or we are at the limit.  */
+	movl	%edx, %eax
+	cmpq	%rdx, %rsi
+	cmovb	%esi, %eax
+	ret
+
+END(STRNLEN)
+#endif
diff --git a/sysdeps/x86_64/multiarch/strnlen-evex.S b/sysdeps/x86_64/multiarch/strnlen-evex.S
index 91b16830eb..c41288906c 100644
--- a/sysdeps/x86_64/multiarch/strnlen-evex.S
+++ b/sysdeps/x86_64/multiarch/strnlen-evex.S
@@ -1,423 +1,7 @@
-/* strnlen/wcsnlen optimized with 256-bit EVEX instructions.
-   Copyright (C) 2022-2024 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <isa-level.h>
-#include <sysdep.h>
-
-#if ISA_SHOULD_BUILD (4)
-
-# ifndef VEC_SIZE
-#  include "x86-evex256-vecs.h"
-# endif
-
-
-# ifndef STRNLEN
-#  define STRNLEN	__strnlen_evex
-# endif
-
-# ifdef USE_AS_WCSLEN
-#  define VPCMPEQ	vpcmpeqd
-#  define VPCMPNEQ	vpcmpneqd
-#  define VPTESTN	vptestnmd
-#  define VPTEST	vptestmd
-#  define VPMINU	vpminud
-#  define CHAR_SIZE	4
-
-# else
-#  define VPCMPEQ	vpcmpeqb
-#  define VPCMPNEQ	vpcmpneqb
-#  define VPTESTN	vptestnmb
-#  define VPTEST	vptestmb
-#  define VPMINU	vpminub
-#  define CHAR_SIZE	1
-
-#  define REG_WIDTH	VEC_SIZE
-# endif
-
-# define CHAR_PER_VEC	(VEC_SIZE / CHAR_SIZE)
-
-# include "reg-macros.h"
-
-# if CHAR_PER_VEC == 32
-#  define SUB_SHORT(imm, reg)	subb $(imm), %VGPR_SZ(reg, 8)
-# else
-#  define SUB_SHORT(imm, reg)	subl $(imm), %VGPR_SZ(reg, 32)
-# endif
-
-
-
-# if CHAR_PER_VEC == 64
-#  define FALLTHROUGH_RETURN_OFFSET	(CHAR_PER_VEC * 3)
-# else
-#  define FALLTHROUGH_RETURN_OFFSET	(CHAR_PER_VEC * 2)
-# endif
-
-
-# define XZERO	VMM_128(0)
-# define VZERO	VMM(0)
-# define PAGE_SIZE	4096
-
-	.section SECTION(.text), "ax", @progbits
-ENTRY_P2ALIGN (STRNLEN, 6)
-	/* Check zero length.  */
-	test	%RSI_LP, %RSI_LP
-	jz	L(zero)
-# ifdef __ILP32__
-	/* Clear the upper 32 bits.  */
-	movl	%esi, %esi
-# endif
-
-	movl	%edi, %eax
-	vpxorq	%XZERO, %XZERO, %XZERO
-	andl	$(PAGE_SIZE - 1), %eax
-	cmpl	$(PAGE_SIZE - VEC_SIZE), %eax
-	ja	L(cross_page_boundary)
-
-	/* Check the first VEC_SIZE bytes.  Each bit in K0 represents a
-	   null byte.  */
-	VPCMPEQ	(%rdi), %VZERO, %k0
-
-	KMOV	%k0, %VRCX
-	movq	%rsi, %rax
-
-	/* If src (rcx) is zero, bsf does not change the result.  NB:
-	   Must use 64-bit bsf here so that upper bits of len are not
-	   cleared.  */
-	bsfq	%rcx, %rax
-	/* If rax > CHAR_PER_VEC then rcx must have been zero (no null
-	   CHAR) and rsi must be > CHAR_PER_VEC.  */
-	cmpq	$CHAR_PER_VEC, %rax
-	ja	L(more_1x_vec)
-	/* Check if first match in bounds.  */
-	cmpq	%rax, %rsi
-	cmovb	%esi, %eax
-	ret
-
-
-# if CHAR_PER_VEC != 32
-	.p2align 4,, 2
-L(zero):
-L(max_0):
-	movl	%esi, %eax
-	ret
-# endif
-
-	/* Aligned more for strnlen compares remaining length vs 2 *
-	   CHAR_PER_VEC, 4 * CHAR_PER_VEC, and 8 * CHAR_PER_VEC before
-	   going to the loop.  */
-	.p2align 4,, 10
-L(more_1x_vec):
-L(cross_page_continue):
-	/* Compute number of words checked after aligning.  */
-# ifdef USE_AS_WCSLEN
-	/* Need to compute directly for wcslen as CHAR_SIZE * rsi can
-	   overflow.  */
-	movq	%rdi, %rax
-	andq	$(VEC_SIZE * -1), %rdi
-	subq	%rdi, %rax
-	sarq	$2, %rax
-	leaq	-(CHAR_PER_VEC * 1)(%rax, %rsi), %rax
-# else
-	leaq	(VEC_SIZE * -1)(%rsi, %rdi), %rax
-	andq	$(VEC_SIZE * -1), %rdi
-	subq	%rdi, %rax
-# endif
-
-
-	VPCMPEQ	VEC_SIZE(%rdi), %VZERO, %k0
-
-	cmpq	$(CHAR_PER_VEC * 2), %rax
-	ja	L(more_2x_vec)
-
-L(last_2x_vec_or_less):
-	KMOV	%k0, %VRDX
-	test	%VRDX, %VRDX
-	jnz	L(last_vec_check)
-
-	/* Check the end of data.  */
-	SUB_SHORT (CHAR_PER_VEC, rax)
-	jbe	L(max_0)
-	VPCMPEQ	(VEC_SIZE * 2)(%rdi), %VZERO, %k0
-	KMOV	%k0, %VRDX
-	test	%VRDX, %VRDX
-	jz	L(max_0)
-	/* Best place for LAST_VEC_CHECK if ZMM.  */
-	.p2align 4,, 8
-L(last_vec_check):
-	bsf	%VRDX, %VRDX
-	sub	%eax, %edx
-	lea	(%rsi, %rdx), %eax
-	cmovae	%esi, %eax
-	ret
-
-# if CHAR_PER_VEC == 32
-	.p2align 4,, 2
-L(zero):
-L(max_0):
-	movl	%esi, %eax
-	ret
-# endif
-
-	.p2align 4,, 8
-L(last_4x_vec_or_less):
-	addl	$(CHAR_PER_VEC * -4), %eax
-	VPCMPEQ	(VEC_SIZE * 5)(%rdi), %VZERO, %k0
-	subq	$(VEC_SIZE * -4), %rdi
-	cmpl	$(CHAR_PER_VEC * 2), %eax
-	jbe	L(last_2x_vec_or_less)
-
-	.p2align 4,, 6
-L(more_2x_vec):
-	/* Remaining length >= 2 * CHAR_PER_VEC so do VEC0/VEC1 without
-	   rechecking bounds.  */
-
-	KMOV	%k0, %VRDX
-
-	test	%VRDX, %VRDX
-	jnz	L(first_vec_x1)
-
-	VPCMPEQ	(VEC_SIZE * 2)(%rdi), %VZERO, %k0
-	KMOV	%k0, %VRDX
-	test	%VRDX, %VRDX
-	jnz	L(first_vec_x2)
-
-	cmpq	$(CHAR_PER_VEC * 4), %rax
-	ja	L(more_4x_vec)
-
-
-	VPCMPEQ	(VEC_SIZE * 3)(%rdi), %VZERO, %k0
-	KMOV	%k0, %VRDX
-	addl	$(CHAR_PER_VEC * -2), %eax
-	test	%VRDX, %VRDX
-	jnz	L(last_vec_check)
-
-	subl	$(CHAR_PER_VEC), %eax
-	jbe	L(max_1)
-
-	VPCMPEQ	(VEC_SIZE * 4)(%rdi), %VZERO, %k0
-	KMOV	%k0, %VRDX
-
-	test	%VRDX, %VRDX
-	jnz	L(last_vec_check)
-L(max_1):
-	movl	%esi, %eax
-	ret
-
-	.p2align 4,, 3
-L(first_vec_x2):
-# if VEC_SIZE == 64
-	/* If VEC_SIZE == 64 we can fit logic for full return label in
-	   spare bytes before next cache line.  */
-	bsf	%VRDX, %VRDX
-	sub	%eax, %esi
-	leal	(CHAR_PER_VEC * 1)(%rsi, %rdx), %eax
-	ret
-	.p2align 4,, 6
-# else
-	addl	$CHAR_PER_VEC, %esi
-# endif
-L(first_vec_x1):
-	bsf	%VRDX, %VRDX
-	sub	%eax, %esi
-	leal	(CHAR_PER_VEC * 0)(%rsi, %rdx), %eax
-	ret
-
-
-	.p2align 4,, 6
-L(first_vec_x4):
-# if VEC_SIZE == 64
-	/* If VEC_SIZE == 64 we can fit logic for full return label in
-	   spare bytes before next cache line.  */
-	bsf	%VRDX, %VRDX
-	sub	%eax, %esi
-	leal	(CHAR_PER_VEC * 3)(%rsi, %rdx), %eax
-	ret
-	.p2align 4,, 6
-# else
-	addl	$CHAR_PER_VEC, %esi
-# endif
-L(first_vec_x3):
-	bsf	%VRDX, %VRDX
-	sub	%eax, %esi
-	leal	(CHAR_PER_VEC * 2)(%rsi, %rdx), %eax
-	ret
-
-	.p2align 4,, 5
-L(more_4x_vec):
-	VPCMPEQ	(VEC_SIZE * 3)(%rdi), %VZERO, %k0
-	KMOV	%k0, %VRDX
-	test	%VRDX, %VRDX
-	jnz	L(first_vec_x3)
-
-	VPCMPEQ	(VEC_SIZE * 4)(%rdi), %VZERO, %k0
-	KMOV	%k0, %VRDX
-	test	%VRDX, %VRDX
-	jnz	L(first_vec_x4)
-
-	/* Check if at last VEC_SIZE * 4 length before aligning for the
-	   loop.  */
-	cmpq	$(CHAR_PER_VEC * 8), %rax
-	jbe	L(last_4x_vec_or_less)
-
-
-	/* Compute number of words checked after aligning.  */
-# ifdef USE_AS_WCSLEN
-	/* Need to compute directly for wcslen as CHAR_SIZE * rsi can
-	   overflow.  */
-	leaq	(VEC_SIZE * -3)(%rdi), %rdx
-# else
-	leaq	(VEC_SIZE * -3)(%rdi, %rax), %rax
-# endif
-
-	subq	$(VEC_SIZE * -1), %rdi
-
-	/* Align data to VEC_SIZE * 4.  */
-# if VEC_SIZE == 64
-	/* Saves code size.  No evex512 processor has partial register
-	   stalls.  If that change this can be replaced with `andq
-	   $-(VEC_SIZE * 4), %rdi`.  */
-	xorb	%dil, %dil
-# else
-	andq	$-(VEC_SIZE * 4), %rdi
-# endif
-
-# ifdef USE_AS_WCSLEN
-	subq	%rdi, %rdx
-	sarq	$2, %rdx
-	addq	%rdx, %rax
-# else
-	subq	%rdi, %rax
-# endif
-	/* Compare 4 * VEC at a time forward.  */
-	.p2align 4,, 11
-L(loop_4x_vec):
-	VMOVA	(VEC_SIZE * 4)(%rdi), %VMM(1)
-	VPMINU	(VEC_SIZE * 5)(%rdi), %VMM(1), %VMM(2)
-	VMOVA	(VEC_SIZE * 6)(%rdi), %VMM(3)
-	VPMINU	(VEC_SIZE * 7)(%rdi), %VMM(3), %VMM(4)
-	VPTESTN	%VMM(2), %VMM(2), %k0
-	VPTESTN	%VMM(4), %VMM(4), %k2
-	subq	$-(VEC_SIZE * 4), %rdi
-	/* Break if at end of length.  */
-	subq	$(CHAR_PER_VEC * 4), %rax
-	jbe	L(loop_len_end)
-
-
-	KORTEST %k0, %k2
-	jz	L(loop_4x_vec)
-
-
-L(loop_last_4x_vec):
-	movq	%rsi, %rcx
-	subq	%rax, %rsi
-	VPTESTN	%VMM(1), %VMM(1), %k1
-	KMOV	%k1, %VRDX
-	test	%VRDX, %VRDX
-	jnz	L(last_vec_x0)
-
-	KMOV	%k0, %VRDX
-	test	%VRDX, %VRDX
-	jnz	L(last_vec_x1)
-
-	VPTESTN	%VMM(3), %VMM(3), %k0
-
-	/* Separate logic for VEC_SIZE == 64 and VEC_SIZE == 32 for
-	   returning last 2x VEC. For VEC_SIZE == 64 we test each VEC
-	   individually, for VEC_SIZE == 32 we combine them in a single
-	   64-bit GPR.  */
-# if CHAR_PER_VEC == 64
-	KMOV	%k0, %VRDX
-	test	%VRDX, %VRDX
-	jnz	L(last_vec_x2)
-	KMOV	%k2, %VRDX
-# else
-	/* We can only combine last 2x VEC masks if CHAR_PER_VEC <= 32.
-	 */
-	kmovd	%k2, %edx
-	kmovd	%k0, %eax
-	salq	$CHAR_PER_VEC, %rdx
-	orq	%rax, %rdx
-# endif
-
-	/* first_vec_x3 for strlen-ZMM and first_vec_x2 for strlen-YMM.
-	 */
-	bsfq	%rdx, %rdx
-	leaq	(FALLTHROUGH_RETURN_OFFSET - CHAR_PER_VEC * 4)(%rsi, %rdx), %rax
-	cmpq	%rax, %rcx
-	cmovb	%rcx, %rax
-	ret
-
-	/* Handle last 4x VEC after loop. All VECs have been loaded.  */
-	.p2align 4,, 4
-L(loop_len_end):
-	KORTEST %k0, %k2
-	jnz	L(loop_last_4x_vec)
-	movq	%rsi, %rax
-	ret
-
-
-# if CHAR_PER_VEC == 64
-	/* Since we can't combine the last 2x VEC for VEC_SIZE == 64
-	   need return label for it.  */
-	.p2align 4,, 8
-L(last_vec_x2):
-	bsf	%VRDX, %VRDX
-	leaq	(CHAR_PER_VEC * -2)(%rsi, %rdx), %rax
-	cmpq	%rax, %rcx
-	cmovb	%rcx, %rax
-	ret
-# endif
-
-
-	.p2align 4,, 10
-L(last_vec_x1):
-	addq	$CHAR_PER_VEC, %rsi
-L(last_vec_x0):
-	bsf	%VRDX, %VRDX
-	leaq	(CHAR_PER_VEC * -4)(%rsi, %rdx), %rax
-	cmpq	%rax, %rcx
-	cmovb	%rcx, %rax
-	ret
-
-
-	.p2align 4,, 8
-L(cross_page_boundary):
-	/* Align data to VEC_SIZE.  */
-	movq	%rdi, %rcx
-	andq	$-VEC_SIZE, %rcx
-	VPCMPEQ	(%rcx), %VZERO, %k0
-
-	KMOV	%k0, %VRCX
-# ifdef USE_AS_WCSLEN
-	shrl	$2, %eax
-	andl	$(CHAR_PER_VEC - 1), %eax
-# endif
-	shrx	%VRAX, %VRCX, %VRCX
-
-	negl	%eax
-	andl	$(CHAR_PER_VEC - 1), %eax
-	movq	%rsi, %rdx
-	bsf	%VRCX, %VRDX
-	cmpq	%rax, %rdx
-	ja	L(cross_page_continue)
-	movl	%edx, %eax
-	cmpq	%rdx, %rsi
-	cmovb	%esi, %eax
-	ret
-END (STRNLEN)
+#ifndef STRNLEN
+#define STRNLEN __strnlen_evex
 #endif
+
+#include "x86-evex256-vecs.h"
+#include "reg-macros.h"
+#include "strnlen-evex-base.S"
diff --git a/sysdeps/x86_64/multiarch/strnlen-evex512.S b/sysdeps/x86_64/multiarch/strnlen-evex512.S
index f8e55883bb..8ef54078f8 100644
--- a/sysdeps/x86_64/multiarch/strnlen-evex512.S
+++ b/sysdeps/x86_64/multiarch/strnlen-evex512.S
@@ -1,264 +1,7 @@
-/* Placeholder function, not used by any processor at the moment.
-   Copyright (C) 2022-2024 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
 #ifndef STRNLEN
 #define STRNLEN __strnlen_evex512
 #endif
 
 #include "x86-evex512-vecs.h"
 #include "reg-macros.h"
-
-#include <isa-level.h>
-
-#if ISA_SHOULD_BUILD (4)
-
-# include <sysdep.h>
-
-# ifdef USE_AS_WCSLEN
-#  define VPCMPEQ	vpcmpeqd
-#  define VPTESTN	vptestnmd
-#  define VPMINU	vpminud
-#  define CHAR_SIZE	4
-# else
-#  define VPCMPEQ	vpcmpeqb
-#  define VPTESTN	vptestnmb
-#  define VPMINU	vpminub
-#  define CHAR_SIZE	1
-# endif
-
-# define PAGE_SIZE	4096
-# define CHAR_PER_VEC	(VEC_SIZE / CHAR_SIZE)
-
-	.section SECTION(.text),"ax",@progbits
-/* Aligning entry point to 64 byte, provides better performance for
-   one vector length string.  */
-ENTRY_P2ALIGN (STRNLEN, 6)
-	/* Check zero length.  */
-	test	%RSI_LP, %RSI_LP
-	jz	L(ret_max)
-#  ifdef __ILP32__
-	/* Clear the upper 32 bits.  */
-	movl	%esi, %esi
-#  endif
-
-	movl	%edi, %eax
-	vpxorq	%VMM_128(0), %VMM_128(0), %VMM_128(0)
-	sall	$20, %eax
-	cmpl	$((PAGE_SIZE - VEC_SIZE) << 20), %eax
-	ja	L(page_cross)
-
-	/* Compare [w]char for null, mask bit will be set for match.  */
-	VPCMPEQ	(%rdi), %VMM(0), %k0
-	KMOV	%k0, %VRCX
-	/* Store max length in rax.  */
-	mov	%rsi, %rax
-	/* If rcx is 0, rax will have max length.  We can not use VRCX
-	   and VRAX here for evex256 because, upper 32 bits may be
-	   undefined for ecx and eax.  */
-	bsfq	%rcx, %rax
-	cmp	$CHAR_PER_VEC, %rax
-	ja	L(align_more)
-	cmpq	%rax, %rsi
-	cmovb	%esi, %eax
-	ret
-
-	/* At this point vector max length reached.  */
-	.p2align 4,,3
-L(ret_max):
-	movq	%rsi, %rax
-	ret
-
-L(align_more):
-	mov	%rdi, %rax
-	/* Align rax to VEC_SIZE.  */
-	andq	$-VEC_SIZE, %rax
-	movq	%rdi, %rdx
-	subq	%rax, %rdx
-#  ifdef USE_AS_WCSLEN
-	shr	$2, %VRDX
-#  endif
-	/* At this point rdx contains [w]chars already compared.  */
-	leaq	-CHAR_PER_VEC(%rsi, %rdx), %rdx
-	/* At this point rdx contains number of w[char] needs to go.
-	   Now onwards rdx will keep decrementing with each compare.  */
-
-	/* Loop unroll 4 times for 4 vector loop.  */
-	VPCMPEQ	VEC_SIZE(%rax), %VMM(0), %k0
-	subq	$-VEC_SIZE, %rax
-	KMOV	%k0, %VRCX
-	test	%VRCX, %VRCX
-	jnz	L(ret_vec_x1)
-
-	subq	$CHAR_PER_VEC, %rdx
-	jbe	L(ret_max)
-
-	VPCMPEQ	VEC_SIZE(%rax), %VMM(0), %k0
-	KMOV	%k0, %VRCX
-	test	%VRCX, %VRCX
-	jnz	L(ret_vec_x2)
-
-	subq	$CHAR_PER_VEC, %rdx
-	jbe	L(ret_max)
-
-	VPCMPEQ	(VEC_SIZE * 2)(%rax), %VMM(0), %k0
-	KMOV	%k0, %VRCX
-	test	%VRCX, %VRCX
-	jnz	L(ret_vec_x3)
-
-	subq	$CHAR_PER_VEC, %rdx
-	jbe	L(ret_max)
-
-	VPCMPEQ	(VEC_SIZE * 3)(%rax), %VMM(0), %k0
-	KMOV	%k0, %VRCX
-	test	%VRCX, %VRCX
-	jnz	L(ret_vec_x4)
-
-	subq	$CHAR_PER_VEC, %rdx
-	jbe	L(ret_max)
-	/* Save pointer before 4 x VEC_SIZE alignment.  */
-	movq	%rax, %rcx
-
-	/* Align address to VEC_SIZE * 4 for loop.  */
-	andq	$-(VEC_SIZE * 4), %rax
-
-	subq	%rax, %rcx
-#  ifdef USE_AS_WCSLEN
-	shr	$2, %VRCX
-#  endif
-	/* rcx contains number of [w]char will be recompared due to
-	   alignment fixes.  rdx must be incremented by rcx to offset
-	   alignment adjustment.  */
-	addq	%rcx, %rdx
-	/* Need jump as we don't want to add/subtract rdx for first
-	   iteration of 4 x VEC_SIZE aligned loop.  */
-
-	.p2align 4,,11
-L(loop):
-	/* VPMINU and VPCMP combination provide better performance as
-	   compared to alternative combinations.  */
-	VMOVA	(VEC_SIZE * 4)(%rax), %VMM(1)
-	VPMINU	(VEC_SIZE * 5)(%rax), %VMM(1), %VMM(2)
-	VMOVA	(VEC_SIZE * 6)(%rax), %VMM(3)
-	VPMINU	(VEC_SIZE * 7)(%rax), %VMM(3), %VMM(4)
-
-	VPTESTN	%VMM(2), %VMM(2), %k0
-	VPTESTN	%VMM(4), %VMM(4), %k1
-
-	subq	$-(VEC_SIZE * 4), %rax
-	KORTEST	%k0, %k1
-
-	jnz	L(loopend)
-	subq	$(CHAR_PER_VEC * 4), %rdx
-	ja	L(loop)
-	mov	%rsi, %rax
-	ret
-
-L(loopend):
-
-	VPTESTN	%VMM(1), %VMM(1), %k2
-	KMOV	%k2, %VRCX
-	test	%VRCX, %VRCX
-	jnz	L(ret_vec_x1)
-
-	KMOV	%k0, %VRCX
-	/* At this point, if k0 is non zero, null char must be in the
-	   second vector.  */
-	test	%VRCX, %VRCX
-	jnz	L(ret_vec_x2)
-
-	VPTESTN	%VMM(3), %VMM(3), %k3
-	KMOV	%k3, %VRCX
-	test	%VRCX, %VRCX
-	jnz	L(ret_vec_x3)
-	/* At this point null [w]char must be in the fourth vector so no
-	   need to check.  */
-	KMOV	%k1, %VRCX
-
-	/* Fourth, third, second vector terminating are pretty much
-	   same, implemented this way to avoid branching and reuse code
-	   from pre loop exit condition.  */
-L(ret_vec_x4):
-	bsf	%VRCX, %VRCX
-	subq	%rdi, %rax
-# ifdef USE_AS_WCSLEN
-	subq	$-(VEC_SIZE * 3), %rax
-	shrq	$2, %rax
-	addq	%rcx, %rax
-# else
-	leaq	(VEC_SIZE * 3)(%rcx, %rax), %rax
-# endif
-
-	cmpq	%rsi, %rax
-	cmovnb	%rsi, %rax
-	ret
-
-L(ret_vec_x3):
-	bsf	%VRCX, %VRCX
-	subq	%rdi, %rax
-# ifdef USE_AS_WCSLEN
-	subq	$-(VEC_SIZE * 2), %rax
-	shrq	$2, %rax
-	addq	%rcx, %rax
-# else
-	leaq	(VEC_SIZE * 2)(%rcx, %rax), %rax
-# endif
-	cmpq	%rsi, %rax
-	cmovnb	%rsi, %rax
-	ret
-
-L(ret_vec_x2):
-	subq	$-VEC_SIZE, %rax
-L(ret_vec_x1):
-	bsf	%VRCX, %VRCX
-	subq	%rdi, %rax
-# ifdef USE_AS_WCSLEN
-	shrq	$2, %rax
-# endif
-	addq	%rcx, %rax
-	cmpq	%rsi, %rax
-	cmovnb	%rsi, %rax
-	ret
-
-L(page_cross):
-	mov	%rdi, %rax
-	movl	%edi, %ecx
-	andl	$(VEC_SIZE - 1), %ecx
-# ifdef USE_AS_WCSLEN
-	sarl	$2, %ecx
-# endif
-	/* ecx contains number of w[char] to be skipped as a result
-	   of address alignment.  */
-	andq	$-VEC_SIZE, %rax
-	VPCMPEQ	(%rax), %VMM(0), %k0
-	KMOV	%k0, %VRDX
-	/* Ignore number of character for alignment adjustment.  */
-	shr	%cl, %VRDX
-	jnz	L(page_cross_end)
-	movl    $CHAR_PER_VEC, %eax
-	sub     %ecx, %eax
-	cmp	%rax, %rsi
-	ja	L(align_more)
-
-L(page_cross_end):
-	bsf	%VRDX, %VRAX
-	cmpq	%rsi, %rax
-	cmovnb	%esi, %eax
-	ret
-
-END (STRNLEN)
-#endif
+#include "strnlen-evex-base.S"
\ No newline at end of file
diff --git a/sysdeps/x86_64/nptl/tcb-offsets.sym b/sysdeps/x86_64/nptl/tcb-offsets.sym
index 2bbd563a6c..988a4b8593 100644
--- a/sysdeps/x86_64/nptl/tcb-offsets.sym
+++ b/sysdeps/x86_64/nptl/tcb-offsets.sym
@@ -13,6 +13,3 @@ MULTIPLE_THREADS_OFFSET	offsetof (tcbhead_t, multiple_threads)
 POINTER_GUARD		offsetof (tcbhead_t, pointer_guard)
 FEATURE_1_OFFSET	offsetof (tcbhead_t, feature_1)
 SSP_BASE_OFFSET		offsetof (tcbhead_t, ssp_base)
-
--- Not strictly offsets, but these values are also used in the TCB.
-TCB_CANCELED_BITMASK	 CANCELED_BITMASK
diff --git a/sysdeps/x86_64/x32/Makefile b/sysdeps/x86_64/x32/Makefile
index a015789a4f..a9b20b798f 100644
--- a/sysdeps/x86_64/x32/Makefile
+++ b/sysdeps/x86_64/x32/Makefile
@@ -1,3 +1,9 @@
+ifeq ($(subdir),elf)
+# Xfail tst-platform-1 on x32 since kernel passes i686 in AT_PLATFORM.
+# See https://sourceware.org/bugzilla/show_bug.cgi?id=22363
+test-xfail-tst-platform-1 = yes
+endif
+
 ifeq ($(subdir),math)
 # Since x32 returns 32-bit long int and 64-bit long long int in the
 # same 64-bit register, we make the 32b-bit lround an alias of the
diff --git a/sysdeps/x86_64/x32/dl-machine.h b/sysdeps/x86_64/x32/dl-machine.h
deleted file mode 100644
index c35cee9261..0000000000
--- a/sysdeps/x86_64/x32/dl-machine.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Machine-dependent ELF dynamic relocation inline functions.  x32 version.
-   Copyright (C) 2012-2024 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-/* Must allow <sysdeps/x86_64/dl-machine.h> to be included more than once.
-   See #ifdef RESOLVE_MAP in sysdeps/x86_64/dl-machine.h.  */
-#include <sysdeps/x86_64/dl-machine.h>
-
-#ifndef _X32_DL_MACHINE_H
-#define _X32_DL_MACHINE_H
-
-#undef ARCH_LA_PLTENTER
-#undef ARCH_LA_PLTEXIT
-#undef RTLD_START
-
-/* Names of the architecture-specific auditing callback functions.  */
-#define ARCH_LA_PLTENTER x32_gnu_pltenter
-#define ARCH_LA_PLTEXIT x32_gnu_pltexit
-
-/* Initial entry point code for the dynamic linker.
-   The C function `_dl_start' is the real entry point;
-   its return value is the user program's entry point.  */
-#define RTLD_START asm ("\n\
-.text\n\
-	.p2align 4\n\
-.globl _start\n\
-.globl _dl_start_user\n\
-_start:\n\
-	movl %esp, %edi\n\
-	call _dl_start\n\
-_dl_start_user:\n\
-	# Save the user entry point address in %r12.\n\
-	movl %eax, %r12d\n\
-	# Read the original argument count.\n\
-	movl (%rsp), %edx\n\
-	# Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\
-	# argc -> rsi\n\
-	movl %edx, %esi\n\
-	# Save %rsp value in %r13.\n\
-	movl %esp, %r13d\n\
-	# And align stack for the _dl_init call.\n\
-	and $-16, %esp\n\
-	# _dl_loaded -> rdi\n\
-	movl _rtld_local(%rip), %edi\n\
-	# env -> rcx\n\
-	lea 8(%r13,%rdx,4), %ecx\n\
-	# argv -> rdx\n\
-	lea 4(%r13), %edx\n\
-	# Clear %rbp to mark outermost frame obviously even for constructors.\n\
-	xorl %ebp, %ebp\n\
-	# Call the function to run the initializers.\n\
-	call _dl_init\n\
-	# Pass our finalizer function to the user in %rdx, as per ELF ABI.\n\
-	lea _dl_fini(%rip), %edx\n\
-	# And make sure %rsp points to argc stored on the stack.\n\
-	movl %r13d, %esp\n\
-	# Jump to the user's entry point.\n\
-	jmp *%r12\n\
-.previous\n\
-");
-
-#endif /* !_X32_DL_MACHINE_H */
diff --git a/time/Makefile b/time/Makefile
index f4c75b786d..d06797b06c 100644
--- a/time/Makefile
+++ b/time/Makefile
@@ -42,16 +42,49 @@ routines := offtime asctime clock ctime ctime_r difftime \
 
 aux :=	    era alt_digit lc-time-cleanup
 
-tests	:= test_time clocktest tst-posixtz tst-strptime tst_wcsftime \
-	   tst-getdate tst-mktime tst-mktime2 tst-ftime_l tst-strftime \
-	   tst-mktime3 tst-strptime2 bug-asctime bug-asctime_r bug-mktime1 \
-	   tst-strptime3 bug-getdate1 tst-strptime-whitespace tst-ftime \
-	   tst-tzname tst-y2039 bug-mktime4 tst-strftime2 tst-strftime3 \
-	   tst-clock tst-clock2 tst-clock_nanosleep tst-cpuclock1 \
-	   tst-adjtime tst-ctime tst-difftime tst-mktime4 tst-clock_settime \
-	   tst-settimeofday tst-itimer tst-gmtime tst-timegm \
-	   tst-timespec_get tst-timespec_getres tst-strftime4 \
-	   tst-tzfile-fault
+tests := \
+  bug-asctime \
+  bug-asctime_r \
+  bug-getdate1 \
+  bug-mktime1 \
+  bug-mktime4 \
+  clocktest \
+  test_time \
+  tst-adjtime \
+  tst-clock \
+  tst-clock2 \
+  tst-clock_nanosleep \
+  tst-clock_settime \
+  tst-cpuclock1 \
+  tst-ctime \
+  tst-difftime \
+  tst-ftime \
+  tst-ftime_l \
+  tst-getdate \
+  tst-gmtime \
+  tst-itimer \
+  tst-mktime \
+  tst-mktime2 \
+  tst-mktime3 \
+  tst-mktime4 \
+  tst-posixtz \
+  tst-settimeofday \
+  tst-strftime \
+  tst-strftime2 \
+  tst-strftime3 \
+  tst-strftime4 \
+  tst-strptime \
+  tst-strptime-whitespace \
+  tst-strptime2 \
+  tst-strptime3 \
+  tst-timegm \
+  tst-timespec_get \
+  tst-timespec_getres \
+  tst-tzfile-fault \
+  tst-tzname \
+  tst-y2039 \
+  tst_wcsftime \
+  # tests
 
 tests-time64 := \
   tst-adjtime-time64 \
diff --git a/version.h b/version.h
index 1fb72da2a5..3b675229f5 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
 #define RELEASE "development"
-#define VERSION "2.39.9000"
+#define VERSION "2.40.9000"
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
index 1cddd8cc6d..63adf0e8ef 100644
--- a/wcsmbs/Makefile
+++ b/wcsmbs/Makefile
@@ -160,6 +160,7 @@ tests := \
   test-wcsncmp \
   test-wcsncpy \
   test-wcsnlen \
+  test-wcsnlen-nonarray \
   test-wcspbrk \
   test-wcsrchr \
   test-wcsspn \
@@ -205,6 +206,10 @@ tests := \
   wcsmbs-tst1 \
   # tests
 
+# This test runs for a long time.
+xtests += test-wcsncmp-nonarray
+
+
 include ../Rules
 
 ifeq ($(run-built-tests),yes)
diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h
index 9fdff47ee2..43c6b63027 100644
--- a/wcsmbs/bits/wchar2.h
+++ b/wcsmbs/bits/wchar2.h
@@ -74,9 +74,9 @@ __fortify_function __attribute_overloadable__ wchar_t *
 __NTH (wcscpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest),
 	       const wchar_t *__restrict __src))
 {
-  size_t sz = __glibc_objsize (__dest);
-  if (sz != (size_t) -1)
-    return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t));
+  size_t __sz = __glibc_objsize (__dest);
+  if (__sz != (size_t) -1)
+    return __wcscpy_chk (__dest, __src, __sz / sizeof (wchar_t));
   return __wcscpy_alias (__dest, __src);
 }
 
@@ -84,9 +84,9 @@ __fortify_function __attribute_overloadable__ wchar_t *
 __NTH (wcpcpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest),
 	       const wchar_t *__restrict __src))
 {
-  size_t sz = __glibc_objsize (__dest);
-  if (sz != (size_t) -1)
-    return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t));
+  size_t __sz = __glibc_objsize (__dest);
+  if (__sz != (size_t) -1)
+    return __wcpcpy_chk (__dest, __src, __sz / sizeof (wchar_t));
   return __wcpcpy_alias (__dest, __src);
 }
 
@@ -118,9 +118,9 @@ __fortify_function __attribute_overloadable__ wchar_t *
 __NTH (wcscat (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest),
 	       const wchar_t *__restrict __src))
 {
-  size_t sz = __glibc_objsize (__dest);
-  if (sz != (size_t) -1)
-    return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t));
+  size_t __sz = __glibc_objsize (__dest);
+  if (__sz != (size_t) -1)
+    return __wcscat_chk (__dest, __src, __sz / sizeof (wchar_t));
   return __wcscat_alias (__dest, __src);
 }
 
@@ -128,9 +128,9 @@ __fortify_function __attribute_overloadable__ wchar_t *
 __NTH (wcsncat (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest),
 	       const wchar_t *__restrict __src, size_t __n))
 {
-  size_t sz = __glibc_objsize (__dest);
-  if (sz != (size_t) -1)
-    return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t));
+  size_t __sz = __glibc_objsize (__dest);
+  if (__sz != (size_t) -1)
+    return __wcsncat_chk (__dest, __src, __n, __sz / sizeof (wchar_t));
   return __wcsncat_alias (__dest, __src, __n);
 }
 
@@ -170,10 +170,10 @@ __fortify_function int
 __NTH (swprintf (wchar_t *__restrict __s, size_t __n,
 		 const wchar_t *__restrict __fmt, ...))
 {
-  size_t sz = __glibc_objsize (__s);
-  if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
+  size_t __sz = __glibc_objsize (__s);
+  if (__sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
     return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
-			   sz / sizeof (wchar_t), __fmt, __va_arg_pack ());
+			   __sz / sizeof (wchar_t), __fmt, __va_arg_pack ());
   return __swprintf_alias (__s, __n, __fmt, __va_arg_pack ());
 }
 #elif __fortify_use_clang
@@ -206,10 +206,10 @@ __fortify_function int
 __NTH (vswprintf (wchar_t *__restrict __s, size_t __n,
 		  const wchar_t *__restrict __fmt, __gnuc_va_list __ap))
 {
-  size_t sz = __glibc_objsize (__s);
-  if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
+  size_t __sz = __glibc_objsize (__s);
+  if (__sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
     return __vswprintf_chk (__s, __n,  __USE_FORTIFY_LEVEL - 1,
-			    sz / sizeof (wchar_t), __fmt, __ap);
+			    __sz / sizeof (wchar_t), __fmt, __ap);
   return __vswprintf_alias (__s, __n, __fmt, __ap);
 }
 
@@ -257,14 +257,14 @@ fgetws (__fortify_clang_overload_arg (wchar_t *, __restrict, __s), int __n,
 					      "fgetws called with length bigger "
 					      "than size of destination buffer")
 {
-  size_t sz = __glibc_objsize (__s);
-  if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz))
+  size_t __sz = __glibc_objsize (__s);
+  if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), __sz))
     return __fgetws_alias (__s, __n, __stream);
 #if !__fortify_use_clang
-  if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz))
-    return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream);
+  if (__glibc_unsafe_len (__n, sizeof (wchar_t), __sz))
+    return __fgetws_chk_warn (__s, __sz / sizeof (wchar_t), __n, __stream);
 #endif
-  return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream);
+  return __fgetws_chk (__s, __sz / sizeof (wchar_t), __n, __stream);
 }
 
 #ifdef __USE_GNU
@@ -275,15 +275,15 @@ fgetws_unlocked (__fortify_clang_overload_arg (wchar_t *, __restrict, __s),
 					      "fgetws_unlocked called with length bigger "
 					      "than size of destination buffer")
 {
-  size_t sz = __glibc_objsize (__s);
-  if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz))
+  size_t __sz = __glibc_objsize (__s);
+  if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), __sz))
     return __fgetws_unlocked_alias (__s, __n, __stream);
 # if !__fortify_use_clang
-  if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz))
-    return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n,
+  if (__glibc_unsafe_len (__n, sizeof (wchar_t), __sz))
+    return __fgetws_unlocked_chk_warn (__s, __sz / sizeof (wchar_t), __n,
 				       __stream);
 # endif
-  return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream);
+  return __fgetws_unlocked_chk (__s, __sz / sizeof (wchar_t), __n, __stream);
 }
 #endif
 
diff --git a/wcsmbs/test-wcsncmp-nonarray.c b/wcsmbs/test-wcsncmp-nonarray.c
new file mode 100644
index 0000000000..1ad9ebd8fd
--- /dev/null
+++ b/wcsmbs/test-wcsncmp-nonarray.c
@@ -0,0 +1,5 @@
+#include <wchar.h>
+#define TEST_IDENTIFIER wcsncmp
+#define TEST_NAME "wcsncmp"
+typedef wchar_t CHAR;
+#include "../string/test-Xncmp-nonarray.c"
diff --git a/wcsmbs/test-wcsnlen-nonarray.c b/wcsmbs/test-wcsnlen-nonarray.c
new file mode 100644
index 0000000000..a4b21fecd3
--- /dev/null
+++ b/wcsmbs/test-wcsnlen-nonarray.c
@@ -0,0 +1,5 @@
+#include <wchar.h>
+#define TEST_IDENTIFIER wcsnlen
+#define TEST_NAME "wcsnlen"
+typedef wchar_t CHAR;
+#include "../string/test-Xnlen-nonarray.c"