| 30 Nov 2025 |
Randy Eckenrode | My ld64 fork is set up to not need private headers, which should make the port easier. There’s a bunch of platform-specific stuff that needs updated to use portable APIs or a different implementation on non-Darwin. | 22:14:25 |
Randy Eckenrode | I’d suggest any such work start from there. We don’t use cctools-port. | 22:16:16 |
Randy Eckenrode | Somewhat longer term, I want to rewrite at least some parts of ld64 in Swift. It does a lot of pointer fiddling and other unsafe stuff. There was a ton of UB fixed a release or two ago. | 22:17:10 |
Randy Eckenrode | I wanted to work on making it build on Linux at some point even without that, but there are other priorities like Swift. | 22:19:52 |
Randy Eckenrode | When I resync with upstream, I’ll incorporate any patches people have submitted to nixpkgs to fix the build. | 22:20:06 |
bake.monorail | I just managed to get ld64 from cctools-port to build. What's wrong with that? | 22:23:03 |
bake.monorail | libtapi doesn't look like great code either, but I'd avoid frontloading rewriting code in order to be able to cross-compile for macOS. | 22:26:56 |
| 1 Dec 2025 |
| matthewcroughan changed their profile picture. | 14:57:37 |
Randy Eckenrode | LTO doesn’t work, and it uses sigtool for signing. sigtool doesn’t set the linker-signed flag, which causes tools like strip to break binaries because their aren’t updated. That flag makes them update automatically.
It also historically lagged behind Apple’s releases, but I think they got better about that.
| 15:56:23 |