| 16 Apr 2025 |
| @awwpotato:envs.net joined the room. | 01:48:36 |
Tristan Ross | A clang triple is very similar to a GCC triple in a way that most of the time it should just work. | 02:16:09 |
Tristan Ross | And it's likely the amount of possible clang triples are more than what GCC supports. | 02:16:40 |
rosssmyth | Sure. But what about the times when it doesn't work | 02:16:56 |
Tristan Ross | Also, the thing with the default stdenv is that is only true for Linux. | 02:16:59 |
Tristan Ross | It's rare, rare enough you're more likely to get asserts within nix or nothing absolutely supports. | 02:17:26 |
rosssmyth | Well one that has been found is that arm-none-eabi means two different things. | 02:18:00 |
rosssmyth | I know there are others but don't know them off-hand | 02:18:24 |
Tristan Ross | I have had thoughts of adding specific toolchain attributes into the systems aside from the actual toolchain tools (cc, libc, linker, etc.). This would focus on CPU model optimizations but could apply to the triple. | 02:18:40 |
Tristan Ross | Yeah if you find a case where things just completely do not match then report it to the stdenv team. | 02:18:58 |
rosssmyth | And then Zig, at least last I checked, the triples were different from GCC and Clang. | 02:19:11 |
Tristan Ross | Sort of | 02:19:50 |
Tristan Ross | Most things should work. | 02:19:58 |
rosssmyth | I don't particularly care about most things though | 02:20:08 |
Tristan Ross | But if you find an issue with Zig, lmk since I maintain it. | 02:20:13 |
rosssmyth | I've not tried using Zig as a C compiler in about two years because of the mess I had triying to use it before, | 02:20:39 |
Tristan Ross | Yeah, though it's hard to know what the cases are without knowing what the cases are. So for now, we've stuck with a best effort thing. | 02:20:43 |
rosssmyth | https://github.com/NixOS/nixpkgs/issues/395349 | 02:20:58 |
Tristan Ross | Ok, you could try it now lol. A lot has changed in two years. | 02:21:05 |
rosssmyth | This is the arm-none-eabi | 02:21:08 |
Tristan Ross | Yeah, I'll have to look into this when I have time. | 02:21:34 |
Tristan Ross | Also, LLVM doesn't really use arch-os-abi. That actually might cause problems. | 02:22:03 |
Tristan Ross | arch-vendor-os-abi is a better way of doing it. | 02:22:13 |
rosssmyth | yes | 02:22:19 |
rosssmyth | I am glad LLVM tries to be mostly sane | 02:22:29 |
rosssmyth | Looks like Zig forwards the triples to the Clang backend now days. Which is great. I remember the blog post Andrew Kelly wrote about it being a drop-in replacement for Clang for cross-compilation and it just wasn't true at all when the blog post was written because the triples were so different | 02:23:44 |
Tristan Ross | Tbf, there's always going to be edge cases that aren't always going to be checked. | 02:24:34 |
rosssmyth | The edge case was...all of windows | 02:24:45 |
Tristan Ross | Oh | 02:27:33 |
| lazyLambda set a profile picture. | 03:24:14 |