Rename run-make/issue-85441 and convert to rmake

This commit is contained in:
Chris Denton 2024-05-29 13:11:48 +00:00
parent 1e6544a20e
commit f08e00f3d5
No known key found for this signature in database
GPG key ID: 713472F2F45627DE
4 changed files with 32 additions and 9 deletions

View file

@ -1,9 +0,0 @@
# only-windows-msvc
include ../tools.mk
# Tests that WS2_32.dll is not unnecessarily linked, see issue #85441
all:
$(RUSTC) empty.rs
objdump -p $(TMPDIR)/empty.exe | $(CGREP) -v -i "WS2_32.dll"

View file

@ -0,0 +1,27 @@
//@ only-msvc
// Tests that WS2_32.dll is not unnecessarily linked, see issue #85441
use run_make_support::object::{self, read::Object};
use run_make_support::{rustc, tmp_dir};
use std::fs;
fn main() {
rustc().input("empty.rs").run();
rustc().input("tcp.rs").run();
assert!(!links_ws2_32("empty.exe"));
assert!(links_ws2_32("tcp.exe"));
}
fn links_ws2_32(exe: &str) -> bool {
let path = tmp_dir().join(exe);
let binary_data = fs::read(path).unwrap();
let file = object::File::parse(&*binary_data).unwrap();
for import in file.imports().unwrap() {
if import.library().eq_ignore_ascii_case(b"WS2_32.dll") {
return true;
}
}
false
}

View file

@ -0,0 +1,5 @@
use std::net::TcpListener;
fn main() {
TcpListener::bind("127.0.0.1:80").unwrap();
}