diff options
author | Gabriel F. T. Gomes <gabriel@inconstante.eti.br> | 2018-08-08 09:58:36 -0300 |
---|---|---|
committer | Gabriel F. T. Gomes <gabriel@inconstante.eti.br> | 2019-03-01 15:24:51 -0300 |
commit | 90188e7d1adc5d8743d7933c9ed1bf95f91dda62 (patch) | |
tree | b95a92a1f310ed52f9340a905bf1da7835106a3d /ChangeLog | |
parent | ea2d89d01c2be3e87eced8bb51ce5dc66d09ac35 (diff) | |
download | glibc-90188e7d1adc5d8743d7933c9ed1bf95f91dda62.tar.gz glibc-90188e7d1adc5d8743d7933c9ed1bf95f91dda62.tar.xz glibc-90188e7d1adc5d8743d7933c9ed1bf95f91dda62.zip |
ldbl-opt: Add err, errx, verr, verrx, warn, warnx, vwarn, and vwarnx (bug 23984)
When support for long double format with 128-bits (-mlong-double-128) was added for platforms where long double had the same format as double, such as powerpc, compatibility versions for the functions listed in the commit title were missed. Since the older format of long double can still be used (with -mlong-double-64), using these functions with a format string that requests the printing of long double variables will produce wrong outputs. This patch adds the missing compatibility functions and header magic to redirect calls to them when -mlong-double-64 is in use. Tested for powerpc, powerpc64 and powerpc64le.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 80de795860..37183907e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,38 @@ 2019-03-01 Gabriel F. T. Gomes <gabriel@inconstante.eti.br> + [BZ #23984] + * include/bits/err-ldbl.h: New file. + * include/err.h: Add prototypes for the internal functions: + __vwarnx_internal and __vwarn_internal. + * misc/Makefile (headers): Add bits/err-ldbl.h. + * misc/bits/err-ldbl.h: New file. + * misc/err.h: Include bits/err-ldbl.h when __LDBL_COMPAT is + defined, i.e.: when -mlong-double-64 is in use. + * sysdeps/ieee754/ldbl-opt/Versions (libc): Add __nldbl_warn, + __nldbl_vwarn, __nldbl_warnx, __nldbl_vwarnx, __nldbl_err, + __nldbl_verr, __nldbl_errx, and __nldbl_verrx. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Include err.h. + (VA_CALL): New macro. + (__nldbl_vwarn, __nldbl_vwarnx, __nldbl_warn, __nldbl_warnx) + (__nldbl_verr, __nldbl_verrx, __nldbl_err, __nldbl_errx): New + functions. + * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: Include err.h and + declare prototypes for the new functions. + * sysdeps/unix/sysv/linux/alpha/libc.abilist: Update. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. + +2019-03-01 Gabriel F. T. Gomes <gabriel@inconstante.eti.br> + * sysdeps/ieee754/ldbl-opt/Makefile [subdir == argp] (tests-internal): Add tst-nldbl-argp. [subdir == argp] ($(objpfx)tst-nldbl-argp.c): New rule. |