Fix a crash with wasm64 in LLVM

This commit works around a crash in LLVM when the
`-generate-arange-section` argument is passed to LLVM. An LLVM bug is
opened for this and the code in question is also set to continue passing
this flag with LLVM 14, assuming that this is fixed by the time LLVM 14
comes out. Otherwise this should work around debuginfo crashes on LLVM
13.
This commit is contained in:
Alex Crichton 2021-11-01 14:16:25 -07:00
parent caa9e4a2d0
commit d208e1943b

View File

@ -75,7 +75,15 @@ fn llvm_arg_to_arg_name(full_arg: &str) -> &str {
if sess.print_llvm_passes() {
add("-debug-pass=Structure", false);
}
if !sess.opts.debugging_opts.no_generate_arange_section {
if !sess.opts.debugging_opts.no_generate_arange_section
// FIXME: An LLVM bug [1] means that if this option is enabled for
// wasm64 then LLVM will crash when generating debuginfo. Assuming
// that this gets fixed in LLVM 14 this condition here is a
// workaround to work with versions of LLVM 13 and prior.
//
// [1]: https://bugs.llvm.org/show_bug.cgi?id=52376
&& (sess.target.arch != "wasm64" || llvm_util::get_version() >= (14, 0, 0))
{
add("-generate-arange-section", false);
}