| 17 Dec 2024 |
Randy Eckenrode | No. | 17:33:44 |
Randy Eckenrode | Upstream is explicitly using LLVM probably because it is targeting Wine on Darwin. | 17:34:41 |
Randy Eckenrode | I may be able to use the ucrt MinGW’s llvmPackages.libcxxStdenv, but libc++ was failing to build. That was before the bump. I haven’t tried since LLVM 19 was made the default. | 17:36:37 |
Randy Eckenrode | * I may be able to use the ucrt MinGW’s libcxxStdenv, but libc++ was failing to build. That was before the bump. I haven’t tried since LLVM 19 was made the default. | 17:36:55 |
Randy Eckenrode | * I may be able to use the ucrt MinGW’s libcxxStdenv, but libc++ failed to build. That was before the bump. I haven’t tried since LLVM 19 was made the default. | 17:37:09 |
Randy Eckenrode | https://github.com/3Shain/dxmt | 17:37:40 |
Randy Eckenrode | The project pins the same LLVM on both platforms. Hopefully it works with a newer version of LLVM. It builds a Metal-forwarding DLL it calls into from the Windows side. | 17:38:50 |
Tristan Ross | In reply to @reckenrode:matrix.org Upstream is explicitly using LLVM probably because it is targeting Wine on Darwin. I wonder if the same would work on Linux. | 17:46:22 |
Tristan Ross | It might be we have to sort of just try and see how things go | 17:47:02 |
Tristan Ross | Also, last night I added asserts to prevent people from using the deprecated use* attributes. | 17:47:38 |
Tristan Ross | I think the new attributes PR is good unless anyone has objections before I merge it. | 17:48:55 |
Randy Eckenrode | Any impacts on bootstrapping? | 17:49:42 |
Tristan Ross | None | 17:49:49 |
Tristan Ross | At least right now | 17:49:57 |
Tristan Ross | My future goal is this sort of serves as preliminary work on LLVM bootstrapping on Linux. | 17:50:27 |
Tristan Ross | But it doesn't really have an effect on anything right now. | 17:50:50 |
Randy Eckenrode | I would like to fix bintools to be LLVM on Darwin in a separate PR. Darwin mostly doesn’t use Apple’s bintools and hasn’t for a while. | 17:51:16 |
Tristan Ross | Ah, yeah that can be done. | 17:51:41 |
Tristan Ross | I could do that in the PR which is the next step: making linker work as expected | 17:52:07 |
Randy Eckenrode | I was looking at doing that for the LLVM bootstrap, but adding Darwin checks everywhere was ugly. It also seemingly can’t use lld. | 17:52:44 |
Randy Eckenrode | In reply to @rosscomputerguy:matrix.org I could do that in the PR which is the next step: making linker work as expected I’m not sure the LLVM changes would be right in that case. Is linker meant to be independent of bintools? | 17:54:15 |
Tristan Ross | Gotcha, yeah I'm not entirely sure how LLVM bootstrapping will be done yet | 17:54:26 |
Tristan Ross | In reply to @reckenrode:matrix.org I’m not sure the LLVM changes would be right in that case. Is linker meant to be independent of bintools? Yes | 17:54:32 |
Randy Eckenrode | I think right now the useLLVM case assumes LLD. Darwin would use LLVM bintools and ld64 (for now). | 17:55:14 |
Randy Eckenrode | Darwin also needs opted out of libunwind. | 17:56:23 |
Tristan Ross | Alright, I'll get that done when I work on the linker stuff. We might get a world rebuild from it. | 17:56:35 |
Randy Eckenrode | That’s why I wanted to do Darwin separately. It’s going to involve cleanup. | 17:56:53 |
Tristan Ross | Gotcha, do you want it completely separate from the linker PR or just separate from this first one? | 17:57:24 |
Randy Eckenrode | It could possibly be part of the linker PR if that is updating the LLVM build. | 17:58:03 |
Tristan Ross | The linker PR might be a bit big since it adjusts things like build systems or where the linker is explicitly defined. | 17:58:09 |