Support gratuitous GCC dependencies
MS-Windows builds of GCC-9.x gratuitously require Microsoft's non-standard _get_errno() and _set_errno() functions, which are not supported by MSVCRT.DLL prior to Windows-Vista. Additionally, this same GCC version introduces a dependency on a ftruncate64() function, which, as ftruncate() is mapped to Microsoft's _chsize(), could be mapped to Microsoft's _chsize_s(); however, like the two non-standard errno accessors, _chsize_s() is unsupported, without introducing dependencies on non-free Microsoft DLLs, prior to Windows-Vista. Such gratuitous GCC dependencies are incompatible with MinGW.org's policy of continuing legacy support for pre-Vista Windows versions.
The attached patch offers work-arounds for each of these gratuitous GCC dependencies, extending support to pre-Vista Windows, while still linking with MSVCRT.DLL.