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:
parent
caa9e4a2d0
commit
d208e1943b
@ -75,7 +75,15 @@ fn llvm_arg_to_arg_name(full_arg: &str) -> &str {
|
|||||||
if sess.print_llvm_passes() {
|
if sess.print_llvm_passes() {
|
||||||
add("-debug-pass=Structure", false);
|
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);
|
add("-generate-arange-section", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user