[PATCH 0/6] long double to _Float128 redirecting support
Paul E. Murphy
murphyp@linux.vnet.ibm.com
Mon Feb 3 21:10:00 GMT 2020
There are still quite a few (about 26) patches to enable support
for a third long double format on powerpc64le. I will focus on
the changes to the shared headers and common files first.
Patch 1 is unmodified from shortly before the closure of the 2.31
development cycle, and should complete the libc work to support
the newest long double format.
Patch 2 fixes some bugs in the header redirects for ldbl == dbl.
This has been rebased, but is otherwise the same. It is necessary
to support the redirects in the subsequent patches.
Patches 3-5 add redirects to the math functions sufficient to
expose the new ABI. These have been posted previously around
mid 2018. I have updated them and dusted them off.
Patch 6 introduces templating to the scalb functions in support
of using these templates to support ldbl == ieee128 later on.
I've tested this on x86 and ppc64le.
The remaining patches are mostly self-contained, but can be
posted to a feature branch for those wanting a sneak peak at the
whole story.
---8<---
As an aside, I have taken over the work to support the ldbl
ieee128 transition from Gabriel. Likewise, my copyright
assignment should also remain intact after my... intermission.
Gabriel F. T. Gomes (1):
Prepare redirections for IEEE long double on powerpc64le
Rajalakshmi Srinivasaraghavan (1):
ldbl-128ibm-compat: Redirect complex math functions
Tulio Magno Quites Machado Filho (4):
Undefine redirections after long double definition on __LDBL_COMPAT
[BZ #23294]
ldbl-128ibm-compat: Redirect long double functions to f128/ieee128
functions
ldbl-128ibm-compat: Provide ieee128 symbols to narrow functions
Add a generic scalb implementation
argp/argp.h | 3 +-
include/math.h | 9 +-
libio/bits/stdio-ldbl.h | 46 ++++++----
libio/stdio.h | 16 ++--
math/Makefile | 7 +-
math/bits/mathcalls-helper-functions.h | 18 ++--
math/bits/mathcalls.h | 9 +-
math/complex.h | 29 ++++++-
math/{e_scalb.c => e_scalb_template.c} | 33 +++----
math/e_scalbf.c | 54 ------------
math/e_scalbl.c | 54 ------------
math/math-narrow.h | 15 +---
math/math.h | 75 ++++++++++++++--
math/w_scalb_compat.c | 6 +-
math/w_scalb_template.c | 59 +++++++++++++
math/w_scalbf_compat.c | 4 +-
math/w_scalbl_compat.c | 4 +-
misc/bits/syslog-ldbl.h | 4 +-
misc/err.h | 3 +-
misc/error.h | 6 +-
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/generic/math-narrow-alias-float128.h | 32 +++++++
sysdeps/ieee754/float128/w_scalbf128.c | 1 +
sysdeps/ieee754/ldbl-128ibm-compat/Versions | 8 ++
.../math-narrow-alias-float128.h | 34 ++++++++
.../ieee754/ldbl-128ibm/bits/iscanonical.h | 8 +-
sysdeps/ieee754/ldbl-opt/Makefile | 4 +-
.../ldbl-opt/test-redirection-ldbl-64.c | 87 +++++++++++++++++++
sysdeps/ieee754/ldbl-opt/w_scalb_compat.c | 4 +-
sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c | 2 +
wcsmbs/bits/wchar-ldbl.h | 36 ++++++--
wcsmbs/wchar.h | 14 +--
37 files changed, 539 insertions(+), 219 deletions(-)
rename math/{e_scalb.c => e_scalb_template.c} (64%)
delete mode 100644 math/e_scalbf.c
delete mode 100644 math/e_scalbl.c
create mode 100644 math/w_scalb_template.c
create mode 100644 sysdeps/generic/math-narrow-alias-float128.h
create mode 100644 sysdeps/ieee754/float128/w_scalbf128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/math-narrow-alias-float128.h
create mode 100644 sysdeps/ieee754/ldbl-opt/test-redirection-ldbl-64.c
--
2.21.1
More information about the Libc-alpha
mailing list