Uh oh!
There was an error while loading. Please reload this page.
Fix illumox-x64 build with gcc and clang - #129322
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
am11
commented
Jun 12, 2026
cc @gwr, @AustinWise, I know you guys were looking for clang-based crossbuild at some point. While working on OpenBSD bringup, I figured some internal things out for illumos. If someone could take care of llvm side of patching, that would help. 🙂 |
Uh oh!
There was an error while loading. Please reload this page.
akoeplinger
commented
Jun 12, 2026
build failure looks related |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
am11
commented
Jun 15, 2026
Windows timeout failures are unrelated to the changes here. |
janvorli
commented
Jun 15, 2026
/ba-g windows builds timeouts unrelated to this change and seems to happen on multiple PRs. |
Uh oh!
There was an error while loading. Please reload this page.
First, our default build is failing with solaris gcc 13, so couple of fixes for those are included (jit, gcenv etc.). Then it includes clang fixes. For the first time, cross building runtime repo for illumos-x64 with llvm-toolchain has succeeded. It has two issues which I've reported upstream with minimal repro and workarounds: * llvm assembler (llvm-mc): llvm/llvm-project#202953 * LLVM linker (lld): llvm/llvm-project#202963 For the first one I am adding a workaround in configurecompiler.cmake (`if (CMAKE_C_COMPILER_ID MATCHES "GNU")` condition). For the second one the hack goes in toolchain.cmake which I am skipping from this PR as I'm running trials to slim it down a bit (current state: https://github.com/am11/runtime/blob/67046c0cf095c5d7888c797226fe736156b5e04c/eng/common/cross/toolchain.cmake#L227-L307). Together the clang build succeeds on Azure Linux cross environment same as rest of the platforms (freebsd, openbsd, haiku). Note that the gcc build requires another fix upstream dotnet/dotnet#7206, which I recently broke while fixing sccsid which got broken after we started to use `--gc-sections` linker option liberally.
First, our default build is failing with solaris gcc 13, so couple of fixes for those are included (jit, gcenv etc.). Then it includes clang fixes.
For the first time, cross building runtime repo for illumos-x64 with llvm-toolchain has succeeded. It has two issues which I've reported upstream with minimal repro and workarounds:
For the first one I am adding a workaround in configurecompiler.cmake (
if (CMAKE_C_COMPILER_ID MATCHES "GNU")condition). For the second one the hack goes in toolchain.cmake which I am skipping from this PR as I'm running trials to slim it down a bit (current state: https://github.com/am11/runtime/blob/67046c0cf095c5d7888c797226fe736156b5e04c/eng/common/cross/toolchain.cmake#L227-L307).Together the clang build succeeds on Azure Linux cross environment same as rest of the platforms (freebsd, openbsd, haiku).
Note that the gcc build requires another fix upstream dotnet/dotnet#7206, which I recently broke while fixing sccsid which got broken after we started to use
--gc-sectionslinker option liberally.