| 22 Jun 2026 |
Alyssa Ross | If upstream LLVM cannot produce binaries that run on modern OpenBSD, I'm sure they'd be interested in patches that fix taht. | 07:57:12 |
Alyssa Ross | * | 07:57:14 |
flumffy | I'm not sure if upstream LLVM actually cares to support cross-compilation to OpenBSD, to my knowledge it's not exactly a supported configuration anywhere. | 07:59:45 |
Alyssa Ross | Wouldn't it also be needed for native compilation using upstream LLVM? | 08:00:06 |
flumffy | I don't think upstream LLVM even works out of the box on OpenBSD anymore, last I checked ports had patches maintained for all (supported) major versions | 08:00:53 |
Alyssa Ross | Then maybe they'd be interested in patches to fix that | 08:01:21 |
Alyssa Ross | Nixpkgs is not a collection of patches that people didn't feel like upstreaming | 08:01:34 |
flumffy | Sure, the patches are from the OpenBSD project proper (I've picked them from ports), which is why I figured they'd be applicable to the OpenBSD-specific parts of LLVM in nixpkgs | 08:02:12 |
Alyssa Ross | It seems much worse for those patches to be copied into every package repository that wants to support OpenBSD, than for them to end up maintained as part of LLVM | 08:02:49 |
flumffy | Understood, thank you | 08:03:51 |
flumffy | Alyssa Ross: Is using an older version of LLVM an acceptable solution for the OpenBSD stdenv? (I've done more work on getting cross-compilation to work; binaries built with LLVM 19 and newer will run without any patches since upstream fixed the linker issue, though LLVM 21 results in a miscompilation in libc for reasons I don't understand yet.) | 21:16:30 |
| 23 Jun 2026 |
emily | FWIW Apple ships a pretty divergent LLVM and we just use a vanilla LLVM on Darwin and it's fine | 01:01:14 |
emily | (though not all of Apple's changes are FOSS so we don't have that much choice) | 01:01:31 |
emily | we used to have a lot of platform-specific default LLVM versions but equalized them a while back | 01:01:56 |
emily | it would be unfortunate to reintroduce them | 01:02:13 |
emily | if OpenBSD doesn't care about LLVM upstream and LLVM upstream doesn't care about OpenBSD that's a systemic problem that is going to hurt for providing OpenBSD support in Nixpkgs tbh :/ | 01:02:50 |
emily | is this related to the license change stuff? | 01:03:28 |
flumffy | When I initially started the work on getting OpenBSD to play nicely with cross compiling it was when nixpkgs was still using LLVM 18 (which didn't support the various changes to required sections that OpenBSD had introduced). It seems this isn't an issue nowadays, so we can elide effectively all of the patches I was concerned about manually reviewing/maintaining. | 01:21:44 |
flumffy | I don't imagine upstream LLVM particularly cares for some of OpenBSD's patches (retguard, cleaning return address off the stack, etc). It's easy enough to remove the few references to these from the OpenBSD sources that are required (-fret-clean is only used in ld.so and libc currently). | 01:23:24 |
flumffy | The only issues I'm actively facing now are that the codegen for libc with LLVM 21 is broken in a way I've not investigated, along with the fact that enforcing PIE for static OpenBSD builds will need to be reintroduced (the code for this lived in the bintools wrapper at one point, but I think it's gone now). | 01:25:05 |
emily | fwiw we'd quite like PIE for static builds in general; cf. https://github.com/NixOS/nixpkgs/pull/515233, the uncertainty has just been about the nicest way to accomplish that | 01:29:12 |
emily | so maybe that can dovetail | 01:29:29 |
emily | have you tried LLVM 22 btw? we're overdue to bump the default version anyway, so if it's a regression that got fixed… | 01:31:44 |
flumffy | Not yet, I'll try that now. | 01:44:39 |
flumffy | Seems to still be broken on LLVM 22.1.7, I'll dig into it further tomorrow if I have time | 02:37:10 |
Alyssa Ross | yes, but note that older LLVM versions are liable for removal and if OpenBSD is the last user, that'll likely result in quite a bit of pressure to upgrade when removal time comes | 08:25:16 |
| Enok Larsson joined the room. | 09:58:46 |
| @rasmata:matrix.org joined the room. | 11:22:51 |
| @rasmata:matrix.org left the room. | 11:23:01 |
| debtquity joined the room. | 19:18:02 |