-
-
Notifications
You must be signed in to change notification settings - Fork 271
GHA macOS: Enable bootstrap stage again #4912
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Okay, looks like we could re-enable the bootstrap stage on macOS - at the cost of disabling mimalloc and C++ LTO for the arm64 package (no costs for the x86_64 one). That setup survived 15 consecutive CI job runs on each arch, and in my previous attempts last time, I've only seen very few CI job runs which would NOT show at least one 'Pure virtual function called!' error (as they are sporadic, not deterministic). The only real improvement (when mixing LLVM versions) from last time is that I haven't seen any sporadic compiler crashes (during unwinding) for |
1da89c5 to
10d201c
Compare
And the latest stable LDC release as first host compiler.
…TO on arm64 due to 'LLVM ERROR: Unsupported stack probing method' when linking ldc2 (apparently from bitcode files compiled with older Apple clang)
This reverts commit 7ca007b.
10d201c to
3387131
Compare
9b998e9 to
0807c2f
Compare
|
Okay, a promising approach on arm64 is using Homebrew clang v19 for the final LDC build, instead of Apple clang - that enables C++ LTO (no more errors wrt. unsupported stack probe), and the mixed D & C++ LTO seems to work around the 'pure virtual function called' errors with mimalloc, as for x86_64. But I've only seen |
Expecting to hit the pure-virtual-func-called errors on x86_64 with older Apple clang. But arm64 might work now - only prebuilt LLVM is compiled with Apple clang, mimalloc and LDC with Homebrew clang matching the LLVM version used for LDC.
And the latest stable LDC release as first host compiler.
Fixes #4899 for good.