This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH v1 0/7] Add missing nldbl functions to libc


The functions: argp_error and argp_failure (from argp.h); err, errx,
verr, verrx, warn, warnx, vwarn, and vwarnx (from err.h); error and
error_at_line (from error.h); can take long double arguments if
requested by the format string.  However, on platforms where long double
format changed in GLIBC 2.4, a compat function (nldbl) has never been
added.  This patch set adds these functions, as well as header magic to
redirect function calls when user code is built with -mlong-double-64.

The first patch in the set is a fix for the recently integrated rework
to printf and scanf functions, which did not cause test case failures
with the current set of tests in the master branch.  The tests added by
this patch set expose the problem.

The second patch also fixes a problem exposed by the new tests, where
the redirection for strtold causes a problem on a Debian 9 machine,
because /usr/include/powerpc64le-linux-gnu/bits/stdlib-ldbl.h still
contains the __BEGIN_NAMESPACE_C99 and __END_NAMESPACE_C99 macros.

Gabriel F. T. Gomes (7):
  Remove redirection of _IO_vfprintf
  Add *-ldbl.h headers to include/bits
  ldbl-opt: Add arpg_error and argp_failure
  ldbl-opt: Reuse argp tests that print long double
  ldbl-opt: Add err, errx, verr, verrx, warn, warnx, vwarn, and vwarnx
  ldbl-opt: Add error and error_at_line
  ldbl-opt: Reuse test cases from misc/ that check long double

 argp/argp.h                                        |   4 +
 argp/bits/argp-ldbl.h                              |  24 +++++
 include/argp.h                                     |  11 +++
 include/bits/argp-ldbl.h                           |   1 +
 include/bits/err-ldbl.h                            |   1 +
 include/bits/error-ldbl.h                          |   1 +
 include/bits/monetary-ldbl.h                       |   1 +
 include/bits/printf-ldbl.h                         |   1 +
 include/bits/stdio-ldbl.h                          |   1 +
 include/bits/stdlib-ldbl.h                         |   1 +
 include/bits/syslog-ldbl.h                         |   1 +
 include/bits/wchar-ldbl.h                          |   1 +
 include/err.h                                      |   9 ++
 include/error.h                                    |  14 +++
 libio/libio.h                                      |   1 -
 misc/bits/err-ldbl.h                               |  30 ++++++
 misc/bits/error-ldbl.h                             |  24 +++++
 misc/err.h                                         |   4 +
 misc/error.h                                       |  12 ++-
 misc/tst-ldbl-error.c                              |  25 ++---
 misc/tst-ldbl-warn.c                               |  20 ++--
 sysdeps/ieee754/ldbl-opt/Makefile                  |  26 ++++++
 sysdeps/ieee754/ldbl-opt/Versions                  |   6 ++
 sysdeps/ieee754/ldbl-opt/nldbl-compat.c            | 104 +++++++++++++++++++++
 sysdeps/ieee754/ldbl-opt/nldbl-compat.h            |  15 +++
 sysdeps/unix/sysv/linux/alpha/libc.abilist         |  12 +++
 .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist  |  12 +++
 .../linux/powerpc/powerpc32/nofpu/libc.abilist     |  12 +++
 .../sysv/linux/powerpc/powerpc64/libc-le.abilist   |  12 +++
 .../unix/sysv/linux/powerpc/powerpc64/libc.abilist |  12 +++
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist  |  12 +++
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist  |  12 +++
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist |  12 +++
 33 files changed, 412 insertions(+), 22 deletions(-)
 create mode 100644 argp/bits/argp-ldbl.h
 create mode 100644 include/bits/argp-ldbl.h
 create mode 100644 include/bits/err-ldbl.h
 create mode 100644 include/bits/error-ldbl.h
 create mode 100644 include/bits/monetary-ldbl.h
 create mode 100644 include/bits/printf-ldbl.h
 create mode 100644 include/bits/stdio-ldbl.h
 create mode 100644 include/bits/stdlib-ldbl.h
 create mode 100644 include/bits/syslog-ldbl.h
 create mode 100644 include/bits/wchar-ldbl.h
 create mode 100644 misc/bits/err-ldbl.h
 create mode 100644 misc/bits/error-ldbl.h

-- 
2.14.5


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]