mbox series

[RFC,v2,0/3] stdio/wchar/argp/err/error.h functions for powerpc64le

Message ID 20180605222120.24696-1-gabriel@inconstante.eti.br
Headers show
Series stdio/wchar/argp/err/error.h functions for powerpc64le | expand

Message

Gabriel F. T. Gomes June 5, 2018, 10:21 p.m. UTC
Although the email subject might suggest otherwise, this RFC patch does
not contain code to deal with all functions from the listed headers.  As
a matter of fact, this patch set only contains code for vfprintf
(similarly to the first version of the RFC).  My intention with this RFC
patch is to ask you if you could verify that I understood correctly what
was suggested in the replies to the first version of the RFC, more
specifically in the last message [1] (I'm already thankful for the
previous review and suggestions, so I hope that I've managed to make
this new version as small and easy to review as possible).

This patch set is based on top of Zack's patches for nldbl [2] and I
have made it public in a personal branch [3].  The first patch adds
changes to the new internal implementation of vfprintf
(__vfprintf_internal), adding a new macro to be used by its 'mode'
parameter.  The second patch uses it in the implementation of
__ieee128_vfprintf (an exposed symbol on powerpc64le).  As before, I
added a third patch, which actually enables it for powerpc64le, but only
for testing purposes (a similar patch will be proposed when support for
all other functions is ready, but it will not add new header files for
redirection (i.e.: no stdio-ieee128.h)).


[1] https://sourceware.org/ml/libc-alpha/2018-05/msg00892.html

[2] https://sourceware.org/ml/libc-alpha/2018-03/msg00185.html

[3] https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/gabriel/powerpc-ieee128-printscan

Gabriel F. T. Gomes (3):
  Prepare vfprintf to use __printf_fp/__printf_fphex with float128 arg
  ldbl-128ibm-compat: Use __vfprintf_internal for ieee128-vfprintf on
    powerpc64le
  RFC: powerpc64le: Convert default long double format to IEEE binary128

 libio/libioP.h                                     |  5 +-
 libio/stdio.h                                      | 13 +++++
 stdio-common/printf-parse.h                        |  3 ++
 stdio-common/vfprintf-internal.c                   | 62 +++++++++++++++++-----
 sysdeps/ieee754/ldbl-128ibm-compat/Makefile        | 43 +++++++++++++++
 sysdeps/ieee754/ldbl-128ibm-compat/Versions        | 10 ++++
 .../ldbl-128ibm-compat/bits/stdio-ieee128.h        | 38 +++++++++++++
 .../ieee754/ldbl-128ibm-compat/ieee128-vfprintf.c  | 25 +++++++++
 .../ldbl-128ibm-compat/test-printf-ibm128.c        |  1 +
 .../ldbl-128ibm-compat/test-printf-ieee128.c       |  1 +
 .../ldbl-128ibm-compat/test-printf-ldbl-compat.c   | 51 ++++++++++++++++++
 .../ldbl-128ibm-compat/test-printf-ldbl-compat.sh  | 42 +++++++++++++++
 sysdeps/powerpc/powerpc64/le/Implies-before        |  1 +
 .../powerpc/powerpc64/le/ldbl-128ibm-compat-abi.h  |  8 +++
 .../sysv/linux/powerpc/powerpc64/libc-le.abilist   |  1 +
 15 files changed, 289 insertions(+), 15 deletions(-)
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/Makefile
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/Versions
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/bits/stdio-ieee128.h
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ibm128.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ieee128.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.sh
 create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ldbl-128ibm-compat-abi.h

Comments

Joseph Myers June 6, 2018, 2:45 p.m. UTC | #1
On Tue, 5 Jun 2018, Gabriel F. T. Gomes wrote:

> Although the email subject might suggest otherwise, this RFC patch does
> not contain code to deal with all functions from the listed headers.  As
> a matter of fact, this patch set only contains code for vfprintf
> (similarly to the first version of the RFC).  My intention with this RFC
> patch is to ask you if you could verify that I understood correctly what
> was suggested in the replies to the first version of the RFC, more
> specifically in the last message [1] (I'm already thankful for the
> previous review and suggestions, so I hope that I've managed to make
> this new version as small and easy to review as possible).

Yes, I think the general approach is as expected, with the expectation 
that the addition of stdio-ieee128.h won't be in the final mainline 
patches and that the installed header handling of the new format on 
powerpc64le will only be enabled once all the library and header support 
for all functions and headers is ready.

If the minimum GCC version for building/testing glibc for powerpc64le 
increases (for example, because of new tests needing -mabi=ieeelongdouble 
to work), the corresponding configure and install.texi changes will need 
to go in before any other changes that have the effect of increasing the 
required GCC version.