Summary: | Clang assertion failed in 14-CURRENT compiling old versions of Wine | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Damjan Jovanovic <damjan.jov> | ||||
Component: | bin | Assignee: | freebsd-bugs (Nobody) <bugs> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Some People | CC: | dim, emaste | ||||
Priority: | --- | Flags: | dim:
mfc-stable13+
dim: mfc-stable12+ |
||||
Version: | CURRENT | ||||||
Hardware: | amd64 | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Damjan Jovanovic
2022-03-17 02:58:43 UTC
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=1b3bef43e3cb7fb0ab49b813839915514c1134cc commit 1b3bef43e3cb7fb0ab49b813839915514c1134cc Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2022-03-19 19:59:04 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2022-03-19 19:59:04 +0000 Apply llvm fix for assertion compiling certain versions of Wine Merge commit b9ca73e1a8fd from llvm git (by Stephen Tozer): [DebugInfo] Correctly handle arrays with 0-width elements in GEP salvaging Fixes an issue where GEP salvaging did not properly account for GEP instructions which stepped over array elements of width 0 (effectively a no-op). This unnecessarily produced long expressions by appending `... + (x * 0)` and potentially extended the number of SSA values used in the dbg.value. This also erroneously triggered an assert in the salvage function that the element width would be strictly positive. These issues are resolved by simply ignoring these useless operands. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D111809 PR: 262608 Reported by: Damjan Jovanovic <damjan.jov@gmail.com> MFC after: 3 days contrib/llvm-project/llvm/lib/IR/Operator.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=420907a4387f4337e481797e96093c6bdee2fd2c commit 420907a4387f4337e481797e96093c6bdee2fd2c Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2022-03-19 19:59:04 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2022-03-23 19:57:46 +0000 Apply llvm fix for assertion compiling certain versions of Wine Merge commit b9ca73e1a8fd from llvm git (by Stephen Tozer): [DebugInfo] Correctly handle arrays with 0-width elements in GEP salvaging Fixes an issue where GEP salvaging did not properly account for GEP instructions which stepped over array elements of width 0 (effectively a no-op). This unnecessarily produced long expressions by appending `... + (x * 0)` and potentially extended the number of SSA values used in the dbg.value. This also erroneously triggered an assert in the salvage function that the element width would be strictly positive. These issues are resolved by simply ignoring these useless operands. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D111809 PR: 262608 Reported by: Damjan Jovanovic <damjan.jov@gmail.com> MFC after: 3 days (cherry picked from commit 1b3bef43e3cb7fb0ab49b813839915514c1134cc) contrib/llvm-project/llvm/lib/IR/Operator.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) A commit in branch stable/12 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=c4cacdd447bae53964f439cb94acd9f5cc6a4c14 commit c4cacdd447bae53964f439cb94acd9f5cc6a4c14 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2022-03-19 19:59:04 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2022-03-23 19:57:26 +0000 Apply llvm fix for assertion compiling certain versions of Wine Merge commit b9ca73e1a8fd from llvm git (by Stephen Tozer): [DebugInfo] Correctly handle arrays with 0-width elements in GEP salvaging Fixes an issue where GEP salvaging did not properly account for GEP instructions which stepped over array elements of width 0 (effectively a no-op). This unnecessarily produced long expressions by appending `... + (x * 0)` and potentially extended the number of SSA values used in the dbg.value. This also erroneously triggered an assert in the salvage function that the element width would be strictly positive. These issues are resolved by simply ignoring these useless operands. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D111809 PR: 262608 Reported by: Damjan Jovanovic <damjan.jov@gmail.com> MFC after: 3 days (cherry picked from commit 1b3bef43e3cb7fb0ab49b813839915514c1134cc) contrib/llvm-project/llvm/lib/IR/Operator.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) Thank you Dimitry, you fixed this so quickly! |