mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-26 13:01:27 +03:00
Revert "Link LLVM dynamically on aarch64-apple-darwin"
This reverts commit e7c268f883.
This commit is contained in:
@@ -402,16 +402,6 @@ fn main() {
|
||||
continue;
|
||||
}
|
||||
|
||||
// On apple-darwin, llvm-config reports the versioned shared library name such as LLVM-22-..., but
|
||||
// the distributed toolchain ships libLLVM.dylib. Normalize the link name here.
|
||||
let name =
|
||||
if target.contains("apple-darwin") && llvm_kind == "dylib" && name.starts_with("LLVM-")
|
||||
{
|
||||
"LLVM"
|
||||
} else {
|
||||
name
|
||||
};
|
||||
|
||||
let kind = if name.starts_with("LLVM") {
|
||||
llvm_kind
|
||||
} else if is_static {
|
||||
|
||||
@@ -62,15 +62,12 @@ pub fn walk_native_lib_search_dirs<R>(
|
||||
f(&sess.target_tlib_path.dir.join("self-contained"), false)?;
|
||||
}
|
||||
|
||||
let has_shared_llvm_apple_darwin =
|
||||
sess.target.is_like_darwin && sess.target_tlib_path.dir.join("libLLVM.dylib").exists();
|
||||
|
||||
// Toolchains for some targets may ship `libunwind.a`, but place it into the main sysroot
|
||||
// library directory instead of the self-contained directories.
|
||||
// Sanitizer libraries have the same issue and are also linked by name on Apple targets.
|
||||
// The targets here should be in sync with `copy_third_party_objects` in bootstrap.
|
||||
// On Apple targets, shared LLVM is linked by name, so when `libLLVM.dylib` is
|
||||
// present in the target libdir, add that directory to the linker search path.
|
||||
// Finally there is shared LLVM library, which unlike compiler libraries, is linked by the name,
|
||||
// therefore requiring the search path for the linker.
|
||||
// FIXME: implement `-Clink-self-contained=+/-unwind,+/-sanitizers`, move the shipped libunwind
|
||||
// and sanitizers to self-contained directory, and stop adding this search path.
|
||||
// FIXME: On AIX this also has the side-effect of making the list of library search paths
|
||||
@@ -80,8 +77,7 @@ pub fn walk_native_lib_search_dirs<R>(
|
||||
|| sess.target.os == Os::Linux
|
||||
|| sess.target.os == Os::Fuchsia
|
||||
|| sess.target.is_like_aix
|
||||
|| sess.target.is_like_darwin
|
||||
&& (!sess.sanitizers().is_empty() || has_shared_llvm_apple_darwin)
|
||||
|| sess.target.is_like_darwin && !sess.sanitizers().is_empty()
|
||||
|| sess.target.os == Os::Windows
|
||||
&& sess.target.env == Env::Gnu
|
||||
&& sess.target.cfg_abi == CfgAbi::Llvm
|
||||
|
||||
@@ -518,7 +518,6 @@ auto:
|
||||
--enable-sanitizers
|
||||
--enable-profiler
|
||||
--set rust.jemalloc
|
||||
--set llvm.link-shared=true
|
||||
--set rust.lto=thin
|
||||
--set rust.codegen-units=1
|
||||
# Aarch64 tooling only needs to support macOS 11.0 and up as nothing else
|
||||
|
||||
Reference in New Issue
Block a user