在 2019/8/28 2:38, Christian Franke 写道:
> These warnings are not printed for calls of the v*printf() functions,
> only for the non-v variants. Delegating to non-v variants always
> requires __builtin_va_arg_pack() which is not used in the existing code.
> 

Adding the pragmas back only when GCC starts to warn about something
doesn't seem a good idea. Actually, it is the inconsistency that
concerns me so I'd remove them if I were you.

> 
> 
> The original mempcpy() and possibly other GNU extensions are also not
> guarded by _GNU_SOURCE in the current string.h. Should possibly be fixed
> first independently, then I'm happy to adjust the patch.
> 

Probably I can do this later.

> 
>> Also be advised that those `__builtin___*_chk()` things are only
>> available since GCC 4.9.
> 
> These are possibly available since 4.1:
> https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Object-Size-Checking.html
> Actually there is not much difference (except section number) to current
> documentation:
> https://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html
> 
> I revived a 2012 Debian wheezy from my VM-graveyard for a quick test:
> It provides gcc 4.7.0 and *-w64-mingw32 4.6.3. Both support
> __buildin__*_chk() and a runtime with the required __*_chk() functions.
> The Linux glibc includes actually use these, the code is guarded with
> __GNU_PREREQ(4,1).
> 
> 

Sorry my bad. I tried compiling a simple function which attempted to
call `__builtin___memcpy_chk()`, using a series of compilers, without
checking the reason. I noticed that the tests prior to 4.9 failed but it
was actually owing to command line options.

This part looks good to me except the `mempcpy` thing.

-- 
Best regards,
LH_Mouse

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to