Ticket #39766

Support gratuitous GCC dependencies

Eröffnet am: 2019-11-16 04:44 Letztes Update: 2020-04-27 19:23

Auswertung:
Verantwortlicher:
Status:
Geschlossen
Komponente:
Meilenstein:
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
1
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

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.

Ticket-Verlauf (3/6 Historien)

2019-11-16 04:44 Aktualisiert von: keith
  • New Ticket "Support gratuitous GCC dependencies" created
2020-01-19 01:24 Aktualisiert von: keith
Kommentar

I've addressed the two issues, as noted in the ticket submission, by way of commit #3130b13, and commit #9b6ff66.

A further issue, which arises in the Ada sockets API for GCC-9.x, is that the getaddrinfo(), getnameinfo(), and freeaddrinfo() functions are now gratuitously assumed to be available, where in reality, Microsoft's universally available WS2_32.DLL didn't support them before the release of WinXP; (they were available on Win2K, in WSHIP6.DLL, for users who had installed Win2K's IPv6 technology preview package). For earlier versions of Windows, they could be obtained, to the extent that they are applicable for IPv4 only, by inclusion of the supplementary <wspiapi.h> header, in addition to <ws2tcpip.h>; however, MinGW.org lacks an implementation of any such supplementary header. I shall work up such an implementation, to mitigate this omission.

2020-01-19 01:38 Aktualisiert von: keith
  • Verantwortlicher Update from (Keine) to keith
  • Lösung Update from Keine to Accepted
  • Meilenstein Update from (Keine) to WSL-5.3 (closed)
2020-03-01 09:01 Aktualisiert von: None
2020-04-27 19:23 Aktualisiert von: keith
  • Status Update from Offen to Geschlossen
  • Lösung Update from Accepted to Gefixt
Kommentar

As of the release of wsl-5.3, all gratuitously assumed features needed to support building of GCC-9.2.0 have been incorporated, for mingw32.

Dateianhangliste

Bearbeiten

Please login to add comment to this ticket » Anmelden