I’ve tagged the 18.1.0-rc2 release. Please test, upload binaries, and report issues to the issue tracker.
I’ve just uploaded Solaris/amd64 and Solaris/sparcv9 tarballs:
9ed525b1089552d7c2b25869376b93a65b1709d46181f4fd5bdcf2f078b1cfcf clang+llvm-18.1.0-rc2-amd64-pc-solaris2.11.tar.xz
46af30112c74414176bcf77bb65835c92a792b38fe0015ef466b9f4f515dab21 clang+llvm-18.1.0-rc2-sparcv9-sun-solaris2.11.tar.xz
Compared to rc1, there are no regressions. However, there’s still a massive number of regressions in LLVM :: Transforms/SampleProfile
and LLVM :: tools/llvm-profdata
which I haven’t been able to reproduce in regular 2-stage builds both on the release/18.x
branch and on main
. Still very weird.
Besides, Issues #64249 (Solaris/amd64) and #64247 (Linux/x86_64) are still unfixed from LLVM 17.0.x.
Windows binaries are ready. I didn’t run into any problems.
Hashes:
C:\src>certutil -hashfile llvm_package_18.1.0-rc2\build32\LLVM-18.1.0-rc2-win32.exe sha256
SHA256 hash of llvm_package_18.1.0-rc2\build32\LLVM-18.1.0-rc2-win32.exe:
5da390ae9643c110a27c594cdc8e6732559d88a74b2a53244eb5c5a74fd09afa
CertUtil: -hashfile command completed successfully.
C:\src>certutil -hashfile llvm_package_18.1.0-rc2\build64\LLVM-18.1.0-rc2-win64.exe sha256
SHA256 hash of llvm_package_18.1.0-rc2\build64\LLVM-18.1.0-rc2-win64.exe:
8514f05f8ac19d550665cb6d952768376c9c6e1abfdefc2365fbfa9a03566482
CertUtil: -hashfile command completed successfully.
These were built with llvm-project\llvm\utils\release\build_llvm_release.bat --x86 --x64 --version=18.1.0-rc2
using the script at llvmorg-18.1.0-rc2
I’ve finally also uploaded the Linux/sparc64 tarball. sha256sum
is
fab4b64ffc6f608d0e674cd539dee089fb2aad43737a8b892436188399cfb078 clang+llvm-18.1.0-rc2-sparcv9-unknown-linux-gnu.tar.xz
Unfortunately, this was a rougher ride than ever before on this target:
- Compared to LLVM 17.0.x, `test-release.sh ignores the parallelism specified for a large part of Phase3, completely exhausting memory and breaking the build several times until I noticed what’s going on: test-release.sh ninja install does builds in Phase 3.
- The build still needs the fix/workaround from [Driver] Support non-canonical triples with new runtime lib layout, but even a revised version of that patch doesn’t work any longer. So I forced the build to use the
sparcv9-unknown-linux-gnu
triple withtest-release.sh -triple $triple
, only to realise at the very end that this doesn’t do what I expected: test-release.sh -triple doesn’t set LLVM_HOST_TRIPLE.
In the end, I managed to complete the build. There are just a handful of new failures/regressions which I may or may not be able to analyze, time permitting.
Linux PowerPC testing completed and binary uploaded, no regression found.
451697e6cc4793cd8753175deabeef895864a0b8 clang+llvm-18.1.0-rc2-powerpc64le-linux-rhel-8.8.tar.xz
I have uploaded following releases:
➜ rc2 sha256sum clang+llvm-18.1.0-rc2-aarch64-linux-gnu.tar.xz
75b325ac3da851bf1001010dc78aba260f3cd198abb97f42bd20f77b2f9eebc0 clang+llvm-18.1.0-rc2-aarch64-linux-gnu.tar.xz
➜ rc2 sha256sum clang+llvm-18.1.0-rc2-armv7a-linux-gnueabihf.tar.gz
8cf0495b0f0b3244f7491fffa4dde2231bf7d78f119132d21d7936bd3029aa7d clang+llvm-18.1.0-rc2-armv7a-linux-gnueabihf.tar.gz
➜ rc2 sha256sum LLVM-18.1.0-rc2-woa64.exe
b684778122f7b28b8654144bddbb251c1c8d9c12ffe85c4692266acb664c7572 LLVM-18.1.0-rc2-woa64.exe
ninja check-all blocks on armv7a-linux-gnueabihf target due to libfuzzer tests build failure. I will file an issue for this. ninja check-llvm check-clang, check-lld and check-cxx run individually pass without failures.
Following tests failures found on aarch64-linux-gnu target:
Timed Out Tests (24):
libFuzzer-aarch64-default-Linux :: value-profile-set.test
libFuzzer-aarch64-libcxx-Linux :: value-profile-set.test
libFuzzer-aarch64-static-libcxx-Linux :: value-profile-set.test
lldb-api :: api/multithreaded/TestMultithreaded.py
lldb-api :: commands/expression/import-std-module/array/TestArrayFromStdModule.py
lldb-api :: commands/expression/import-std-module/basic/TestImportStdModule.py
lldb-api :: commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
lldb-api :: commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
lldb-api :: commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
lldb-api :: commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
lldb-api :: commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
lldb-api :: commands/expression/import-std-module/list/TestListFromStdModule.py
lldb-api :: commands/expression/import-std-module/non-module-type-separation/TestNonModuleTypeSeparation.py
lldb-api :: commands/expression/import-std-module/retry-with-std-module/TestRetryWithStdModule.py
lldb-api :: commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
lldb-api :: commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
lldb-api :: commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
lldb-api :: commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
lldb-api :: commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
lldb-api :: commands/process/attach/TestProcessAttach.py
lldb-api :: tools/lldb-server/TestLldbGdbServer.py
llvm-libc++-shared.cfg.in :: std/experimental/simd/simd.reference/reference_assignment.pass.cpp
llvm-libc++-shared.cfg.in :: std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
llvm-libc++-shared.cfg.in :: std/utilities/variant/variant.visit/visit_return_type.pass.cpp
********************
Failed Tests (24):
BOLT :: perf2bolt/perf_test.test
libomptarget :: aarch64-unknown-linux-gnu :: mapping/target_derefence_array_pointrs.cpp
libomptarget :: aarch64-unknown-linux-gnu-LTO :: mapping/target_derefence_array_pointrs.cpp
lldb-api :: commands/expression/context-object/TestContextObject.py
lldb-api :: commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
lldb-api :: commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
lldb-api :: commands/expression/import-std-module/sysroot/TestStdModuleSysroot.py
lldb-api :: commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
lldb-api :: functionalities/asan/TestMemoryHistory.py
lldb-api :: functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
lldb-api :: functionalities/data-formatter/data-formatter-categories/TestDataFormatterCategories.py
lldb-api :: functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py
lldb-api :: functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
lldb-api :: functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
lldb-api :: functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map/TestDataFormatterLibccUnorderedMap.py
lldb-api :: functionalities/data-formatter/data-formatter-synth/TestDataFormatterSynth.py
lldb-api :: functionalities/gdb_remote_client/TestGDBRemoteClient.py
lldb-api :: lang/c/global_variables/TestGlobalVariables.py
lldb-api :: lang/cpp/class_static/TestStaticVariables.py
lldb-api :: python_api/formatters/TestFormattersSBAPI.py
lldb-api :: python_api/value/TestValueAPI.py
lldb-shell :: SymbolFile/DWARF/x86/debug-types-dwo-cross-reference.cpp
Windows AArch64 shows no new regression since 17.0.6.
A module with python version 3.7 is used, but the minimum required python version is 3.6
, see A module with python version 3.7 is used, but the minimum required python version is 3.6 · Issue #81598 · llvm/llvm-project · GitHub
On a 16-core machine, although the parameter “-j3” is used, there are mostly 3 compilation processes during execution, but no less than 10 compilation processes can still be seen running. see The parallel compilation parameter "-j" is not applied to all modules · Issue #81813 · llvm/llvm-project · GitHub for more details.
Here is a summary of LLVM test results (failures) on x86_64 Linux:
LLVM | RHEL 8 (2.28) | Debian 11 (2.31) | SLES 15 (2.31) | Amazon Linux 2023 (2.34) | Debian 12 (2.36) |
---|---|---|---|---|---|
17.0.6 | 164 | 162 | 168 | 164 | 168 |
18.1.0 | 158 | 152 | 162 | 158 | 154 |
Build fails in Ubuntu 18.04 system with zstd development package installed.
- The minimum supported version of zstd should be stated on page Getting Started with the LLVM System — LLVM 19.0.0git documentation
- The build system should detect the version of zstd and disable zstd support when the version does not meet the requirements.
See Build fails in Ubuntu 18.04 system with zstd development package installed · Issue #82114 · llvm/llvm-project · GitHub for more details.
Please file an issue for this. Sounds like it’s worth fixing.
After disabling zstd, the test results on ubuntu 18.04 are as follows:
Testing Time: 4583.50s
Total Discovered Tests: 126834
Skipped : 78 (0.06%)
Unsupported : 5966 (4.70%)
Passed : 120324 (94.87%)
Expectedly Failed: 317 (0.25%)
Timed Out : 4 (0.00%)
Failed : 145 (0.11%)
The AIX 7.3 binaries have been uploaded using the updated test release script:
7ed7efb43c419ad0606baf81bfc795d065d66bde clang+llvm-18.1.0-rc2-powerpc64-ibm-aix-7.2.tar.xz
The test results are as following:
Total Discovered Tests: 93749
Skipped : 101 (0.11%)
Unsupported : 3573 (3.81%)
Passed : 89624 (95.60%)
Expectedly Failed: 220 (0.23%)
Failed : 231 (0.25%)
Commit 2cac95b seems to be responsible for the failures.
Can you file an issue for this?
Yes, I filed one here: [clang] 18.1.0-rc2: Test failures on AIX · Issue #82720 · llvm/llvm-project · GitHub