public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v3 00/11] Add IEEE long double <-> string functions for powerpc64le
@ 2019-12-03 17:05 Gabriel F. T. Gomes
  2019-12-03 17:05 ` [PATCH v3 01/11] ldbl-128ibm-compat: Fix selection of GNU and ISO C99 scanf Gabriel F. T. Gomes
                   ` (10 more replies)
  0 siblings, 11 replies; 27+ messages in thread
From: Gabriel F. T. Gomes @ 2019-12-03 17:05 UTC (permalink / raw)
  To: libc-alpha

From: "Gabriel F. T. Gomes" <gabrielftg@linux.ibm.com>

Changes since v2:

  - 'Changes since v2' messages in each of the patches;
  - Patch 1/11 is new;
  - Branch updated at our git server [1].

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

Message for v2:

'Changes since v1' messages in each of the patches, except for patch v1
19/31, which has been dropped.  The updated tree can be found in the
repository [1] (commit ID d9fa17b4597a).

This patch set has been tested on powerpc64le, x86_64, and with
build-many-glibcs.py (sorry for not using b-m-g previously).

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

Message for v1:

Hi,

I have previously sent some of the patches in this set, but sending only
part of them usually raised the concern that they were hard to test,
because they depended on the remaining patches (making it also hard to
review).  To make testing easier, I provided the remaining patches in a
public branch (even though some weren't fully done), but that is not
what we usually do, which also contributes for the patch set being hard
to test and review.

I wanted to change this, so I finished the patches that weren't fully
ready in the branch, and I'm finally sending it as a regular patch
series by email.

Some notes to ease review:

  - Many of the patches are somewhat independent, for instance, it
    should be possible for someone to review only the syslog or cvt
    patches, but not those related to printf*.  The reason why I want to
    send them together is that many of them touch the same file
    (sysdeps/ieee754/ldbl-128ibm-compat/Makefile), so the order is
    important in this sense (I can change the order before commit if
    some later patch gets positive reviews first).
  - Beware that the *cvt refactoring is composed of 5 patches, but I
    will commit them only after squashing all into a *single* commit.
  - The last patch in the series is what makes all of this patches
    actually be used, so it's needed for the testing (and the last one
    needs all the others, because the function redirections (in *-ldbl.h
    files) is all-or-nothing.
  - This patch set is also available as a branch in the repository [1]
    (commit ID 1c4f7fffc4f1 - branch gabriel/powerpc-ieee128-printscan),
    maybe that helps.

PS: I removed all the ChangeLog entries (Hurray!)

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

Gabriel F. T. Gomes (9):
  ldbl-128ibm-compat: Fix selection of GNU and ISO C99 scanf
  ldbl-128ibm-compat: Add ISO C99 versions of scanf functions
  Refactor *cvt functions implementation (1-4/5)
  Refactor *cvt functions implementation (5/5)
  ldbl-128ibm-compat: Add *cvt functions
  Avoid compat symbols for totalorder in powerpc64le IEEE long double
  ldbl-128ibm-compat: Do not mix -mabi=*longdouble and -mlong-double-128
  powerpc64le: Require a compiler with -mno-gnu-attribute
  RFC: powerpc64le: Enable support for IEEE long double

Tulio Magno Quites Machado Filho (2):
  Do not redirect calls to __GI_* symbols, when redirecting to *ieee128
  ldbl-128ibm-compat: Compiler flags for stdio functions

 INSTALL                                       |   5 +
 NEWS                                          |   2 +-
 argp/argp.h                                   |   3 +-
 bits/long-double.h                            |   1 +
 include/stdio.h                               |  11 +-
 include/stdlib.h                              |   3 +
 libio/bits/stdio-ldbl.h                       |  46 ++--
 libio/stdio.h                                 |  16 +-
 manual/install.texi                           |   5 +
 misc/bits/syslog-ldbl.h                       |   4 +-
 misc/efgcvt-dbl-macros.h                      |  52 ++++
 misc/efgcvt-ldbl-macros.h                     |  59 ++++
 misc/efgcvt-template.c                        |  75 ++++++
 misc/efgcvt.c                                 | 124 ++-------
 misc/efgcvt_r-template.c                      | 198 ++++++++++++++
 misc/efgcvt_r.c                               | 251 +-----------------
 misc/err.h                                    |   3 +-
 misc/error.h                                  |   6 +-
 misc/qefgcvt.c                                |  43 ++-
 misc/qefgcvt_r.c                              |  50 ++--
 misc/sys/cdefs.h                              |  38 ++-
 misc/sys/syslog.h                             |   4 +-
 stdio-common/printf.h                         |   3 +-
 stdlib/bits/stdlib-ldbl.h                     |  22 ++
 stdlib/monetary.h                             |   3 +-
 stdlib/stdlib.h                               |   4 +-
 sysdeps/ieee754/ldbl-128/bits/long-double.h   |   1 +
 sysdeps/ieee754/ldbl-128/s_totalorderl.c      |   9 +
 sysdeps/ieee754/ldbl-128/s_totalordermagl.c   |   9 +
 sysdeps/ieee754/ldbl-128ibm-compat/Makefile   |  97 ++++++-
 sysdeps/ieee754/ldbl-128ibm-compat/Versions   |  22 ++
 .../ldbl-128ibm-compat/bits/long-double.h     |  29 ++
 .../ieee128-isoc99_fscanf.c                   |  35 +++
 .../ieee128-isoc99_fwscanf.c                  |  35 +++
 .../ldbl-128ibm-compat/ieee128-isoc99_scanf.c |  35 +++
 .../ieee128-isoc99_sscanf.c                   |  39 +++
 .../ieee128-isoc99_swscanf.c                  |  40 +++
 .../ieee128-isoc99_vfscanf.c                  |  27 ++
 .../ieee128-isoc99_vfwscanf.c                 |  27 ++
 .../ieee128-isoc99_vscanf.c                   |  27 ++
 .../ieee128-isoc99_vsscanf.c                  |  30 +++
 .../ieee128-isoc99_vswscanf.c                 |  32 +++
 .../ieee128-isoc99_vwscanf.c                  |  27 ++
 .../ieee128-isoc99_wscanf.c                   |  35 +++
 .../ldbl-128ibm-compat/ieee128-qefgcvt.c      |  52 ++++
 .../ldbl-128ibm-compat/ieee128-qefgcvt_r.c    |  34 +++
 .../test-isoc99-scanf-ibm128.c                |   1 +
 .../test-isoc99-scanf-ieee128.c               |   1 +
 .../test-isoc99-wscanf-ibm128.c               |   1 +
 .../test-isoc99-wscanf-ieee128.c              |   1 +
 .../test-scanf-ldbl-compat-template.c         |  73 +++--
 .../test-scanf-ldbl-compat.c                  |   7 +-
 .../test-scanf-ldbl-compat.sh                 |  16 +-
 .../test-wscanf-ldbl-compat.c                 |   7 +-
 sysdeps/ieee754/ldbl-96/bits/long-double.h    |   1 +
 sysdeps/ieee754/ldbl-opt/bits/long-double.h   |   1 +
 sysdeps/mips/ieee754/bits/long-double.h       |   1 +
 sysdeps/powerpc/powerpc64/le/Implies-before   |   1 +
 sysdeps/powerpc/powerpc64/le/configure        |  29 ++
 sysdeps/powerpc/powerpc64/le/configure.ac     |  15 ++
 .../powerpc64/le/ldbl-128ibm-compat-abi.h     |   8 +
 .../linux/powerpc/powerpc64/le/libc.abilist   |  93 +++++++
 .../linux/powerpc/powerpc64/le/libm.abilist   | 104 ++++++++
 .../linux/sparc/sparc32/bits/long-double.h    |   1 +
 .../linux/sparc/sparc64/bits/long-double.h    |   1 +
 wcsmbs/bits/wchar-ldbl.h                      |  36 ++-
 wcsmbs/wchar.h                                |  14 +-
 67 files changed, 1594 insertions(+), 491 deletions(-)
 create mode 100644 misc/efgcvt-dbl-macros.h
 create mode 100644 misc/efgcvt-ldbl-macros.h
 create mode 100644 misc/efgcvt-template.c
 create mode 100644 misc/efgcvt_r-template.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/bits/long-double.h
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_fscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_fwscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_scanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_sscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_swscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vfscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vfwscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vsscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vswscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vwscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_wscanf.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-qefgcvt.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-qefgcvt_r.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ibm128.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ieee128.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-wscanf-ibm128.c
 create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-wscanf-ieee128.c
 create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ldbl-128ibm-compat-abi.h

-- 
2.21.0

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2019-12-13 23:46 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-03 17:05 [PATCH v3 00/11] Add IEEE long double <-> string functions for powerpc64le Gabriel F. T. Gomes
2019-12-03 17:05 ` [PATCH v3 01/11] ldbl-128ibm-compat: Fix selection of GNU and ISO C99 scanf Gabriel F. T. Gomes
2019-12-09 16:46   ` Paul E Murphy
2019-12-09 16:50     ` Zack Weinberg
2019-12-09 17:09       ` Paul E Murphy
2019-12-09 18:16         ` Gabriel F. T. Gomes
2019-12-09 20:31           ` Paul E Murphy
2019-12-12 13:42             ` Gabriel F. T. Gomes
2019-12-03 17:06 ` [PATCH v3 06/11] Do not redirect calls to __GI_* symbols, when redirecting to *ieee128 Gabriel F. T. Gomes
2019-12-03 17:06 ` [PATCH v3 03/11] Refactor *cvt functions implementation (1-4/5) Gabriel F. T. Gomes
2019-12-09 21:25   ` Paul E Murphy
2019-12-13 20:19     ` Gabriel F. T. Gomes
2019-12-03 17:06 ` [PATCH v3 10/11] powerpc64le: Require a compiler with -mno-gnu-attribute Gabriel F. T. Gomes
2019-12-03 17:06 ` [PATCH v3 07/11] ldbl-128ibm-compat: Compiler flags for stdio functions Gabriel F. T. Gomes
2019-12-03 17:06 ` [PATCH v3 05/11] ldbl-128ibm-compat: Add *cvt functions Gabriel F. T. Gomes
2019-12-09 23:13   ` Paul E Murphy
2019-12-13 20:03     ` Gabriel F. T. Gomes
2019-12-03 17:06 ` [PATCH v3 09/11] ldbl-128ibm-compat: Do not mix -mabi=*longdouble and -mlong-double-128 Gabriel F. T. Gomes
2019-12-03 17:06 ` [PATCH v3 02/11] ldbl-128ibm-compat: Add ISO C99 versions of scanf functions Gabriel F. T. Gomes
2019-12-09 18:09   ` Paul E Murphy
2019-12-13 21:13     ` Gabriel F. T. Gomes
2019-12-03 17:06 ` [PATCH v3 08/11] Avoid compat symbols for totalorder in powerpc64le IEEE long double Gabriel F. T. Gomes
2019-12-03 17:06 ` [PATCH v3 04/11] Refactor *cvt functions implementation (5/5) Gabriel F. T. Gomes
2019-12-03 17:07 ` [PATCH v3 11/11] RFC: powerpc64le: Enable support for IEEE long double Gabriel F. T. Gomes
2019-12-09 23:47   ` Paul E Murphy
2019-12-13 22:41     ` Gabriel F. T. Gomes
2019-12-13 23:46       ` Paul E Murphy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).