LLVM 18.1.0-rc2 tagged

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:

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.

  1. The minimum supported version of zstd should be stated on page Getting Started with the LLVM System — LLVM 19.0.0git documentation
  2. 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.

1 Like

Please file an issue for this. Sounds like it’s worth fixing.

1 Like

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