| 26 Feb 2026 |
dramforever | but how could unprefixed gcc be linking real windows programs | 20:17:19 |
emily | because the compiler-builtins build would just shrug and use any old GCC if it couldn't find a Clang to pass --target to | 20:17:29 |
emily | C compilers is the same | 20:17:36 |
emily | yeah I don't know. creatively | 20:17:49 |
emily | oh | 20:17:53 |
emily | there's the thing where we fail to wrap some compilers right | 20:17:57 |
emily | like some prefixed binutils don't get wrappers or something | 20:18:05 |
dramforever | that would be hilarious | 20:18:14 |
emily | I remember there's something awful like that and it causes headaches | 20:18:15 |
emily | I think Artturin exposed me to that particular horror | 20:18:24 |
rosssmyth | Yes, rustup ships a full mingw toolchain in the distribution bundle (including libpthread) | 20:18:25 |
emily | (why does Rust even use libpthread on MinGW if it can use native threads on the MSVC target; is it required to use their shim layer for interoperability or something…) | 20:18:55 |
rosssmyth | It is required because of mingw | 20:19:07 |
rosssmyth | Basically most application have no clue what msvc is | 20:19:19 |
rosssmyth | * Basically most applications have no clue what msvc is | 20:19:31 |
emily | yeah but most Rust applications are like, written in Rust | 20:19:32 |
emily | and even most C libraries that Rust applications link to probably know what an MSVC is | 20:19:38 |
rosssmyth | Sure, but if you want to interoperate with other mingw libs written in C you must play by their rules | 20:19:57 |
emily | I don't like how MinGW can't decide if it wants to be a free toolchain for Windows or half a Cygwin. eh whatever | 20:20:07 |
rosssmyth | Same way as using musl and glibs | 20:20:13 |
emily | anyway I think someone should ask rustc what linker command it's actually calling | 20:20:23 |
rosssmyth | * Same way as using musl and glibc | 20:20:27 |
rosssmyth | It's probably in our rustc wrapper somewhere I'd guess | 20:20:44 |
rosssmyth | I'll poke around | 20:20:47 |
emily | isn't there just a flag that makes it print the command it runs? | 20:21:28 |
emily | I thought it did that whenever it failed even | 20:21:34 |
rosssmyth | Yeah | 20:21:37 |
rosssmyth | rustc -V or something | 20:21:44 |
rosssmyth | rustc --print link-args but you need to supply it with some files to munch on | 20:24:41 |
dramforever | i can't compile ripgrep rn because it depends on ... arm64ec wine when crossing from aarch64-linux? which we don't have | 20:26:20 |