glibc/sysdeps
Gabriel F. T. Gomes 5aa64dbc29 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.

Reviewed-By: Paul E. Murphy <murphyp@linux.ibm.com>
2019-11-22 18:11:49 -03:00
..
aarch64 aarch64: Increase small and medium cases for __memcpy_generic 2019-11-12 17:08:18 +00:00
alpha Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
arm Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
csky Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
generic Enable inlining issignalingf within glibc 2019-11-21 09:39:48 -06:00
gnu Add TCP_TX_DELAY from Linux 5.3 to netinet/tcp.h. 2019-09-27 13:37:36 +00:00
hppa Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
htl time: Introduce function to check correctness of nanoseconds value 2019-10-27 21:49:25 +01:00
hurd Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
i386 Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
ia64 Remove math-finite.h 2019-10-21 08:47:07 -03:00
ieee754 ldbl-128ibm-compat: Add regular character, fortified printing functions 2019-11-22 18:11:49 -03:00
init_array Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
m68k Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
mach hurd: Suppress GCC 10 -Warray-bounds warning in init-first.c [BZ #25097] 2019-11-16 15:40:59 +01:00
microblaze Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
mips Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
nios2 Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
nptl nptl: Fix niggles with pthread_clockjoin_np 2019-11-04 16:44:49 -03:00
posix Use clock_gettime to implement gettimeofday. 2019-10-30 17:11:10 -03:00
powerpc [powerpc] No need to enter "Ignore Exceptions Mode" 2019-10-02 10:30:51 -05:00
pthread Change most internal uses of __gettimeofday to __clock_gettime. 2019-10-30 17:04:10 -03:00
riscv Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
s390 S390: Fp comparison are now raising FE_INVALID with gcc 10. 2019-11-06 08:07:40 +01:00
sh Split up endian.h to minimize exposure of BYTE_ORDER. 2019-10-01 14:54:46 -07:00
sparc nptl: Replace non cancellable pause/nanosleep with futex 2019-10-31 11:09:01 -03:00
unix misc: Set generic pselect as ENOSYS 2019-11-22 14:40:57 -03:00
wordsize-32 Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
wordsize-64 Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
x86 elf: Use nocancel pread64() instead of lseek()+read() 2019-10-18 15:55:33 -04:00
x86_64 Remove x64 _finite tests and references 2019-10-21 14:29:12 -03:00