[v3,0/6] IEEE binary128 long double on powerpc64le

Message ID cover.1586199342.git.murphyp@linux.vnet.ibm.com
Headers
Series IEEE binary128 long double on powerpc64le |

Message

Paul E. Murphy April 6, 2020, 7:12 p.m. UTC
  New for V3:

Cleanup patch to enforce GCC 7.4.  Originally it was GCC 7.3.
The fix for __builtin_signbit(long double) arrived in 7.4.

Cleanup C++ workaround for some GCC 9 compilers, and confirmed
it is a GCC 9 compiler bug fixed between 9.2 and 9.3.

Tested with GCC {7.4, 8.3, 9.3} x {ppc64le, power8, power9}.

See <https://sourceware.org/pipermail/libc-alpha/2020-March/112248.html>
for start of v2 thread.

Gabriel F. T. Gomes (1):
  powerpc64le: Enable support for IEEE long double

Paul E. Murphy (5):
  ldbl-128ibm-compat: workaround GCC 9 C++ BZ 90731
  Rename __LONG_DOUBLE_USES_FLOAT128 to
    __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI
  powerpc64le: raise GCC requirement to 7.4 for long double transition
  powerpc64le: bump binutils version requirement to >= 2.26
  powerpc64le: blacklist broken GCC compilers (e.g GCC 7.5.0)

 INSTALL                                       |  10 ++
 NEWS                                          |   8 +-
 argp/argp.h                                   |   2 +-
 bits/long-double.h                            |  15 +-
 elf/tst-addr1.c                               |   2 +-
 include/math.h                                |   6 +-
 include/monetary.h                            |   8 +
 include/printf.h                              |   8 +
 include/stdio.h                               |  16 +-
 include/stdlib.h                              |  11 +-
 include/sys/cdefs.h                           |   2 +-
 include/wchar.h                               |   9 ++
 libio/bits/stdio-ldbl.h                       |   4 +-
 libio/stdio.h                                 |   8 +-
 manual/install.texi                           |   9 ++
 math/complex.h                                |   4 +-
 math/math.h                                   |  12 +-
 math/test-ldouble.h                           |   2 +-
 misc/err.h                                    |   2 +-
 misc/error.h                                  |   2 +-
 misc/sys/cdefs.h                              |   4 +-
 misc/sys/syslog.h                             |   2 +-
 stdio-common/printf.h                         |   2 +-
 stdio-common/tst-vfprintf-user-type.c         |   2 +-
 stdlib/bits/stdlib-ldbl.h                     |   2 +-
 stdlib/monetary.h                             |   2 +-
 stdlib/stdlib.h                               |   2 +-
 sysdeps/ieee754/ldbl-128/bits/long-double.h   |   2 +-
 sysdeps/ieee754/ldbl-128ibm-compat/Makefile   |  12 --
 .../ldbl-128ibm-compat/bits/long-double.h     |   7 +-
 .../ieee754/ldbl-128ibm-compat/math_ldbl.h    |   2 +-
 .../ieee754/ldbl-128ibm/bits/iscanonical.h    |   2 +-
 sysdeps/ieee754/ldbl-128ibm/ieee754.h         |   6 +-
 .../ldbl-128ibm/include/bits/iscanonical.h    |   2 +-
 sysdeps/ieee754/ldbl-96/bits/long-double.h    |   2 +-
 sysdeps/ieee754/ldbl-opt/bits/long-double.h   |   2 +-
 sysdeps/mips/ieee754/bits/long-double.h       |   2 +-
 sysdeps/powerpc/fpu/libm-test-ulps            |   4 +
 sysdeps/powerpc/powerpc64/le/Implies-before   |   1 +
 sysdeps/powerpc/powerpc64/le/Makefile         |   4 +
 sysdeps/powerpc/powerpc64/le/configure        | 151 ++++++++++++++++++
 sysdeps/powerpc/powerpc64/le/configure.ac     |  56 +++++++
 .../powerpc64/le/ldbl-128ibm-compat-abi.h     |   8 +
 .../linux/powerpc/powerpc64/le/libc.abilist   |  93 +++++++++++
 .../linux/powerpc/powerpc64/le/libm.abilist   | 117 ++++++++++++++
 .../linux/sparc/sparc32/bits/long-double.h    |   2 +-
 .../linux/sparc/sparc64/bits/long-double.h    |   2 +-
 wcsmbs/bits/wchar-ldbl.h                      |   4 +-
 wcsmbs/wchar.h                                |   8 +-
 49 files changed, 573 insertions(+), 72 deletions(-)
 create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ldbl-128ibm-compat-abi.h