-
Notifications
You must be signed in to change notification settings - Fork 60
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
Update coredistools #372
Comments
@sbomer I'm planning to update the coredistools build to cross-build using CBL-Mariner images (instead of Ubuntu), and also cross-build for linux-x64. These will all build on a ubuntu-latest host. Is that appropriate? Or should we keep building as we did before, with older ubuntu18.04 cross-build arm/arm64 containers, and native linux-x64? |
Looks like switching to CBL-Mariner will be more work. The images are missing:
|
I don't have full context on coredistools, but I have a few thoughts:
|
Also, the plan is to update the mariner images from LLVM 12 to LLVM 16. Once that change is made, you might be able to simplify the coredistools build by not downloading the llvm release. ( |
@sbomer It looks like Mariner doesn't have
|
And/or, why doesn't clang-12 in the Mariner container use lld by default? |
If I set
I instead get the error:
|
You could also try I believe the default for clang to use To debug that failure I would pass
|
It seems like our current coredistools do not support |
I haven't tried it in a while; I was waiting for the Mariner images to mature and update to a newer LLVM (with C++17 support). I believe those Mariner updates have happened (dotnet/runtime#87190?). |
Need to undo dotnet/runtime#91668 |
1. Update from LLVM 13.0.1 to 17.0.6 2. Change Linux/Mac build to build llvm-tblgen from source instead of downloading a pre-built version. LLVM doesn't always publish all architecture versions of this tool. 3. Change Linux to build with CBL-Mariner container. TO DO: - [x] Mac: properly download built llvm-tblgen artifact and put it on the path so the build-coredistools step can find it. - [x] Linux: fix the CBL-Mariner build. Mariner currently has clang12 and is expected to update to clang16 soon. Will that fix problems? Or, back off to ubuntu again, and stop doing cross-compiler builds for linux-x64 (like we do for Mariner). Fixes #372
The CI build of coredistools is currently broken, due to the addition of Loongarch64 when the CI was disabled (#367), and other bit rot.
The CI is https://dev.azure.com/dnceng-public/public/_build?definitionId=253&_a=summary.
Also, the build is based on LLVM 13.0.1 (#351). Try to update to 16.0.1 to address failure to disassemble
vextracti64x4
instruction: dotnet/runtime#84967.[Update: the
vextracti64x4
problem was a bug in JIT encoding, now resolved.]Update cross-build containers to use CBL-Mariner, and cross-build linux-x64, to match dotnet/runtime (dotnet/runtime#84148, dotnet/runtime#84863)
Building using LLVM 16.0.1 requires changing the build to build tblgen on Linux and Mac (like we do for Windows) since the LLVM releases don't contain all pre-built images we currently use to avoid building tblgen: https://github.com/llvm/llvm-project/releases. It looks like llvm-tblgen does exist in the CBL-Mariner images, but it's probably best to build it from source like Windows/Mac to ensure it is from the right build/source tree.
The text was updated successfully, but these errors were encountered: