28 Jun 2025 |
emily | In reply to @qyliss:fairydust.space I don't think there's any real complexity to making this conditional? would it not be doable as just a flag to the rustc build otherwise? | 13:31:01 |
emily | and forget about wrappers or Cargo or anything | 13:31:11 |
Alyssa Ross | Oh, is it? | 13:31:11 |
Alyssa Ross | In that case sure | 13:31:17 |
dramforever | but i am annoyed by the fact that if we check targetPlatform in rustc it means there's a weird case where people cross compiling from x86-32 would find their build scripts and proc macros running with frame pointers enabled | 13:31:19 |
dramforever | rustc wrapper, i mean | 13:31:42 |
emily | targetPlatform is evil and we should not poison multi-target compilers with it any more than necessary :( | 13:32:02 |
emily | I was just talking about the path to getting rid of wrappers for Clang in #stdenv:nixos.org | 13:32:17 |
dramforever | sure, if only it was easy to check the actual target | 13:33:44 |
emily | we shouldn't have logic like that at all beyond the native target configuration files LLVM and Rust supports | 13:34:25 |
emily | anyway, doing things that work on every platform is good, but adding complexity that moves us away from things that can work upstream/without wrappera just to improve performance on systems we explicitly don't support out of a small legacy subset defeats the point of having guidelines about platform support IMO | 13:35:18 |
emily | (if there's actually perf-relevant stuff in our supported i686-linux set like maybe parts of Mesa then that's another matter though, but I suspect not as good don't think we can even build Rust for i686-linux?) | 13:36:48 |
emily | (as in the compiler. maybe we can) | 13:36:55 |
emily | (I figured it would be one of those things that exhausts the address space) | 13:37:06 |
Alyssa Ross | We could last I checked | 13:37:13 |
Alyssa Ross | Which was probably a year or so ago | 13:37:32 |
emily | do we actually on Hydra? | 13:37:40 |
Alyssa Ross | No idea | 13:37:48 |
emily | In reply to @emilazy:matrix.org would it not be doable as just a flag to the rustc build otherwise? actually maybe not because of the Rust build forgets everything you tell it thing | 13:42:05 |
emily | so wrapper injection may be unavoidable :/ | 13:42:20 |
emily | at least until we do target configuration files | 13:42:37 |
Alyssa Ross | Or we do it via build systems | 13:44:51 |
Alyssa Ross | That would also be fine, right? | 13:45:00 |
dramforever | i need to check what we actually do for x86-32 | 13:46:58 |
dramforever | on the other hand, if we really don't do i686 rust then even if i check targetPlatform, dropping the check is zero rebuilds | 13:52:48 |
dramforever | * on the other hand, if we really don't do i686 rust in hydra then even if i check targetPlatform, dropping the check is zero rebuilds | 13:52:56 |
29 Jun 2025 |
| Harshal Sawant (c0d3h01) joined the room. | 09:37:18 |
| @vedantmgoyal:beeper.com left the room. | 09:48:37 |
dramforever | sanity check, there's no reason here in cargoSetupHook https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/rust/hooks/default.nix we only set crt-static if host != target, right? | 17:16:16 |
emily | I think Rust already knows for the host platform | 17:29:20 |