Re: [Mingw-w64-public] [PATCH 2/2] headers: _FORTIFY_SOURCE: Allow to disable usage of __builtin_va_arg_pack().

2019-09-13 Thread Christian Franke
Martin Storsjö wrote: On Fri, 13 Sep 2019, Christian Franke wrote: ... Ok, now with this patch I see the reason for patch 1/2. Having to manually disable this on errors doesn't feel ideal I decided to enable the functions by default as the usage of s*printf() addresses is IMO *very* rare

Re: [Mingw-w64-public] [PATCH 1/2] headers: _FORTIFY_SOURCE: Use __builtin_va_arg_pack() only if needed.

2019-09-13 Thread Christian Franke
Martin Storsjö wrote: On Fri, 13 Sep 2019, Christian Franke wrote: ...  __attribute__((__format__ (ms_printf, 3, 4))) __MINGW_ATTRIB_NONNULL(3) -int snprintf (char * __restrict__ __stream, size_t __n, const char * __restrict__ __format, ...) +int snprintf (char *__stream, size_t __n, const ch

Re: [Mingw-w64-public] [PATCH 2/2] headers: _FORTIFY_SOURCE: Allow to disable usage of __builtin_va_arg_pack().

2019-09-13 Thread Martin Storsjö
On Fri, 13 Sep 2019, Christian Franke wrote: ... Ok, now with this patch I see the reason for patch 1/2. Having to manually disable this on errors doesn't feel ideal - how is this aspect handled in e.g. glibc? // Martin ___ Mingw-w64-public m

Re: [Mingw-w64-public] [PATCH 1/2] headers: _FORTIFY_SOURCE: Use __builtin_va_arg_pack() only if needed.

2019-09-13 Thread Martin Storsjö
On Fri, 13 Sep 2019, Christian Franke wrote: ... From 3e729fff4a79bf4887ef7df94bd4502aa22d9852 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Fri, 13 Sep 2019 21:20:19 +0200 Subject: [PATCH 1/2] headers: _FORTIFY_SOURCE: Use __builtin_va_arg_pack() only if needed. GCC may report an

Re: [Mingw-w64-public] [PATCH] headers: Don't use __gnu_inline__ with __mingw_ovr in C++ mode

2019-09-13 Thread Christian Franke
Liu Hao wrote: ... There is something worse: As these wrappers uses `__builtin_va_arg_pack()` they MUST always be emitted inline, not just be declared inline. If inline is not possible, the inline definition cannot be used, which is exactly the `__gnu_inline__` behavior. Yeah, the bad news is t

Re: [Mingw-w64-public] Subject: [PATCH] headers: Remove __USE_MINGW_ANSI_STDIO *printf() inline functions.

2019-09-13 Thread Christian Franke
Martin Storsjö wrote: On Tue, 10 Sep 2019, Christian Franke wrote: AFAICS most of the *printf() and *scanf() inline wrappers are not (or no longer) needed. Prototypes with __asm__() could be used instead. This patch removes a subset of these functions. As a side effect, It also fixes a regre

[Mingw-w64-public] [PATCH 2/2] headers: _FORTIFY_SOURCE: Allow to disable usage of __builtin_va_arg_pack().

2019-09-13 Thread Christian Franke
... From 26774c66ae0298e1640e276f8fd50edc39e43874 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Fri, 13 Sep 2019 21:39:59 +0200 Subject: [PATCH 2/2] headers: _FORTIFY_SOURCE: Allow to disable usage of __builtin_va_arg_pack(). _FORTIFY_VA_ARG=0 disables inline functions with __builtin_v

[Mingw-w64-public] [PATCH 1/2] headers: _FORTIFY_SOURCE: Use __builtin_va_arg_pack() only if needed.

2019-09-13 Thread Christian Franke
... From 3e729fff4a79bf4887ef7df94bd4502aa22d9852 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Fri, 13 Sep 2019 21:20:19 +0200 Subject: [PATCH 1/2] headers: _FORTIFY_SOURCE: Use __builtin_va_arg_pack() only if needed. GCC may report an error if the address of an inline function with _