public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Gabriel F.T.Gomes <gftg@sourceware.org>
To: glibc-cvs@sourceware.org
Subject: [glibc] Deleted branch gabriel/powerpc-ieee128-printscan
Date: Fri, 09 Aug 2019 18:34:00 -0000	[thread overview]
Message-ID: <20190809183455.81620.qmail@sourceware.org> (raw)

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

 d929c19... TEMP: powerpc64le: Enable support for IEEE long double

Diff:

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

  d929c19... TEMP: powerpc64le: Enable support for IEEE long double
  3409ce3... ldbl-128ibm-compat: Compiler flags for stdio functions
  17b8d64... Do not redirect calls to __GI_* symbols, when redirecting t
  d784dc8... ldbl-128ibm-compat: Add *cvt functions
  6149983... Refactor *cvt functions implementation (4/4)
  d1348a7... Refactor *cvt functions implementation (3/4)
  d0936b1... Refactor *cvt functions implementation (2/4)
  2b2cdb1... Refactor *cvt functions implementation (1/4)
  94a234f... Remove hidden_def and hidden_proto from cvt functions
  fd73a4a... ldbl-128ibm-compat: Add tests for strfroml, strtold, and wc
  4299a30... ldbl-128ibm-compat: Add tests for strfmon and strfmon_l
  f560389... ldbl-128ibm-compat: Add strfmon_l with IEEE long double for
  9045dd5... ldbl-128ibm-compat: Add syslog functions
  249b0cb... ldbl-128ibm-compat: Add obstack printing functions
  40835b9... ldbl-128ibm-compat: Add ISO C99 versions of scanf functions
  64b20fe... ldbl-128ibm-compat: Add tests for err.h and error.h functio
  75f785f... ldbl-128ibm-compat: Add error.h functions
  4d12a34... ldbl-128ibm-compat: Add err.h functions
  4a0fc8c... ldbl-128ibm-compat: Add argp_error and argp_failure
  ce0bdd4... ldbl-128ibm-compat: Add wide character scanning functions
  d7fee1f... ldbl-128ibm-compat: Add regular character scanning function
  021d52a... ldbl-128ibm-compat: Test positional arguments
  647f174... ldbl-128ibm-compat: Test double values
  977c609... ldbl-128ibm-compat: Add wide character, fortified printing 
  e0af52f... ldbl-128ibm-compat: Add regular character, fortified printi
  f213b94... ldbl-128ibm-compat: Add wide character printing functions
  1b2f7f2... ldbl-128ibm-compat: Add regular character printing function
  00ebf9a... ldbl-128ibm-compat: Add Makefile routine to control compile
  23d36e7... Prepare vfprintf to use __printf_fp/__printf_fphex with flo

commit d929c19d9acf7d1377bafc9b966d339e62d4656f
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Mon Mar 25 17:06:12 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 3409ce316dde7955e58ef46d87ecf943db8fe334
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 17b8d64af280a0fc63f27a97eb252f4cd8e66b9f
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 d784dc8a19837799683af2b88ff960c3e3d359ea
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Mon Dec 3 11:44:25 2018 -0200

    ldbl-128ibm-compat: Add *cvt functions

commit 6149983ca8da6bf7296d38e14d89a1b08bff8e08
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Wed Jan 9 18:27:28 2019 -0200

    Refactor *cvt functions implementation (4/4)

commit d1348a7877cd37c41ad009c197d493cbd5d76643
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Wed Jan 9 18:35:08 2019 -0200

    Refactor *cvt functions implementation (3/4)

commit d0936b129a6a01e154c9b1ae73ac4dbe566fbc39
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Wed Jan 9 18:23:24 2019 -0200

    Refactor *cvt functions implementation (2/4)

commit 2b2cdb118e35582ce2fea7483b825be21491d2f4
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Wed Jan 9 18:18:41 2019 -0200

    Refactor *cvt functions implementation (1/4)

commit 94a234fff7b1981b55941f4415b8a23a1a29494b
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Wed Nov 28 15:34:08 2018 -0200

    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 fd73a4a4e9c634c37b99e88a1b1854a33e64db16
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Thu Apr 4 15:42:37 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 4299a30d70c656f27e380810af45fa7963e12853
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Mon Feb 18 17:03:21 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 f560389949141382241084a4ea2564238ed705da
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 9045dd54446bc01098f387f663e1da7fb68ef9ea
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Tue Jun 26 17:22:13 2018 -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 249b0cb1a84b537b971aa6f0b3e83026803aca6d
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Mon Jun 25 22:43:24 2018 -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 40835b95003bff0ac97baa6cee78c63151b17d6e
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Wed Jun 20 10:10:24 2018 -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 64b20fed21575ddd12251872443d0bc62b9f08e7
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Fri Jun 15 13:29:31 2018 -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 75f785fbadbe32efa629cefb7d95105529ec79dc
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Sat Jun 16 16:56:43 2018 -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 4d12a346ccc6daf4244035f2fe78610798c0721a
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Fri Jun 15 11:24:05 2018 -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 4a0fc8c24db1f1f7b2df3a147eeecd05471f8d67
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Tue Jun 12 22:27:21 2018 -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 ce0bdd4827e59e5359cbc442edbbfcd4bedbd560
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Mon Jun 11 15:48:48 2018 -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 d7fee1ffde9e3cfb0cc4f89b375cc6fe34799d0f
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Mon Jun 11 00:12:28 2018 -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 021d52a836d254b00ddcbdeb9dc19b8823b9b6e4
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Fri Feb 8 11:32:51 2019 -0200

    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 647f17483ca0cf9fff07c2d06b3055222a4e4574
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Sun Jun 17 17:32:39 2018 -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 977c609e0f1f6b5ac977e77a8ca7d63946953e0b
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Sun Jun 10 22:40:58 2018 -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 e0af52f4f5d24a636f99fc5b076856017115a1f5
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Sun Jun 10 15:57:48 2018 -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 f213b94986e412a9814adc4215463934128b6896
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Fri Jun 8 11:40:45 2018 -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 1b2f7f223684da8b401045062e293a0666667fb2
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Mon May 21 11:25:39 2018 -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.
    
    Tested for powerpc64le.
    
    	* elf/tst-addr1.c (do_test): Accept redirections of printf to
    	__printfieee128.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile:
    	[subdir == stdio-common] (ldbl-extra-routines): Add asprintf,
    	dprintf, fprintf, printf, snprintf, sprintf, vasprintf,
    	vdprintf, vfprintf, vprintf, vsnprintf, and vsprintf.
    	[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.

commit 00ebf9aced2f328bc6bbc254c0c7d597d9c939e8
Author: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Date:   Tue Jul 31 10:40:30 2018 -0300

    ldbl-128ibm-compat: Add Makefile routine to control compiler options
    
    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.
    
    Currently, this mechanism only affects printf_size.  Future commits will
    use the mechanism for many more files.
    
    	* sysdeps/ieee754/ldbl-128ibm-compat/Makefile
    	[subdir == stdio-common] (routines): Move the addition of
    	printf_size to ldbl-extra-routines.
    	(ldbl-extra-routines): New variable.
    	(ldbl-ibm128-files): New variable.
    	(obj-suf-foreach): New routine.

commit 23d36e7d41aa5fc49eda3bf21567b553f867c375
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Sun Jun 3 17:20:43 2018 -0300

    Prepare vfprintf to use __printf_fp/__printf_fphex with float128 arg
    
    Changes since v2:
    
      - Fixed style error in `do { ... } while (0)' blocks.
      - Zero-initialize args_value[cnt] with memset, rather than relying on
        the `.pa_long_double' member being the largest of the members.
    
    Changes since v1:
    
      - Updated to the revised and integrated patches for __ldbl_is_dbl
        removal, i.e.: the patches in the following thread:
        <https://sourceware.org/ml/libc-alpha/2018-12/msg00186.html>.
        - Added description for the PRINTF_LDBL_USES_FLOAT128 macro.
        - Removed the LDBL_USES_FLOAT128 macro.
      - Added `do { } while (0)' to the PARSE_FLOAT_VA_ARG_EXTENDED,
        PARSE_FLOAT_VA_ARG, and SETUP_FLOAT128_INFO macros.  Appended
        expansions with `;', accordingly.
    
    -- 8< --
    On powerpc64le, long double can currently take two formats: the same as
    double (-mlong-double-64) or IBM Extended Precision (default with
    -mlong-double-128 or explicitly with -mabi=ibmlongdouble).  The internal
    implementation of printf-like functions is aware of these possibilities
    and properly parses floating-point values from the variable arguments,
    before making calls to __printf_fp and __printf_fphex.  These functions
    are also aware of the format possibilities and know how to convert both
    formats to string.
    
    When library support for TS 18661-3 was added to glibc, __printf_fp and
    __printf_fphex were extended with support for an additional type
    (__float128/_Float128) with a different format (binary128).  Now that
    powerpc64le is getting support for its third long double format, and
    taking into account that this format is the same as the format of
    __float128/_Float128, this patch extends __vfprintf_internal to properly
    call __printf_fp and __printf_fphex with this new format.
    
    Tested for powerpc64le (with additional patches to actually enable the
    use of these preparations) and for x86_64.
    
    	* libio/libioP.h (PRINTF_LDBL_USES_FLOAT128): New macro to be
    	used as a mask for the mode argument of __vfprintf_internal.
    	* stdio-common/printf-parse.h (printf_arg): New union member:
    	pa_float128.
    	* stdio-common/vfprintf-internal.c
    	(PARSE_FLOAT_VA_ARG_EXTENDED): New macro.
    	(PARSE_FLOAT_VA_ARG): Likewise.
    	(SETUP_FLOAT128_INFO): Likewise.
    	(process_arg): Use PARSE_FLOAT_VA_ARG_EXTENDED and
    	SETUP_FLOAT128_INFO.
    	[__HAVE_FLOAT128_UNLIKE_LDBL] (printf_positional): Write
    	floating-point value to the new union member, pa_float128.
    	(printf_positional): Zero-initialize args_value[cnt] with memset.


             reply	other threads:[~2019-08-09 18:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-09 18:34 Gabriel F.T.Gomes [this message]
2019-10-15 19:00 Gabriel F.T.Gomes
2019-10-25 15:31 Gabriel F.T.Gomes
2019-12-03 17:02 Gabriel F.T.Gomes
2019-12-13 22:28 Gabriel F.T.Gomes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190809183455.81620.qmail@sourceware.org \
    --to=gftg@sourceware.org \
    --cc=glibc-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).