Run the #85441 regression test on MSVC only

On MinGW toolchains the various features (such as function sections)
necessary to eliminate dead function references are disabled due to
various bugs. This means that the windows sockets library will most
likely remain linked to any mingw toolchain built program that also
utilizes libstd.

That said, I made an attempt to also enable `function-sections` and
`--gc-sections` during my experiments, but the symbol references
remained, sadly.
This commit is contained in:
Simonas Kazlauskas 2021-10-02 22:10:00 +03:00
parent b7d2b465b9
commit 5b4873a759
2 changed files with 4 additions and 4 deletions

View file

@ -29,12 +29,12 @@ pub mod netc {
pub struct Socket(OwnedSocket);
static WSA: SyncOnceCell<unsafe extern "system" fn() -> i32> = SyncOnceCell::new();
static WSA_CLEANUP: SyncOnceCell<unsafe extern "system" fn() -> i32> = SyncOnceCell::new();
/// Checks whether the Windows socket interface has been started already, and
/// if not, starts it.
pub fn init() {
let _ = WSA.get_or_init(|| unsafe {
let _ = WSA_CLEANUP.get_or_init(|| unsafe {
let mut data: c::WSADATA = mem::zeroed();
let ret = c::WSAStartup(
0x202, // version 2.2
@ -51,7 +51,7 @@ pub fn init() {
pub fn cleanup() {
// only perform cleanup if network functionality was actually initialized
if let Some(cleanup) = WSA.get() {
if let Some(cleanup) = WSA_CLEANUP.get() {
unsafe {
cleanup();
}

View file

@ -1,4 +1,4 @@
# only-windows
# only-windows-msvc
-include ../../run-make-fulldeps/tools.mk