This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[glibc] Deleted branch gabriel/powerpc-ieee128-printscan


The branch 'gabriel/powerpc-ieee128-printscan' was deleted.
It previously pointed to:

 5f49077... TEMP: powerpc64le: Enable support for IEEE long double

Diff:

!!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST):
-------------------------------------------------------------------

  5f49077... TEMP: powerpc64le: Enable support for IEEE long double
  ff8094b... ldbl-128ibm-compat: Compiler flags for stdio functions
  e9ec75d... Do not redirect calls to __GI_* symbols, when redirecting t
  cd3b0ae... ldbl-128ibm-compat: Add *cvt functions
  e68d5d6... Refactor *cvt functions implementation (4/4)
  09ad2c6... Refactor *cvt functions implementation (3/4)
  9e6e2c4... Refactor *cvt functions implementation (2/4)
  ad0747f... Refactor *cvt functions implementation (1/4)
  ab9d8a9... Remove hidden_def and hidden_proto from cvt functions
  5ee6bab... ldbl-128ibm-compat: Add tests for strfroml, strtold, and wc
  fcb4403... ldbl-128ibm-compat: Add tests for strfmon and strfmon_l
  ee48071... ldbl-128ibm-compat: Add strfmon_l with IEEE long double for
  296b3a2... ldbl-128ibm-compat: Add syslog functions
  2f55e5a... ldbl-128ibm-compat: Add obstack printing functions
  3a15cc5... ldbl-128ibm-compat: Add ISO C99 versions of scanf functions
  ee06790... ldbl-128ibm-compat: Add tests for err.h and error.h functio
  649699a... ldbl-128ibm-compat: Add error.h functions
  cf58352... ldbl-128ibm-compat: Add err.h functions
  5e4992a... ldbl-128ibm-compat: Add argp_error and argp_failure
  34da91f... ldbl-128ibm-compat: Add wide character scanning functions
  3f27187... ldbl-128ibm-compat: Add regular character scanning function
  3b54a47... ldbl-128ibm-compat: Test positional arguments
  fdb36db... ldbl-128ibm-compat: Test double values
  03e0ef4... ldbl-128ibm-compat: Add wide character, fortified printing 
  553c5b6... ldbl-128ibm-compat: Add regular character, fortified printi
  812e611... ldbl-128ibm-compat: Add wide character printing functions
  99ec031... ldbl-128ibm-compat: Add regular character printing function

commit 5f49077273274a266f939f6ffcdfab88f9238ec0
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:48:28 2019 -0300

    TEMP: powerpc64le: Enable support for IEEE long double
    
    DO NOT COMMIT!!!!!
    
    <NEWS entry>
    
    On platforms where long double may have two different formats, i.e.: the
    same format as double (64-bits) or something else (128-bits), building
    with -mlong-double-128 is the default and function calls in the user
    program match the name of the function in Glibc.  When building with
    -mlong-double-64, Glibc installed headers redirect such calls to the
    appropriate function.
    
    This patch adds similar redirections to be used by builds in IEEE long
    double mode (-mabi=ieeelongdouble).  It also skips some uses of
    libc_hidden_proto in internal headers, because they also produce
    redirections, causing a redirection conflict.
    
    Tested for powerpc64le.
    
    	* argp/argp.h: When in IEEE long double	mode, include the header
    	that produces the redirections.
    	* libio/stdio.h: Likewise.
    	* misc/err.h: Likewise.
    	* misc/error.h: Likewise.
    	* misc/sys/syslog.h: Likewise.
    	* stdio-common/printf.h: Likewise.
    	* stdlib/monetary.h: Likewise.
    	* stdlib/stdlib.h: Likewise.
    	* wcsmbs/wchar.h: Likewise.
    
    	* libio/bits/stdio-ldbl.h: Add specific redirections for IEEE
    	long double, when the generic redirection is not enough to
    	distinguish between -mlong-double-64 and -mabi=ieeelongdouble.
    	* misc/bits/syslog-ldbl.h: Likewise.
    	* stdlib/bits/stdlib-ldbl.h: Likewise.
    	* wcsmbs/bits/wchar-ldbl.h: Likewise.
    
    	* include/stdlib.h: Skip some uses of libc_hidden_proto when in
    	IEEE long double mode.
    	* include/wchar.h: Likewise.
    
    	* misc/sys/cdefs.h
            (__LDBL_REDIR1, __LDBL_REDIR1_DECL, __LDBL_REDIR)
    	(__LDBL_REDIR_DECL, __LDBL_REDIR2_DECL, __REDIRECT_LDBL)
    	(__LDBL_REDIR_NTH, __LDBL_REDIR1_NTH, __REDIRECT_NTH_LDBL):
    	New definitions for the IEEE long double case.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/bits/long-double.h: New
    	file.

commit ff8094b61200753a7c6f78b35998a71f006fec20
Author: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Date:   Mon Jul 30 12:04:40 2018 -0300

    ldbl-128ibm-compat: Compiler flags for stdio functions
    
    Some of the files that provide stdio.h and wchar.h functions have a
    filename prefixed with 'io', such as 'iovsprintf.c'.  On platforms that
    imply ldbl-128ibm-compat, these files must be compiled with the flag
    -mabi=ibmlongdouble.  This patch adds this flag to their compilation.
    
    Notice that this is not required for the other files that provide
    similar functions, because filenames that are not prefixed with 'io'
    have ldbl-128ibm-compat counterparts in the Makefile, which already adds
    -mabi=ibmlongdouble to them.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	(ldbl-ibm128-files): Add $(objpfx)iovdprintf^,
    	$(objpfx)iovsprintf^, $(objpfx)iovsscanf^, $(objpfx)iovswscanf^,
    	$(objpfx)iovfscanf^, and $(objpfx)iovfwscanf^.

commit e9ec75dba7df41ad82f5e8b4efe63f673f142128
Author: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Date:   Tue Jul 24 16:06:23 2018 -0300

    Do not redirect calls to __GI_* symbols, when redirecting to *ieee128
    
    On platforms where long double has IEEE binary128 format as a third
    option (initially, only powerpc64le), many exported functions are
    redirected to their __*ieee128 equivalents.  This redirection is
    provided by installed headers such as stdio-ldbl.h, and is supposed to
    work correctly with user code.
    
    However, during the build of glibc, similar redirections are employed,
    in internal headers such as include/stdio.h, in order to avoid extra PLT
    entries.  These redirections conflict with the redirections to
    __*ieee128, and must be avoided during the build.  This patch protects
    the second redirections with a test for __LONG_DOUBLE_USES_FLOAT128.
    
    	* include/err.h: Protect the redirection of warn, warnx, vwarn,
    	vwarnx, verr, and verrx)
    	* include/stdio.h: Likewise for __asprintf, fprintf, vfprintf,
    	sprintf, __snprintf, and sscanf.
    	* include/sys/syslog.h: Likewise for syslog and vsyslog.
    	* include/wchar.h: Likewise for vswscanf.

commit cd3b0aec91170c687dad79179b50b4839d873d70
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:48:24 2019 -0300

    ldbl-128ibm-compat: Add *cvt functions

commit e68d5d64a49f0ded47a84f440655f6cbc7c2943c
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:48:20 2019 -0300

    Refactor *cvt functions implementation (4/4)
    
    This patch is to be squashed with the other n/4 refactoring patches.
    
    The changelog is in patch 1/4.

commit 09ad2c6b9111e53c39b36c612fc10c9913a29c89
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:48:16 2019 -0300

    Refactor *cvt functions implementation (3/4)
    
    This patch is to be squashed with the other n/4 refactoring patches.
    
    The changelog is in patch 1/4.

commit 9e6e2c4dc7c9c831493fd27254577c568a58123d
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:48:12 2019 -0300

    Refactor *cvt functions implementation (2/4)
    
    This patch is to be squashed with the other n/4 refactoring patches.
    
    The changelog is in patch 1/4.

commit ad0747f4be67d76756b965516a62e0ab92770524
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:48:08 2019 -0300

    Refactor *cvt functions implementation (1/4)
    
    This patch is to be squashed with the other n/4 refactoring patches.
    
    The changelog for the squashed patches is as follows:
    
     misc/efgcvt_r.c: Moved to...
     misc/efgcvt_r-template.c: ... this file.
     misc/qefgcvt_r.c: Moved to...
     misc/efgcvt-template.c: ... this file.
     misc/efgcvt-dbl-macros.h}  |  51 +++---
     misc/efgcvt-ldbl-macros.h} |  12 +-
     misc/efgcvt.c                              | 126 +++------------
     misc/efgcvt_r.c                            | 252 ++---------------------------
     misc/qefgcvt.c                             |  43 +++--
     misc/qefgcvt_r.c                           |  48 ++----

commit ab9d8a93f90363b6406982a06f074bb10f237a6e
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:48:04 2019 -0300

    Remove hidden_def and hidden_proto from cvt functions
    
    Some *cvt functions are not called from within libc, yet they use
    hidden_def and hidden_proto.  This patch cleans this up and adds
    attribute_hidden to the declarations, for architectures that need it.
    
    Tested for powerpc64le and x86_64.

commit 5ee6bab6cbac40293e2eb664d61d16e8eb625fb9
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:48:00 2019 -0300

    ldbl-128ibm-compat: Add tests for strfroml, strtold, and wcstold
    
    Since the commit
    
    commit 86a0f56158bd9cbaf2d640e2e6c66539f4cbbcc1
    Author: Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
    Date:   Thu Jun 28 13:57:50 2018 +0530
    
        ldbl-128ibm-compat: Introduce ieee128 symbols
    
    IEEE long double versions of strfroml, strtold, and wcstold have been
    prepared, but not exposed (which will only happen when the full support
    for IEEE long double is complete).  This patch adds tests for these
    functions in both IBM and IEEE long double mode.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == stdlib] (tests-internal): Add test-strfrom-ibm128 and
    	test-strfrom-ieee128.
    	[subdir == wcsmbs] (tests-internal): Add test-wcstold-ibm128 and
    	test-wcstold-ieee128.
    	(CFLAGS-test-strfrom-ieee128.c, CLAGS-test-strfrom-ibm128.c)
    	(CFLAGS-test-wcstold-ieee128.c, CLAGS-test-wcstold-ibm128.c):
    	New variables.
    	($(objpfx)test-strfrom-ieee128): New rule.
    	($(objpfx)test-wcstold-ieee128): Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-strfrom-ibm128.c:
    	New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-strfrom-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-strfrom-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wcstold-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wcstold-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wcstold-ldbl-compat.c:
    	Likewise.

commit fcb4403a4ee01f51580471f44c8f52bf640f48fa
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:56 2019 -0300

    ldbl-128ibm-compat: Add tests for strfmon and strfmon_l
    
    This patch adds elementary tests to check that strfmon and strfmon_l
    correctly evaluate long double values with IBM Extended Precision and
    IEEE binary128 format.
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile [subdir== stdlib]
    	(tests-internal): Add test-strfmon-ibm128 and
    	test-strfmon-ieee128.
    	(CFLAGS-test-strfmon-ibm128.c, CFLAGS-test-strfmon-ieee128.c):
    	New flags.
    	($(objpfx)tst-strfmon-ibm128.out)
    	($(objpfx)tst-strfmon-ieee128.out): Add $(gen-locales) as
    	dependency.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-strfmon-ibm128.c:
    	New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-strfmon-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-strfmon-ldbl-compat.c:
    	Likewise.

commit ee4807101101fc7acac727b249043f562ad936d5
Author: Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
Date:   Thu Jun 28 15:17:42 2018 +0530

    ldbl-128ibm-compat: Add strfmon_l with IEEE long double format
    
    Similarly to what has been done for printf-like functions, more
    specifically to the internal implementation in __vfprintf_internal, this
    patch extends __vstrfmon_l_internal to deal with long double values with
    binary128 format (as a third format option and reusing the float128
    implementation).
    
    2018-06-25  Rajalakshmi Srinivasaraghavan  <raji@linux.vnet.ibm.com>
    	    Gabriel F. T. Gomes  <gabriel@inconstante.eti.br>
    
    	* include/monetary.h (STRFMON_LDBL_USES_FLOAT128): New constant.
    	* stdlib/strfmon_l.c: Include bits/floatn.h.
    	(__vstrfmon_l_internal): Add support for printing long double
    	values reusing the float128 implementation.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == stdlib] (ldbl-extra-routines): Add strfmon and
    	strfmon_l.
    	(CFLAGS-strfmon.c, CFLAGS-strfmon_l.c): New variables.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__strfmonieee128 and __strfmonieee128_l.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-strfmon.c: New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-strfmon_l.c: New file.
    	* sysdeps/powerpc/powerpc64/le/Makefile: Add -mabi=ibmlongdouble
    	to build strfmon and strfmon_l.

commit 296b3a21b08dd8c239b59d79e848c6437c545bf2
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:51 2019 -0300

    ldbl-128ibm-compat: Add syslog functions
    
    I'm using 'syslog (LOG_DEBUG, etc.);' in the test case, which I believe
    will not print to the console, but I'm not sure if changing some system
    setting to high verbosity will disturb people's lives.  Please advise.
    :)
    
    -- 8< --
    Similarly to __vfprintf_internal and __vfscanf_internal, the internal
    implementation of syslog functions (__vsyslog_internal) takes a
    'mode_flags' parameter used to select the format of long double
    parameters.  This patch adds variants of the syslog functions that set
    'mode_flags' to PRINTF_LDBL_USES_FLOAT128, thus enabling the correct
    printing of long double values on powerpc64le, when long double has IEEE
    binary128 format (-mabi=ieeelongdouble).
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == misc] (ldbl-extra-routines): Add syslog.
    	[subdir == misc] (tests-internal): Add test-syslog-ieee128,
    	test-syslog-ibm128, test-syslog-chk-ieee128, test-syslog-chk-ibm128.
    	[subdir == misc] (CFLAGS-test-syslog-ieee128.c)
    	(CFLAGS-test-syslog-ibm128.c, CFLAGS-test-syslog-chk-ieee128.c)
    	(CFLAGS-test-syslog-chk-ibm128.c): New variables.
    	[subdir == misc] (tests-special): Add
    	$(objpfx)test-syslog-ieee128.out,
    	$(objpfx)test-syslog-ibm128.out,
    	$(objpfx)test-syslog-chk-ieee128.out, and
    	$(objpfx)test-syslog-chk-ibm128.out.
    	[subdir == misc] ($(objpfx)test-syslog-ieee128.out)
    	($(objpfx)test-syslog-ibm128.out)
    	($(objpfx)test-syslog-chk-ieee128.out)
    	($(objpfx)test-syslog-chk-ibm128.out): New build and run rules.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__syslogieee128, __vsyslogieee128, __syslog_chkieee128, and
    	__vsyslog_chkieee128.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-syslog.c:
    	New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-chk-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-chk-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-chk-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ldbl-compat-template.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-syslog-ldbl-compat.sh:
    	Likewise.

commit 2f55e5a5d89e089d6e8f629aaff7515db26246f6
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:47 2019 -0300

    ldbl-128ibm-compat: Add obstack printing functions
    
    Similar to the functions from the *printf family, this patch adds
    implementations for __obstack_*printf* functions that set the
    'mode_flags' parameter to PRINTF_LDBL_USES_FLOAT128, before making calls
    to __vfprintf_internal (indirectly through __obstack_vprintf_internal).
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == stdio-common] (ldbl-extra-routines): Add obprintf,
    	obstack_chk, vobstack_chk.
    	[subdir == stdio-common] (tests-internal): Add
    	test-obstack-ieee128, test-obstack-ibm128,
    	test-obstack-chk-ieee128, and test-obstack-chk-ibm128.
    	[subdir == stdio-common] (CFLAGS-test-obstack-ieee128.c)
    	(CFLAGS-test-obstack-ibm128.c, CFLAGS-test-obstack-chk-ieee128.c)
    	(CFLAGS-test-obstack-chk-ibm128.c): New variable.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc) Add
    	__obstack_printfieee128, __obstack_vprintfieee128,
    	__obstack_printf_chkieee128, and __obstack_vprintf_chkieee128.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-obprintf.c:
    	New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-obstack_chk.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vobstack_chk.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-chk-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-chk-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-chk-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-ldbl-compat-template.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-obstack-ldbl-compat.c:
    	Likewise.

commit 3a15cc582aa8a1a670f659655783daa60288c7f0
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:43 2019 -0300

    ldbl-128ibm-compat: Add ISO C99 versions of scanf functions
    
    In the format string for *scanf functions, the '%as', '%aS', and '%a[]'
    modifiers behave differently depending on ISO C99 compatibility and on
    _GNU_SOURCE.  When _GNU_SOURCE is not set and when in compatibility with
    ISO C99, these modifiers consume a floating-point argument.  Otherwise,
    they behave like ascanf, and allocate memory for the output.  This patch
    adds the IEEE binary128 variant of these functions for the third long
    double format on powerpc64le.
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == stdio-common] (ldbl-extra-routines): Add
    	isoc99_fscanf, isoc99_scanf, isoc99_sscanf, isoc99_vfscanf,
    	isoc99_vscanf, isoc99_vsscanf,
    	[subdir == wcsmbs] (ldbl-extra-routines): Add isoc99_fwscanf,
    	isoc99_swscanf, isoc99_wscanf, isoc99_vfwscanf, isoc99_vswscanf,
    	and isoc99_vwscanf.
    	[subdir == stdio-common] (tests-internal): Add
    	test-isoc99-scanf-ieee128, test-isoc99-scanf-ibm128,
    	test-isoc99-wscanf-ieee128, and test-isoc99-wscanf-ibm128.
    	[subdir == stdio-common] (CFLAGS-test-isoc99-scanf-ieee128.c)
    	(CFLAGS-test-isoc99-scanf-ibm128.c)
    	(CFLAGS-test-isoc99-wscanf-ieee128.c)
    	(CFLAGS-test-isoc99-wscanf-ibm128.c): New variable.
    	[subdir == stdio-common] ($(objpfx)test-isoc99-scanf-ieee128)
    	($(objpfx)test-isoc99-wscanf-ieee128): Add $(f128-loader-link)
    	to gnulib.
    	[subdir == stdio-common] (tests-special): Add
    	$(objpfx)test-isoc99-scanf-ieee128.out,
    	$(objpfx)test-isoc99-scanf-ibm128.out,
    	$(objpfx)test-isoc99-wscanf-ieee128.out, and
    	$(objpfx)test-isoc99-wscanf-ibm128.out.
    	($(objpfx)test-isoc99-scanf-ieee128.out)
    	($(objpfx)test-isoc99-scanf-ibm128.out)
    	($(objpfx)test-isoc99-wscanf-ieee128.out)
    	($(objpfx)test-isoc99-wscanf-ibm128.out): New build and run rules.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__isoc99_fscanfieee128, __isoc99_scanfieee128,
    	__isoc99_sscanfieee128, __isoc99_vfscanfieee128,
    	__isoc99_vscanfieee128, __isoc99_vsscanfieee128,
    	__isoc99_fwscanfieee128, __isoc99_swscanfieee128,
    	__isoc99_wscanfieee128, __isoc99_vfwscanfieee128,
    	__isoc99_vswscanfieee128, and __isoc99_vwscanfieee128.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_fscanf.c:
    	New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_fwscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_scanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_sscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_swscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vfscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vfwscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vsscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vswscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vwscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_wscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ldbl-compat-template.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ldbl-compat.sh:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-wscanf-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-wscanf-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-wscanf-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c:
    	Protect the declaration of variables based on ISO C99 feature
    	test macros.

commit ee06790283060ba54e5b83e75e57e7288f50a971
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:39 2019 -0300

    ldbl-128ibm-compat: Add tests for err.h and error.h functions
    
    Add tests for the functions from err.h and error.h that can take
    positional long double parameters.
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	(tests-internal): Add tst-ibm128-warn, tst-ieee128-warn,
    	tst-ibm128-error, tst-ieee128-error.
    	($(objpfx)tst-ibm128-error.c, $(objpfx)tst-ieee128-error.c):
    	New rules.
    	(CFLAGS-tst-ibm128-warn.c): New variable.
    	(CFLAGS-tst-ibm128-error.c): Likewise.
    	(CFLAGS-tst-ieee128-warn.c): Likewise.
    	(CFLAGS-tst-ieee128-error.c): Likewise.

commit 649699a1d0439889d542cb4082d06d9d297f2922
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:35 2019 -0300

    ldbl-128ibm-compat: Add error.h functions
    
    Use the recently added, internal functions, __error_at_line_internal and
    __error_internal, to provide error.h functions that can take long double
    arguments with IEEE binary128 format on platforms where long double can
    also take double format or some non-IEEE format (currently, this means
    powerpc64le).
    
    Tested for powerpc64le.
    
    	* misc/errorP.h: New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == misc] (ldbl-extra-routines): Add error.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__error_at_lineieee128 and __errorieee128.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-error.c: New file.

commit cf583526361811bc3445409a4c8f5af0e1ecd345
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:30 2019 -0300

    ldbl-128ibm-compat: Add err.h functions
    
    Use the recently added, internal functions, __vwarnx_internal and
    __vwarn_internal, to provide err.h functions that can take long double
    arguments with IEEE binary128 format on platforms where long double can
    also take double format or some non-IEEE format (currently, this means
    powerpc64le).
    
    Tested for powerpc64le.
    
    	* misc/errP.h: New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == misc] (ldbl-extra-routines): Add err.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__warnieee128, __warnxieee128, __vwarnieee128, __vwarnxieee128
    	__errieee128, __errxieee128, __verrieee128, and __verrxieee128.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-err.c: New file.

commit 5e4992a36d45adb9fb21d1e99245ec811906db1a
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:25 2019 -0300

    ldbl-128ibm-compat: Add argp_error and argp_failure
    
    Use the recently added, internal functions, __argp_error_internal and
    __argp_failure_internal, to provide argp_error and argp_failure that can
    take long double arguments with IEEE binary128 format on platforms where
    long double can also take double format or some non-IEEE format
    (currently, this means powerpc64le).
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == argp] (ldbl-extra-routines): Add argp-help.
    	[subdir == argp] ($(objpfx)tst-ieee128-argp.c)
    	($(objpfx)tst-ibm128-argp.c): New rule to copy the test from
    	the non-sysdeps directory to the build directory.
    	[subdir == argp] (tests-internal): Add tst-ieee128-argp,
    	tst-ibm128-argp.
    	[subdir == argp] (CFLAGS-tst-ieee128-argp.c): New variable.
    	[subdir == argp] (CFLAGS-tst-ibm128-argp.c): Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__argp_errorieee128 and __argp_failureieee128.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-argp-help.c: New file.

commit 34da91f4526611173cfe84b460ccb52dccd865b8
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:21 2019 -0300

    ldbl-128ibm-compat: Add wide character scanning functions
    
    Similarly to what was done for regular character scanning functions,
    this patch uses the new mode mask, SCANF_LDBL_USES_FLOAT128, in the
    'mode' argument of the wide characters scanning function,
    __vfwscanf_internal (which is also extended to support scanning
    floating-point values with IEEE binary128, by redirecting calls to
    __wcstold_internal to __wcstof128_internal).
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == libio] (ldbl-extra-routines): Add fwscanf, swscanf,
    	wscanf, vswscanf, and vwscanf
    	[subdir == stdio-common] (ldbl-extra-routines): Add vfwscanf.
    	(CFLAGS-vfwscanf-internal.c): Add -mfloat128 to the compiler
    	command used to build vfwscanf-internal.c.  This is needed to
    	extend __vfwscanf_internal with the support to redirect the call
    	to __wcstold_internal to __wcstof128_internal.
    	(tests-internal): Add test-wscanf-ieee128 and test-wscanf-ibm128.
    	(CFLAGS-test-wscanf-ieee128.c): New variable.
    	(CFLAGS-test-wscanf-ibm128.c): Likewise.
    	($(objpfx)test-wscanf-ieee128): Link the loader after libgcc.
    	[run-built-tests] (tests-special): Add
    	$(objpfx)test-wscanf-ieee128.out and
    	$(objpfx)test-wscanf-ibm128.out.
    	($(objpfx)test-wscanf-ieee128.out): New build and run rules.
    	($(objpfx)test-wscanf-ibm128.out): Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions: Add
    	__fwscanfieee128, __swscanfieee128, __wscanfieee128,
    	__vfwscanfieee128, __vswscanfieee128, and __vwscanfieee128.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwscanf.c: New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swscanf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwscanf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswscanf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwscanf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wscanf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ibm128.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ieee128.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ldbl-compat.c:
    	Likewise.

commit 3f27187fb28c21c56370d95cf2305c126abc8bac
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:16 2019 -0300

    ldbl-128ibm-compat: Add regular character scanning functions
    
    The 'mode' argument to __vfscanf_internal allows the selection of the
    long double format for all long double arguments requested by the format
    string.  Currently, there are two possibilities: long double with the
    same format as double or long double as something else.  The 'something
    else' format varies between architectures, and on powerpc64le, it means
    IBM Extended Precision format.
    
    In preparation for the third option of long double format on
    powerpc64le, this patch uses the new mode mask,
    SCANF_LDBL_USES_FLOAT128, which tells __vfscanf_internal to call
    __strtof128_internal, instead of __strtold_internal, and save the output
    into a _Float128 variable.
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == stdio-common] (ldbl-extra-routines): Add fscanf,
    	scanf, sscanf, vfscanf, vscanf, and vsscanf.
    	(CFLAGS-vfscanf-internal.c): Add -mfloat128 to the compiler
    	command used to build vfscanf-internal.c.  This is needed to
    	extend __vfscanf_internal with the support to redirect the call
    	to __strtold_internal to __strtof128_internal.
    	(tests-internal): Add test-scanf-ieee128 and test-scanf-ibm128.
    	(CFLAGS-test-scanf-ieee128.c): New variable.
    	(CFLAGS-test-scanf-ibm128.c): Likewise.
    	($(objpfx)test-scanf-ieee128): Link the loader after libgcc.
    	[run-built-tests] (tests-special): Add
    	$(objpfx)test-scanf-ieee128.out and
    	$(objpfx)test-scanf-ibm128.out.
    	($(objpfx)test-scanf-ieee128.out): New build and run rule.
    	($(objpfx)test-scanf-ibm128.out): Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__fscanfieee128, __scanfieee128, __sscanfieee128,
    	__vfscanfieee128, __vscanfieee128, and __vsscanfieee128.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fscanf.c: New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-scanf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sscanf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vscanf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsscanf.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.sh:
    	Likewise.

commit 3b54a4783b0b37a267246b62dc40f6a48b4e0bd3
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:12 2019 -0300

    ldbl-128ibm-compat: Test positional arguments
    
    The format string can request positional parameters, instead of relying
    on the order in which they appear as arguments.  Since this has an
    effect on how the type of each argument is determined, this patch
    extends the test cases to use positional parameters with mixed double
    and long double types, to verify that the IEEE long double
    implementations of *printf work correctly in this scenario.
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.c
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ldbl-compat.c
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ldbl-compat.c
    	(do_test_call): Test positional parameters.
    	(do_test): Add results for positional parameters test.

commit fdb36db07be86c25ecbb81cf22c274ea9b91209d
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:06 2019 -0300

    ldbl-128ibm-compat: Test double values
    
    A single format string can take double and long double parameters at the
    same time.  Internally, these parameters are routed to the same
    function, which correctly reads them and calls the underlying functions
    responsible for the actual conversion to string.  This patch adds a new
    case to test this scenario.
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.c:
    	(do_test_call_rarg): Add parameter of double type and use it in
    	the calls to *printf functions under test.
    	(do_test_call): Add a parameter of double type to the calls to
    	do_test_call_rarg and do_test_call_varg.
    	(do_test): Update expected result.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ldbl-compat.c:
    	Likewise.

commit 03e0ef4a620783ed61e3573a5486fd83240a7120
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:47:01 2019 -0300

    ldbl-128ibm-compat: Add wide character, fortified printing functions
    
    Similarly to what was done for the regular character, fortified printing
    functions, this patch combines the mode masks PRINTF_LDBL_USES_FLOAT128
    and PRINTF_FORTIFY to provide wide character versions of fortified
    printf functions.  It also adds two flavors of test cases: one that
    explicitly calls the fortified functions, and another that reuses the
    non-fortified test, but defining _FORTIFY_SOURCE as 2.  The first
    guarantees that the implementations are actually being tested
    (independently of what's in bits/wchar2.h), whereas the second
    guarantees that the redirections calls the correct function in the IBM
    and IEEE long double cases.
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile:
    	[subdir == debug] (ldbl-extra-routines): Add
    	fwprintf_chk, swprintf_chk, wprintf_chk, vfwprintf_chk,
    	vswprintf_chk, and vwprintf_chk.
    	[subdir == debug] (tests-internal): Add
    	test-wprintf-chk-ieee128, test-wprintf-chk-ibm128,
    	test-wprintf-chk-redir-ieee128 and test-wprintf-chk-redir-ibm128.
    	[subdir == debug] (CFLAGS-test-wprintf-chk-ieee128.c): New
    	variable to add the relevant -mabi flags to the compilation.
    	[subdir == debug] (CFLAGS-test-wprintf-chk-ibm128.c): Likewise.
    	[subdir == debug] (CFLAGS-test-wprintf-chk-redir-ieee128.c):
    	Likewise.
    	[subdir == debug] (CFLAGS-test-wprintf-chk-redir-ibm128.c):
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__fwprintf_chkieee128, __swprintf_chkieee128,
    	__wprintf_chkieee128, __vfwprintf_chkieee128,
    	__vswprintf_chkieee128, and __vwprintf_chkieee128;
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf_chk.c:
    	New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf_chk.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf_chk.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf_chk.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf_chk.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf_chk.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-redir-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-redir-ieee128.c:
    	Likewise.

commit 553c5b647f6c0f21956a82f7ae7339066da318f3
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:46:57 2019 -0300

    ldbl-128ibm-compat: Add regular character, fortified printing functions
    
    Since the introduction of internal functions with explicit flags for the
    printf family of functions, the 'mode' parameter can be used to select
    which format long double parameters have (with the mode flags:
    PRINTF_LDBL_IS_DBL and PRINTF_LDBL_USES_FLOAT128), as well as to select
    whether to check for overflows (mode flag: PRINTF_FORTIFY).
    
    This patch combines PRINTF_LDBL_USES_FLOAT128 and PRINTF_FORTIFY to
    provide the IEEE binary128 version of printf-like function for platforms
    where long double can take this format, in addition to the double format
    and to some non-ieee format (currently, this means powerpc64le).
    
    There are two flavors of test cases provided with this patch: one that
    explicitly calls the fortified functions, for instance __asprintf_chk,
    and another that reuses the non-fortified test, but defining
    _FORTIFY_SOURCE as 2.  The first guarantees that the implementations are
    actually being tested (in bits/stdio2.h, vprintf gets redirected to
    __vfprintf_chk, which would leave __vprintf_chk untested), whereas the
    second guarantees that the redirections calls the correct function in
    the IBM and IEEE long double cases.
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile:
    	[subdir == debug] (ldbl-extra-routines): Add
    	asprintf_chk, dprintf_chk, fprintf_chk, printf_chk,
    	snprintf_chk, sprintf_chk, vasprintf_chk, vdprintf_chk,
    	vfprintf_chk, vprintf_chk, vsnprintf_chk, and vsprintf_chk.
    	[subdir == debug] (tests-internal): Add
    	test-printf-chk-ieee128, test-printf-chk-ibm128,
    	test-printf-chk-redir-ieee128, and test-printf-chk-redir-ibm128.
    	[subdir == debug] (CFLAGS-test-printf-chk-ieee128.c): New
    	variable to add the relevant -mabi flags to the compilation.
    	[subdir == debug] (CFLAGS-test-printf-chk-ibm128.c): Likewise.
    	[subdir == debug] (CFLAGS-test-printf-chk-redir-ieee128.c):
    	Likewise.
    	[subdir == debug] (CFLAGS-test-printf-chk-redir-ibm128.c):
    	Likewise.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__asprintf_chkieee128, __dprintf_chkieee128, __fprintf_chkieee128,
    	__printf_chkieee128, __snprintf_chkieee128, __sprintf_chkieee128,
    	__vasprintf_chkieee128, __vdprintf_chkieee128, __vfprintf_chkieee128,
    	__vprintf_chkieee128, __vsnprintf_chkieee128, __vsprintf_chkieee128.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf_chk.c: New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ieee128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-redir-ibm128.c:
    	Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-redir-ieee128.c:
    	Likewise.

commit 812e6114bd1c750ee3dfc2a984294da06da22646
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Jul 11 11:46:51 2019 -0300

    ldbl-128ibm-compat: Add wide character printing functions
    
    Similarly to what was done for regular character printing functions,
    this patch uses the new mode mask, PRINTF_LDBL_USES_FLOAT128, in the
    'mode' argument of the wide characters printing function,
    __vfwprintf_internal (which is also extended to support printing
    floating-point values with IEEE binary128, by saving floating-point
    values into variables of type __float128 and adjusting the parameters to
    __printf_fp and __printf_fphex as if it was a call from a wide-character
    version of strfromf128 (even though such version does not exist)).
    
    Tested for powerpc64le.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile:
    	[subdir == stdio-common] (ldbl-extra-routines): Add fwprintf,
    	swprintf, wprintf, vfwprintf, vswprintf, and vwprintf.
    	[subdir == stdio-common] (CFLAGS-vfwprintf-internal.c): New
    	variable.  Add -mfloat128 to the compilation of
    	vfprintf-internal.c, so that it gets support for the use of
    	__printf_fp and __printf_fphex with __float128 parameter.
    	[subdir == stdio-common] (tests-internal): Add
    	test-wprintf-ieee128 and test-wprintf-ibm128.
    	[subdir == stdio-common] (CFLAGS-test-wprintf-ieee128.c): New
    	variable to add the relevant -mabi flags to the compilation.
    	[subdir == stdio-common] (CFLAGS-test-wprintf-ibm128.c): Likewise.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions (libc): Add
    	__fwprintfieee128, __swprintfieee128, __wprintfieee128,
    	__vfwprintfieee128, __vswprintfieee128, and __vwprintfieee128.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf.c: New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ibm128.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ieee128.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ldbl-compat.c:
    	Likewise.

commit 99ec0318a3e820a0fcf4fcea4d25669f11de835d
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date:   Thu Aug 8 10:42:35 2019 -0300

    ldbl-128ibm-compat: Add regular character printing functions
    
    The 'mode' argument to __vfprintf_internal allows the selection of the
    long double format for all long double arguments requested by the format
    string.  Currently, there are two possibilities: long double with the
    same format as double or long double as something else.  The 'something
    else' format varies between architectures, and on powerpc64le, it means
    IBM Extended Precision format.
    
    In preparation for the third option of long double format on
    powerpc64le, this patch uses the new mode mask,
    PRINTF_LDBL_USES_FLOAT128, which tells __vfprintf_internal to save the
    floating-point values into variables of type __float128 and adjusts the
    parameters to __printf_fp and __printf_fphex as if it was a call from
    strfromf128.
    
    Many files from the stdio-common, wcsmbs, argp, misc, and libio
    directories will have IEEE binary128 counterparts.  Setting the correct
    compiler options to these files (original and counterparts) would
    produce a large amount of repetitive Makefile rules.  To avoid this
    repetition, this patch adds a Makefile routine that iterates over the
    files adding or removing the appropriate flags.
    
    Tested for powerpc64le.
    
    	* elf/tst-addr1.c (do_test): Accept redirections of printf to
    	__printfieee128.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == stdio-common] (routines): Move the addition of
    	printf_size to ldbl-extra-routines.
    	[subdir == stdio-common] (ldbl-extra-routines): New variable.
    	[subdir == stdio-common] (ldbl-ibm128-files): New variable.
    	[subdir == stdio-common] (obj-suf-foreach): New routine.
    	[subdir == stdio-common] (CFLAGS-vfprintf-internal.c): New
    	variable.  Add -mfloat128 to the compilation of
    	vfprintf-internal.c, so that it gets support for the use of
    	__printf_fp and __printf_fphex with __float128 parameter.
    	[subdir == stdio-common] (tests-internal): Add
    	test-printf-ieee128 and test-printf-ibm128.
    	[subdir == stdio-common] (CFLAGS-test-printf-ieee128.c): New
    	variable to add the relevant -mabi flags to the compilation.
    	[subdir == stdio-common] (CFLAGS-test-printf-ibm128.c): Likewise.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Versions: (libc): Add
    	__asprintfieee128, __dprintfieee128, __fprintfieee128,
    	__printfieee128, __snprintfieee128, __sprintfieee128,
    	__vasprintfieee128, __vdprintfieee128, __vfprintfieee128,
    	__vprintfieee128, __vsnprintfieee128, and __vsprintfieee128.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf.c: New file.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ibm128.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ieee128.c: Likewise.
    	* sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.c:
    	Likewise.
    	* sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ldbl-128ibm-compat-abi.h:
    	Likewise.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]