Opened 20 months ago
Closed 17 months ago
#18173 closed enhancement (fixed)
llvm-17.0.1
Reported by: | Bruce Dubbs | Owned by: | Xi Ruoyao |
---|---|---|---|
Priority: | normal | Milestone: | 12.1 |
Component: | BOOK | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description (last modified by )
New major version.
Checklist:
Rebase clang default SSP patch if needed.- Not needed.
Build and test llvm-17.0.1 with clang and compiler-rt.- Done.
Upload tarballs for llvm-third-party and llvm-cmake to anduin if they are changed.Build and test Mesa-23.1.7 against system llvm-17, fix any breakages found.- Test suite passed and
LIBGL_ALWAYS_SOFTWARE=true glxgears
works fine.
- Test suite passed and
Build and test Rustc-1.72.0 against system llvm-17, fix any breakages found.- Done
Build and test Librsvg, SpiderMonkey, Firefox, and Thunderbird against Rustc-1.72.0+llvm-17, fix any breakages found.- Done
Change History (25)
comment:1 by , 20 months ago
Priority: | normal → low |
---|
comment:2 by , 20 months ago
Milestone: | 11.4 → 99-Waiting |
---|---|
Summary: | llvm-16.0.6 → llvm-16.0.6 (wait for next release) |
Let's wait for the next one since we don't use the affected components
comment:3 by , 19 months ago
Description: | modified (diff) |
---|---|
Summary: | llvm-16.0.6 (wait for next release) → llvm-17.0.0-rc1 (wait for 17.0.0) |
17.0.0-rc1 is released and they'll make a release candidate per week. Not sure if it can catch BLFS 12.0.
comment:4 by , 18 months ago
According to https://llvm.org/, the final release will occur on September 5th.
comment:5 by , 18 months ago
Milestone: | 99-Waiting → 12.1 |
---|
comment:7 by , 18 months ago
Milestone: | 12.1 → 99-Waiting |
---|
comment:8 by , 18 months ago
Summary: | llvm-17.0.0-rc1 (wait for 17.0.0) → llvm-17.0.0-rc4 (wait for 17.0.0) |
---|
comment:9 by , 17 months ago
Description: | modified (diff) |
---|---|
Milestone: | 99-Waiting → 12.1 |
Priority: | low → normal |
Summary: | llvm-17.0.0-rc4 (wait for 17.0.0) → llvm-17.0.0 |
Now 17.0.0.
comment:10 by , 17 months ago
Description: | modified (diff) |
---|---|
Summary: | llvm-17.0.0 → llvm-17.0.1 |
The first release is named 17.0.1 instead of .0 due to some incident.
comment:11 by , 17 months ago
Description: | modified (diff) |
---|
comment:12 by , 17 months ago
Description: | modified (diff) |
---|
comment:13 by , 17 months ago
Release notes:
- https://releases.llvm.org/17.0.1/docs/ReleaseNotes.html
- https://releases.llvm.org/17.0.1/tools/clang/docs/ReleaseNotes.html
compiler-rt release note not published yet.
comment:16 by , 17 months ago
With full power of an i9-13900K:
Testing Time: 141.29s Skipped : 337 Unsupported : 25066 Passed : 69321 Expectedly Failed: 131
DU (after test) = 26G (25670M)
comment:17 by , 17 months ago
Description: | modified (diff) |
---|
comment:18 by , 17 months ago
Description: | modified (diff) |
---|
comment:19 by , 17 months ago
Description: | modified (diff) |
---|
comment:20 by , 17 months ago
Rustc FTBFS:
warning: llvm-wrapper/PassWrapper.cpp: In function ‘LLVMRustResult LLVMRustOptimize(LLVMModuleRef, LLVMTargetMachineRef, LLVMRustPassBuilderOptLevel, LLVMRustOptStage, bool, bool, bool, bool, bool, bool, bool, bool, bool, LLVMRustSanitizerOptions*, const char*, const char*, bool, const char*, bool, const char*, bool, void*, LLVMRustSelfProfileBeforePassCallback, LLVMRustSelfProfileAfterPassCallback, const char*, size_t, const char*, size_t)’: warning: llvm-wrapper/PassWrapper.cpp:673:46: 错误:no matching function for call to ‘llvm::PGOOptions::PGOOptions(const char*&, const char [1], const char [1], llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>&, llvm::PGOOptions::PGOAction, llvm::PGOOptions::CSPGOAction, bool&)’ warning: 673 | DebugInfoForProfiling); warning: | ^ warning: In file included from /usr/include/llvm/Target/TargetMachine.h:22, warning: from llvm-wrapper/LLVMWrapper.h:24, warning: from llvm-wrapper/PassWrapper.cpp:6: warning: /usr/include/llvm/Support/PGOOptions.h:36:3: 附注:candidate: ‘llvm::PGOOptions::PGOOptions(const llvm::PGOOptions&)’ warning: 36 | PGOOptions(const PGOOptions &); warning: | ^~~~~~~~~~ warning: /usr/include/llvm/Support/PGOOptions.h:36:3: 附注: 备选需要 1 实参,但提供了 7 个 warning: /usr/include/llvm/Support/PGOOptions.h:30:3: 附注:candidate: ‘llvm::PGOOptions::PGOOptions(std::string, std::string, std::string, std::string, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, PGOAction, CSPGOAction, bool, bool)’ warning: 30 | PGOOptions(std::string ProfileFile, std::string CSProfileGenFile, warning: | ^~~~~~~~~~ warning: /usr/include/llvm/Support/PGOOptions.h:31:60: 附注: no known conversion for argument 4 from ‘llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>’ to ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} warning: 31 | std::string ProfileRemappingFile, std::string MemoryProfile, warning: | ~~~~~~~~~~~~^~~~~~~~~~~~~ warning: llvm-wrapper/PassWrapper.cpp:681:46: 错误:no matching function for call to ‘llvm::PGOOptions::PGOOptions(const char*&, const char [1], const char [1], llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>&, llvm::PGOOptions::PGOAction, llvm::PGOOptions::CSPGOAction, bool&)’ warning: 681 | DebugInfoForProfiling); warning: | ^ warning: /usr/include/llvm/Support/PGOOptions.h:36:3: 附注:candidate: ‘llvm::PGOOptions::PGOOptions(const llvm::PGOOptions&)’ warning: 36 | PGOOptions(const PGOOptions &); warning: | ^~~~~~~~~~ warning: /usr/include/llvm/Support/PGOOptions.h:36:3: 附注: 备选需要 1 实参,但提供了 7 个 warning: /usr/include/llvm/Support/PGOOptions.h:30:3: 附注:candidate: ‘llvm::PGOOptions::PGOOptions(std::string, std::string, std::string, std::string, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, PGOAction, CSPGOAction, bool, bool)’ warning: 30 | PGOOptions(std::string ProfileFile, std::string CSProfileGenFile, warning: | ^~~~~~~~~~ warning: /usr/include/llvm/Support/PGOOptions.h:31:60: 附注: no known conversion for argument 4 from ‘llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>’ to ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} warning: 31 | std::string ProfileRemappingFile, std::string MemoryProfile, warning: | ~~~~~~~~~~~~^~~~~~~~~~~~~ warning: llvm-wrapper/PassWrapper.cpp:688:46: 错误:no matching function for call to ‘llvm::PGOOptions::PGOOptions(const char*&, const char [1], const char [1], llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>&, llvm::PGOOptions::PGOAction, llvm::PGOOptions::CSPGOAction, bool&)’ warning: 688 | DebugInfoForProfiling); warning: | ^ warning: /usr/include/llvm/Support/PGOOptions.h:36:3: 附注:candidate: ‘llvm::PGOOptions::PGOOptions(const llvm::PGOOptions&)’ warning: 36 | PGOOptions(const PGOOptions &); warning: | ^~~~~~~~~~ warning: /usr/include/llvm/Support/PGOOptions.h:36:3: 附注: 备选需要 1 实参,但提供了 7 个 warning: /usr/include/llvm/Support/PGOOptions.h:30:3: 附注:candidate: ‘llvm::PGOOptions::PGOOptions(std::string, std::string, std::string, std::string, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, PGOAction, CSPGOAction, bool, bool)’ warning: 30 | PGOOptions(std::string ProfileFile, std::string CSProfileGenFile, warning: | ^~~~~~~~~~ warning: /usr/include/llvm/Support/PGOOptions.h:31:60: 附注: no known conversion for argument 4 from ‘llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>’ to ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} warning: 31 | std::string ProfileRemappingFile, std::string MemoryProfile, warning: | ~~~~~~~~~~~~^~~~~~~~~~~~~ warning: llvm-wrapper/PassWrapper.cpp:695:46: 错误:no matching function for call to ‘llvm::PGOOptions::PGOOptions(const char [1], const char [1], const char [1], llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>&, llvm::PGOOptions::PGOAction, llvm::PGOOptions::CSPGOAction, bool&)’ warning: 695 | DebugInfoForProfiling); warning: | ^ warning: /usr/include/llvm/Support/PGOOptions.h:36:3: 附注:candidate: ‘llvm::PGOOptions::PGOOptions(const llvm::PGOOptions&)’ warning: 36 | PGOOptions(const PGOOptions &); warning: | ^~~~~~~~~~ warning: /usr/include/llvm/Support/PGOOptions.h:36:3: 附注: 备选需要 1 实参,但提供了 7 个 warning: /usr/include/llvm/Support/PGOOptions.h:30:3: 附注:candidate: ‘llvm::PGOOptions::PGOOptions(std::string, std::string, std::string, std::string, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, PGOAction, CSPGOAction, bool, bool)’ warning: 30 | PGOOptions(std::string ProfileFile, std::string CSProfileGenFile, warning: | ^~~~~~~~~~ warning: /usr/include/llvm/Support/PGOOptions.h:31:60: 附注: no known conversion for argument 4 from ‘llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>’ to ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} warning: 31 | std::string ProfileRemappingFile, std::string MemoryProfile, warning: | ~~~~~~~~~~~~^~~~~~~~~~~~~ error: failed to run custom build command for `rustc_llvm v0.0.0 (/home/xry111/sources/12.1/rustc-1.72.0-src/compiler/rustc_llvm)`
comment:21 by , 17 months ago
Fix: sed 's/FS,/"", &/' -i ./compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
From https://github.com/rust-lang/rust/commit/71958da4854176c50a8b12470b956d5c7ed11817.
comment:22 by , 17 months ago
Another fix: sed '/LLVMContext.h/i#include "llvm/ADT/SmallString.h"' -i compiler/rustc_llvm/llvm-wrapper/SymbolWrapper.cpp
From https://github.com/rust-lang/rust/commit/6ddf9128b2b55f9def80af57f7353d2521527c6a.
comment:23 by , 17 months ago
There are some test failures in Rustc:
- tests/ui/abi/stack-protector.rs#no-ssp
- tests/ui/abi/stack-protector.rs#ssp
Resolved in https://github.com/rust-lang/rust/issues/109671.
- tests/ui/dyn-star/llvm-old-style-ptrs.rs
This is testing against removed feature in LLVM, and this test has been removed by Rustc developers in https://github.com/rust-lang/rust/pull/105545.
- tests/ui/issues/issue-21763.rs
This is happening even with LLVM 16: https://github.com/rust-lang/rust/pull/115869.
They are all testsuite-only issues so I'll just document them.
comment:24 by , 17 months ago
Description: | modified (diff) |
---|
comment:25 by , 17 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed:
- r12.0-233-g7bfadabeaa llvm: Fix SSP patch name
- r12.0-232-g5c01736c9b llvm: Align test instruction with build-in-cgroup
- r12.0-231-gd6b169d789 rust: Adapt for LLVM 17 and note additional test failures
- r12.0-230-g32ced1784a llvm: Update to LLVM-17.0.1
Release note at https://discourse.llvm.org/t/16-0-6-release/71344. The only change is:
But we don't use lld, nor WASM. So close this as wontfix?