diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2021-01-27 21:27:46 +0100 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-01-28 21:07:34 +0100 |
| commit | e066deae088dfeef66c414c181925b28b9a25511 (patch) | |
| tree | 549bb88c51493bff09517829ae465fce2694b2ab /src/bootstrap | |
| parent | 7fba12bb1d3877870758a7a53e2fe766bb19bd60 (diff) | |
Update Python and Clang on x86 dist images
LLVM 12 no longer builds with Python 2, so install Python 3 in preparatin. However, Clang 10 does not build with Python 3, so we need update to Clang 11 as well, which supports both. Unfortunately, doing so results in errors while linking the libLLVM.so into other binaries: > __morestack: invalid needed version 2 This is fixed by using LLD instead. Possibly this is due to a binutils linker bug, but updating to the latest binutils version does not fix it.
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/native.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs index 609ac8b3669..9c543d49253 100644 --- a/src/bootstrap/native.rs +++ b/src/bootstrap/native.rs @@ -556,6 +556,9 @@ impl Step for Lld { t!(fs::create_dir_all(&out_dir)); let mut cfg = cmake::Config::new(builder.src.join("src/llvm-project/lld")); + if let Some(ref linker) = builder.config.llvm_use_linker { + cfg.define("LLVM_USE_LINKER", linker); + } configure_cmake(builder, target, &mut cfg, true); // This is an awful, awful hack. Discovered when we migrated to using |
