ci: use DWARF-4 for Valgrind jobs#24735
Conversation
|
No objection, but it would be good for either clang or valgrind to fix this, so that we can revert the workaround and that devs are able to use clang-14 out of the box. |
|
Looks like there is at least discussion on the Valgrind mailing list [Valgrind-users] does Valgrind-3.19.0.GIT support Clang14 dwarf 5?. I haven't found anything on the LLVM side yet. |
|
I don't know how big of a change it is, but if it's anything like going from DWARF 2 to 3 it's not going to be a trivial change in valgrind. I suspect it's going to take a while to support it. Could add a comment to mention why this override is needed and what would be the condition to remove it. Otherwise code review ACK 5691a8f0ec8d0bfc470990dfaed9d230346a116e |
There was a problem hiding this comment.
Could leave CXXFLAGS untouched to minimize the effective changes?
| export BITCOIN_CONFIG="--enable-fuzz --with-sanitizers=fuzzer CC=clang CXX=clang++ CXXFLAGS='-fdebug-default-version=4'" | |
| # Temporarily pin dwarf 4, until valgrind can understand clang's dwarf 5 | |
| export BITCOIN_CONFIG="--enable-fuzz --with-sanitizers=fuzzer CC=clang CXX='clang++ -fdebug-default-version=4'" |
5691a8f to
b1ac3aa
Compare
Added.
Done. Used |
b1ac3aa to
951ddd3
Compare
|
This actually only seems to work when using |
clang-14 defaults to using DWARF-5, which breaks vlagrinds (3.18) ability to parse debug info. Valgrind claims to support DWARF-5 from version 3.18 onwards, but maybe that only works when building with GCC. Explicitly use DWARF-4 for now. Note that from 11.0 GCC also defaults to using DWARF-5. https://releases.llvm.org/14.0.0/tools/clang/docs/ReleaseNotes.html#dwarf-support-in-clang https://www.gnu.org/software/gcc/gcc-11/changes.html https://valgrind.org/docs/manual/dist.news.html
951ddd3 to
15893a0
Compare
clang-14 defaults to using DWARF-5, which breaks vlagrinds (3.18) ability
to parse debug info. Valgrind claims to support DWARF-5 from version
3.18 onwards, but maybe that only works when compiling with GCC.
Explicitly use DWARF-4 for now. Note that from 11.0 GCC also defaults to
using DWARF-5.
Also remove a Boost related suppression.