| 30 Jun 2026 |
emily | imo if yes → eat the rebuilds, if no → package 1.96.1 separately for this cycle and override stuff we know will break to use it | 17:38:37 |
Lach | I think it affects only _mm512_dpbusd_epi32 intrinsic specifically | 17:39:05 |
emily | looks like zlib-rs uses it. ouch. | 17:39:38 |
Lach | zlib_rs, ndarray are using it | 17:39:55 |
emily | https://github.com/trifectatechfoundation/zlib-rs/blob/5a96dcf8f36644074ca604dadae36591de5551a5/zlib-rs/src/adler32/avx512.rs#L42 or not? "emulated"… | 17:39:58 |
emily | if it actually affects zlib-rs then that's serious enough we should probably reroll Rust | 17:40:35 |
Lach | https://github.com/AdaWorldAPI/ndarray/blob/8c381a61040884180f3909d755f45d129d14cd4c/src/hpc/int8_tile_gemm.rs#L152 | 17:40:38 |
emily | it seems like it only calls this "emulated" version though | 17:41:05 |
Lach | https://github.com/trifectatechfoundation/zlib-rs/blob/5a96dcf8f36644074ca604dadae36591de5551a5/zlib-rs/src/adler32/avx512_vnni.rs#L84 | 17:42:12 |
Lach | vnni path uses the real one | 17:42:49 |
emily | aha, ok. separate files. | 17:42:48 |
emily | can we get Linux to fake CPUID? 🤪 | 17:43:05 |
Lach | It won't help since it breaks at compile time | 17:43:24 |
Lach | llvm 21 doesn't understand the code that rustc 1.96 emits | 17:43:38 |
Lach | It needs this patch https://github.com/rust-lang/llvm-project/commit/94e2c19f86a699d7a19ff0f4130b696699189c8d | 17:43:55 |
emily | oh, it's just a build failure? | 17:44:15 |
Lach | Yes | 17:44:23 |
emily | that's totally fine then. we can probably fix it for packages that break | 17:44:26 |
K900 | Two rustcs? | 17:44:35 |
K900 | That's going to suuuuuuuck | 17:44:40 |
K900 | And there's the 1.96.1 miscompilation | 17:44:47 |
Lach | I don't think so, as with ndarray and other packages this issue would be deep into the dependency graph | 17:44:48 |
emily | I guess if it's everything using zlib-rs, yeah… | 17:44:50 |
K900 | Which is much more subtle | 17:44:49 |
emily | the other thing is, 1.96.1 also has https://github.com/libssh2/libssh2/commit/97acf3dfda80c91c3a8c9f2372546301d4a1a7a8 | 17:44:57 |
emily | I believe we devendor libssh2, but this commit isn't in any release of libssh2 | 17:45:06 |
K900 | We're not using vendored libssh | 17:45:07 |
emily | yes but | 17:45:11 |
emily | that just means we're vulnerable across the board | 17:45:16 |
emily | so we should probably consider applying this to our libssh2, at which point we eat a Rust rebuild anyway | 17:45:24 |