[PATCH 0/6] IEEE long double printf and friends for powerpc64le
Gabriel F. T. Gomes
gabriel@inconstante.net.br
Fri Aug 9 18:32:00 GMT 2019
From: "Gabriel F. T. Gomes" <gabrielftg@linux.ibm.com>
A long time ago [1], I sent a patch set with the initial implementations
of many string to/from IEEE long double conversion routines for
powerpc64le. The patch set depended on other, at the time unapplied,
patch sets [2,3], which are now all integrated into master. Even though
this dependency existed, I got a lot of feedback (thanks, btw), which I
tried to address for this new round.
In this thread, I only included printf and friends functions, which
helps reduce the size of the patch set and maybe ease review. :)
As with previous submissions, these changes can only be tested once all
other functions have actually been integrated (because the function
redirections in our installed headers are macroized and work for all
long double routines). So, in order to test it, I use a more complete
branch, which I made available at:
https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/gabriel/powerpc-ieee128-printscan
[1] https://sourceware.org/ml/libc-alpha/2018-06/msg00652.html
[2] https://sourceware.org/ml/libc-alpha/2018-10/msg00612.html
[3] https://sourceware.org/ml/libc-alpha/2019-02/msg00582.html
Gabriel F. T. Gomes (6):
ldbl-128ibm-compat: Add regular character printing functions
ldbl-128ibm-compat: Add wide character printing functions
ldbl-128ibm-compat: Add regular character, fortified printing
functions
ldbl-128ibm-compat: Add wide character, fortified printing functions
ldbl-128ibm-compat: Test double values
ldbl-128ibm-compat: Test positional arguments
elf/tst-addr1.c | 7 +-
sysdeps/ieee754/ldbl-128ibm-compat/Makefile | 104 +++++++++-
sysdeps/ieee754/ldbl-128ibm-compat/Versions | 45 +++++
.../ldbl-128ibm-compat/ieee128-asprintf.c | 35 ++++
.../ldbl-128ibm-compat/ieee128-asprintf_chk.c | 38 ++++
.../ldbl-128ibm-compat/ieee128-dprintf.c | 34 ++++
.../ldbl-128ibm-compat/ieee128-dprintf_chk.c | 38 ++++
.../ldbl-128ibm-compat/ieee128-fprintf.c | 34 ++++
.../ldbl-128ibm-compat/ieee128-fprintf_chk.c | 38 ++++
.../ldbl-128ibm-compat/ieee128-fwprintf.c | 35 ++++
.../ldbl-128ibm-compat/ieee128-fwprintf_chk.c | 38 ++++
.../ldbl-128ibm-compat/ieee128-printf.c | 35 ++++
.../ldbl-128ibm-compat/ieee128-printf_chk.c | 38 ++++
.../ldbl-128ibm-compat/ieee128-snprintf.c | 35 ++++
.../ldbl-128ibm-compat/ieee128-snprintf_chk.c | 42 ++++
.../ldbl-128ibm-compat/ieee128-sprintf.c | 35 ++++
.../ldbl-128ibm-compat/ieee128-sprintf_chk.c | 42 ++++
.../ldbl-128ibm-compat/ieee128-swprintf.c | 36 ++++
.../ldbl-128ibm-compat/ieee128-swprintf_chk.c | 42 ++++
.../ldbl-128ibm-compat/ieee128-vasprintf.c | 27 +++
.../ieee128-vasprintf_chk.c | 31 +++
.../ldbl-128ibm-compat/ieee128-vdprintf.c | 26 +++
.../ldbl-128ibm-compat/ieee128-vdprintf_chk.c | 30 +++
.../ldbl-128ibm-compat/ieee128-vfprintf.c | 26 +++
.../ldbl-128ibm-compat/ieee128-vfprintf_chk.c | 30 +++
.../ldbl-128ibm-compat/ieee128-vfwprintf.c | 27 +++
.../ieee128-vfwprintf_chk.c | 31 +++
.../ldbl-128ibm-compat/ieee128-vprintf.c | 27 +++
.../ldbl-128ibm-compat/ieee128-vprintf_chk.c | 30 +++
.../ldbl-128ibm-compat/ieee128-vsnprintf.c | 28 +++
.../ieee128-vsnprintf_chk.c | 34 ++++
.../ldbl-128ibm-compat/ieee128-vsprintf.c | 27 +++
.../ldbl-128ibm-compat/ieee128-vsprintf_chk.c | 34 ++++
.../ldbl-128ibm-compat/ieee128-vswprintf.c | 28 +++
.../ieee128-vswprintf_chk.c | 34 ++++
.../ldbl-128ibm-compat/ieee128-vwprintf.c | 27 +++
.../ldbl-128ibm-compat/ieee128-vwprintf_chk.c | 30 +++
.../ldbl-128ibm-compat/ieee128-wprintf.c | 35 ++++
.../ldbl-128ibm-compat/ieee128-wprintf_chk.c | 38 ++++
.../test-printf-chk-ibm128.c | 1 +
.../test-printf-chk-ieee128.c | 1 +
.../test-printf-chk-ldbl-compat.c | 191 ++++++++++++++++++
.../test-printf-chk-redir-ibm128.c | 2 +
.../test-printf-chk-redir-ieee128.c | 2 +
.../ldbl-128ibm-compat/test-printf-ibm128.c | 1 +
.../ldbl-128ibm-compat/test-printf-ieee128.c | 1 +
.../test-printf-ldbl-compat.c | 182 +++++++++++++++++
.../test-wprintf-chk-ibm128.c | 1 +
.../test-wprintf-chk-ieee128.c | 1 +
.../test-wprintf-chk-ldbl-compat.c | 122 +++++++++++
.../test-wprintf-chk-redir-ibm128.c | 2 +
.../test-wprintf-chk-redir-ieee128.c | 2 +
.../ldbl-128ibm-compat/test-wprintf-ibm128.c | 1 +
.../ldbl-128ibm-compat/test-wprintf-ieee128.c | 1 +
.../test-wprintf-ldbl-compat.c | 120 +++++++++++
.../powerpc64/le/ldbl-128ibm-compat-abi.h | 8 +
56 files changed, 1988 insertions(+), 2 deletions(-)
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf_chk.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ibm128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ieee128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-redir-ibm128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-redir-ieee128.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-wprintf-chk-ibm128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ieee128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ldbl-compat.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-redir-ibm128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-redir-ieee128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ibm128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ieee128.c
create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ldbl-compat.c
create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ldbl-128ibm-compat-abi.h
--
2.21.0
More information about the Libc-alpha
mailing list