There are currently no open release blockers, which means if nothing
new comes up, the final release could ship soon and this is what it
would look like (except for more release notes, which are still very
welcome).
Please file bug reports for any issues you find, and mark them
blocking https://llvm.org/PR42474
Release testers, please run the test script, share your results and
upload binaries.
grep fail *.log
deferred_errors.log:[Release+Asserts Phase3] check-all failed
testing.9.0.0-rc3.log:-- Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES – failed to compile
testing.9.0.0-rc3.log:-- Performing Test HAVE_GNU_POSIX_REGEX – failed to compile
testing.9.0.0-rc3.log:[Release+Asserts Phase3] check-all failed
testing.9.0.0-rc3.log:-- Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES – failed to compile
testing.9.0.0-rc3.log:-- Performing Test HAVE_GNU_POSIX_REGEX – failed to compile
This pair of fails occurred more frequently in my logs from the rc2 run. They have been reduce by using -DRUN_HAVE_GNU_POSIX_REGEX=0 -DRUN_HAVE_THREAD_SAFETY_ATTRIBUTES=0. The other fail not of these two types was removed using -DLLVM_ENABLE_LIBPFM=OFF.
9.0.0-rc3 was tagged today from the release_90 branch at r370450. In
the Git monorepo, it's tagged as llvmorg-9.0.0-rc3.
I experienced an issue with lto. Initially not clang related but might be.
For a few months, I have been building packages using ThinLTO (
-DLLVM_ENABLE_LTO="Thin" ) and stage2. gcc for stage1.
Debian unstable and the next Ubuntu updated to gcc-9. This version is stricter
on -flto (only accept understood values ([1]).
It caused the build to fail on polly with "No ffs implementation found" (which is just
cmake failing with -flto=thin) [2]
This clearly makes sense.
So, I tried to use -DBOOTSTRAP_LLVM_ENABLE_LTO="Thin" to have only -flto=Thin used in the stage2.
However, this caused two issues:
* Some packages became much bigger (21M => 141M)
* Linking failed for some packages with:
/usr/bin/ld: /usr/lib/llvm-9/lib/libclangCodeGen.a: error adding symbols: archive has no index; run ranlib to
one [3]
I tried to play with clang cmake file [4] but I haven't been able to fix it.
For now, I am forcing the usage of gcc-8 but this won't scale.
Anyway, probably not a blocker for the 9 release but I prefer to report this in case other are getting this issue.
I've never used our cmake files to bootstrap directly. Does it work if
you do the steps manually: first invoke cmake and do a regular build
with gcc 9, then invoke cmake separately for the second build, setting
the flags to use the clang and lld from the first step, with thinlto?