在 2022-01-21 22:53, Martin Storsjö 写道:
The _set_errno function is defined in arm versions of msvcrt.dll, and in all the newer numbered versions of msvcr*.dll, and UCRT.This avoids issues with the recently added _vscprintf in libmsvcrt.a which depends on _set_errno, which was present in libmingwex.a. When linking with ld.bfd, a later library can't pull in symbols from earlier libraries (unless specifying --start-group --end-group around the list of those libraries). Signed-off-by: Martin Storsjö <[email protected]> --- mingw-w64-crt/Makefile.am | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
This patch looks good itself.BTW I am not sure why this function is ever necessary; the error number could have been assigned to `errno` directly. More over, our `_get_errno()` is incorrect because it returns the current error number, while according to MSDN [1] it should return zero upon success and `EINVAL` otherwise. I think it worth another patch.
[1] https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/get-errno?view=msvc-170 -- Best regards, LIU Hao
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
