在 2022/10/14 19:38, Martin Storsjö 写道:
Initially, it may seem like this function might not be needed in any form, since mingw-w64 lacks the main stpcpy function.However, third party projects may contain their own implementation of the stpcpy function. When GCC sees a declaration of the stpcpy function, it assumes that it is legal to do optimizations on strcpy+strlen into stpcpy. When strcpy is wrapped with fortification wrappers, so that strcpy ends up calling __builtin___strcpy_chk (which then calls __strcpy_chk), GCC can also transform this into __builtin___stpcpy_chk, which can generate a call to __stpcpy_chk. GCC's libssp does provide an implementation of __stpcpy_chk, even if the platform itself lacks stpcpy. Therefore, mingw-w64-crt's implementation of the ssp routines also does need an implementation of __stpcpy_chk, even if it is hard to practically produce calls to it. This should fix one issue discussed at https://github.com/msys2/MINGW-packages/issues/5803#issuecomment-1276812143. Signed-off-by: Martin Storsjö <mar...@martin.st> --- mingw-w64-crt/Makefile.am | 2 +- mingw-w64-crt/ssp/stpcpy_chk.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 mingw-w64-crt/ssp/stpcpy_chk.c
LGTM. Thanks. -- Best regards, LIU Hao
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public