!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

582 Members
127 Servers

Load older messages


SenderMessageTime
16 Apr 2025
@awwpotato:envs.net@awwpotato:envs.net joined the room.01:48:36
@rosscomputerguy:matrix.orgTristan RossA clang triple is very similar to a GCC triple in a way that most of the time it should just work.02:16:09
@rosscomputerguy:matrix.orgTristan RossAnd it's likely the amount of possible clang triples are more than what GCC supports.02:16:40
@rosssmyth:matrix.orgrosssmythSure. But what about the times when it doesn't work02:16:56
@rosscomputerguy:matrix.orgTristan RossAlso, the thing with the default stdenv is that is only true for Linux.02:16:59
@rosscomputerguy:matrix.orgTristan RossIt's rare, rare enough you're more likely to get asserts within nix or nothing absolutely supports.02:17:26
@rosssmyth:matrix.orgrosssmythWell one that has been found is that arm-none-eabi means two different things. 02:18:00
@rosssmyth:matrix.orgrosssmythI know there are others but don't know them off-hand02:18:24
@rosscomputerguy:matrix.orgTristan RossI 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
@rosscomputerguy:matrix.orgTristan RossYeah if you find a case where things just completely do not match then report it to the stdenv team.02:18:58
@rosssmyth:matrix.orgrosssmythAnd then Zig, at least last I checked, the triples were different from GCC and Clang. 02:19:11
@rosscomputerguy:matrix.orgTristan RossSort of02:19:50
@rosscomputerguy:matrix.orgTristan RossMost things should work.02:19:58
@rosssmyth:matrix.orgrosssmythI don't particularly care about most things though02:20:08
@rosscomputerguy:matrix.orgTristan RossBut if you find an issue with Zig, lmk since I maintain it.02:20:13
@rosssmyth:matrix.orgrosssmythI'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
@rosscomputerguy:matrix.orgTristan RossYeah, 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:matrix.orgrosssmythhttps://github.com/NixOS/nixpkgs/issues/39534902:20:58
@rosscomputerguy:matrix.orgTristan RossOk, you could try it now lol. A lot has changed in two years.02:21:05
@rosssmyth:matrix.orgrosssmythThis is the arm-none-eabi02:21:08
@rosscomputerguy:matrix.orgTristan RossYeah, I'll have to look into this when I have time.02:21:34
@rosscomputerguy:matrix.orgTristan Ross Also, LLVM doesn't really use arch-os-abi. That actually might cause problems. 02:22:03
@rosscomputerguy:matrix.orgTristan Ross arch-vendor-os-abi is a better way of doing it. 02:22:13
@rosssmyth:matrix.orgrosssmythyes02:22:19
@rosssmyth:matrix.orgrosssmythI am glad LLVM tries to be mostly sane02:22:29
@rosssmyth:matrix.orgrosssmythLooks 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 different02:23:44
@rosscomputerguy:matrix.orgTristan RossTbf, there's always going to be edge cases that aren't always going to be checked.02:24:34
@rosssmyth:matrix.orgrosssmythThe edge case was...all of windows02:24:45
@rosscomputerguy:matrix.orgTristan RossOh02:27:33
@augyg:matrix.orglazyLambda set a profile picture.03:24:14

Show newer messages


Back to Room ListRoom Version: 6