Rename is_like_osx
to is_like_darwin
This commit is contained in:
parent
7d49ae9731
commit
328846c6eb
24 changed files with 54 additions and 54 deletions
|
@ -1012,7 +1012,7 @@ fn link_natively(
|
|||
// On macOS the external `dsymutil` tool is used to create the packed
|
||||
// debug information. Note that this will read debug information from
|
||||
// the objects on the filesystem which we'll clean up later.
|
||||
SplitDebuginfo::Packed if sess.target.is_like_osx => {
|
||||
SplitDebuginfo::Packed if sess.target.is_like_darwin => {
|
||||
let prog = Command::new("dsymutil").arg(out_filename).output();
|
||||
match prog {
|
||||
Ok(prog) => {
|
||||
|
@ -1043,7 +1043,7 @@ fn link_natively(
|
|||
|
||||
let strip = sess.opts.cg.strip;
|
||||
|
||||
if sess.target.is_like_osx {
|
||||
if sess.target.is_like_darwin {
|
||||
let stripcmd = "rust-objcopy";
|
||||
match (strip, crate_type) {
|
||||
(Strip::Debuginfo, _) => {
|
||||
|
@ -1241,7 +1241,7 @@ fn add_sanitizer_libraries(
|
|||
// Everywhere else the runtimes are currently distributed as static
|
||||
// libraries which should be linked to executables only.
|
||||
if matches!(crate_type, CrateType::Dylib | CrateType::Cdylib | CrateType::ProcMacro)
|
||||
&& !(sess.target.is_like_osx || sess.target.is_like_msvc)
|
||||
&& !(sess.target.is_like_darwin || sess.target.is_like_msvc)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -1294,7 +1294,7 @@ fn link_sanitizer_runtime(
|
|||
let channel =
|
||||
option_env!("CFG_RELEASE_CHANNEL").map(|channel| format!("-{channel}")).unwrap_or_default();
|
||||
|
||||
if sess.target.is_like_osx {
|
||||
if sess.target.is_like_darwin {
|
||||
// On Apple platforms, the sanitizer is always built as a dylib, and
|
||||
// LLVM will link to `@rpath/*.dylib`, so we need to specify an
|
||||
// rpath to the library as well (the rpath should be absolute, see
|
||||
|
@ -2182,7 +2182,7 @@ fn add_rpath_args(
|
|||
let rpath_config = RPathConfig {
|
||||
libs: &*libs,
|
||||
out_filename: out_filename.to_path_buf(),
|
||||
is_like_osx: sess.target.is_like_osx,
|
||||
is_like_darwin: sess.target.is_like_darwin,
|
||||
linker_is_gnu: sess.target.linker_flavor.is_gnu(),
|
||||
};
|
||||
cmd.link_args(&rpath::get_rpath_linker_args(&rpath_config));
|
||||
|
@ -3044,7 +3044,7 @@ pub(crate) fn are_upstream_rust_objects_already_included(sess: &Session) -> bool
|
|||
/// - The deployment target.
|
||||
/// - The SDK version.
|
||||
fn add_apple_link_args(cmd: &mut dyn Linker, sess: &Session, flavor: LinkerFlavor) {
|
||||
if !sess.target.is_like_osx {
|
||||
if !sess.target.is_like_darwin {
|
||||
return;
|
||||
}
|
||||
let LinkerFlavor::Darwin(cc, _) = flavor else {
|
||||
|
|
|
@ -373,7 +373,7 @@ impl<'a> GccLinker<'a> {
|
|||
// * On OSX they have their own linker, not binutils'
|
||||
// * For WebAssembly the only functional linker is LLD, which doesn't
|
||||
// support hint flags
|
||||
!self.sess.target.is_like_osx && !self.sess.target.is_like_wasm
|
||||
!self.sess.target.is_like_darwin && !self.sess.target.is_like_wasm
|
||||
}
|
||||
|
||||
// Some platforms take hints about whether a library is static or dynamic.
|
||||
|
@ -425,7 +425,7 @@ impl<'a> GccLinker<'a> {
|
|||
|
||||
fn build_dylib(&mut self, crate_type: CrateType, out_filename: &Path) {
|
||||
// On mac we need to tell the linker to let this library be rpathed
|
||||
if self.sess.target.is_like_osx {
|
||||
if self.sess.target.is_like_darwin {
|
||||
if self.is_cc() {
|
||||
// `-dynamiclib` makes `cc` pass `-dylib` to the linker.
|
||||
self.cc_arg("-dynamiclib");
|
||||
|
@ -470,7 +470,7 @@ impl<'a> GccLinker<'a> {
|
|||
|
||||
fn with_as_needed(&mut self, as_needed: bool, f: impl FnOnce(&mut Self)) {
|
||||
if !as_needed {
|
||||
if self.sess.target.is_like_osx {
|
||||
if self.sess.target.is_like_darwin {
|
||||
// FIXME(81490): ld64 doesn't support these flags but macOS 11
|
||||
// has -needed-l{} / -needed_library {}
|
||||
// but we have no way to detect that here.
|
||||
|
@ -485,7 +485,7 @@ impl<'a> GccLinker<'a> {
|
|||
f(self);
|
||||
|
||||
if !as_needed {
|
||||
if self.sess.target.is_like_osx {
|
||||
if self.sess.target.is_like_darwin {
|
||||
// See above FIXME comment
|
||||
} else if self.is_gnu && !self.sess.target.is_like_windows {
|
||||
self.link_arg("--as-needed");
|
||||
|
@ -618,7 +618,7 @@ impl<'a> Linker for GccLinker<'a> {
|
|||
let colon = if verbatim && self.is_gnu { ":" } else { "" };
|
||||
if !whole_archive {
|
||||
self.link_or_cc_arg(format!("-l{colon}{name}"));
|
||||
} else if self.sess.target.is_like_osx {
|
||||
} else if self.sess.target.is_like_darwin {
|
||||
// -force_load is the macOS equivalent of --whole-archive, but it
|
||||
// involves passing the full path to the library to link.
|
||||
self.link_arg("-force_load");
|
||||
|
@ -634,7 +634,7 @@ impl<'a> Linker for GccLinker<'a> {
|
|||
self.hint_static();
|
||||
if !whole_archive {
|
||||
self.link_or_cc_arg(path);
|
||||
} else if self.sess.target.is_like_osx {
|
||||
} else if self.sess.target.is_like_darwin {
|
||||
self.link_arg("-force_load").link_arg(path);
|
||||
} else {
|
||||
self.link_arg("--whole-archive").link_arg(path).link_arg("--no-whole-archive");
|
||||
|
@ -669,7 +669,7 @@ impl<'a> Linker for GccLinker<'a> {
|
|||
// -dead_strip can't be part of the pre_link_args because it's also used
|
||||
// for partial linking when using multiple codegen units (-r). So we
|
||||
// insert it here.
|
||||
if self.sess.target.is_like_osx {
|
||||
if self.sess.target.is_like_darwin {
|
||||
self.link_arg("-dead_strip");
|
||||
|
||||
// If we're building a dylib, we don't use --gc-sections because LLVM
|
||||
|
@ -727,7 +727,7 @@ impl<'a> Linker for GccLinker<'a> {
|
|||
|
||||
fn debuginfo(&mut self, strip: Strip, _: &[PathBuf]) {
|
||||
// MacOS linker doesn't support stripping symbols directly anymore.
|
||||
if self.sess.target.is_like_osx {
|
||||
if self.sess.target.is_like_darwin {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -794,7 +794,7 @@ impl<'a> Linker for GccLinker<'a> {
|
|||
|
||||
debug!("EXPORTED SYMBOLS:");
|
||||
|
||||
if self.sess.target.is_like_osx {
|
||||
if self.sess.target.is_like_darwin {
|
||||
// Write a plain, newline-separated list of symbols
|
||||
let res: io::Result<()> = try {
|
||||
let mut f = File::create_buffered(&path)?;
|
||||
|
@ -840,7 +840,7 @@ impl<'a> Linker for GccLinker<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
if self.sess.target.is_like_osx {
|
||||
if self.sess.target.is_like_darwin {
|
||||
self.link_arg("-exported_symbols_list").link_arg(path);
|
||||
} else if self.sess.target.is_like_solaris {
|
||||
self.link_arg("-M").link_arg(path);
|
||||
|
|
|
@ -214,7 +214,7 @@ pub(crate) fn create_object_file(sess: &Session) -> Option<write::Object<'static
|
|||
|
||||
let mut file = write::Object::new(binary_format, architecture, endianness);
|
||||
file.set_sub_architecture(sub_architecture);
|
||||
if sess.target.is_like_osx {
|
||||
if sess.target.is_like_darwin {
|
||||
if macho_is_arm64e(&sess.target) {
|
||||
file.set_macho_cpu_subtype(object::macho::CPU_SUBTYPE_ARM64E);
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ pub mod write;
|
|||
///
|
||||
/// Certain optimizations also depend on the deployment target.
|
||||
pub fn versioned_llvm_target(sess: &Session) -> Cow<'_, str> {
|
||||
if sess.target.is_like_osx {
|
||||
if sess.target.is_like_darwin {
|
||||
apple::add_version_to_llvm_target(&sess.target.llvm_target, apple::deployment_target(sess))
|
||||
.into()
|
||||
} else {
|
||||
|
|
|
@ -9,7 +9,7 @@ use tracing::debug;
|
|||
pub(super) struct RPathConfig<'a> {
|
||||
pub libs: &'a [&'a Path],
|
||||
pub out_filename: PathBuf,
|
||||
pub is_like_osx: bool,
|
||||
pub is_like_darwin: bool,
|
||||
pub linker_is_gnu: bool,
|
||||
}
|
||||
|
||||
|
@ -63,7 +63,7 @@ fn get_rpaths_relative_to_output(config: &RPathConfig<'_>) -> Vec<OsString> {
|
|||
|
||||
fn get_rpath_relative_to_output(config: &RPathConfig<'_>, lib: &Path) -> OsString {
|
||||
// Mac doesn't appear to support $ORIGIN
|
||||
let prefix = if config.is_like_osx { "@loader_path" } else { "$ORIGIN" };
|
||||
let prefix = if config.is_like_darwin { "@loader_path" } else { "$ORIGIN" };
|
||||
|
||||
// Strip filenames
|
||||
let lib = lib.parent().unwrap();
|
||||
|
|
|
@ -28,7 +28,7 @@ fn test_rpath_relative() {
|
|||
if cfg!(target_os = "macos") {
|
||||
let config = &mut RPathConfig {
|
||||
libs: &[],
|
||||
is_like_osx: true,
|
||||
is_like_darwin: true,
|
||||
linker_is_gnu: false,
|
||||
out_filename: PathBuf::from("bin/rustc"),
|
||||
};
|
||||
|
@ -38,7 +38,7 @@ fn test_rpath_relative() {
|
|||
let config = &mut RPathConfig {
|
||||
libs: &[],
|
||||
out_filename: PathBuf::from("bin/rustc"),
|
||||
is_like_osx: false,
|
||||
is_like_darwin: false,
|
||||
linker_is_gnu: true,
|
||||
};
|
||||
let res = get_rpath_relative_to_output(config, Path::new("lib/libstd.so"));
|
||||
|
@ -51,7 +51,7 @@ fn test_rpath_relative_issue_119571() {
|
|||
let config = &mut RPathConfig {
|
||||
libs: &[],
|
||||
out_filename: PathBuf::from("rustc"),
|
||||
is_like_osx: false,
|
||||
is_like_darwin: false,
|
||||
linker_is_gnu: true,
|
||||
};
|
||||
// Should not panic when out_filename only contains filename.
|
||||
|
|
|
@ -352,7 +352,7 @@ pub struct CodegenContext<B: WriteBackendMethods> {
|
|||
pub is_pe_coff: bool,
|
||||
pub target_can_use_split_dwarf: bool,
|
||||
pub target_arch: String,
|
||||
pub target_is_like_osx: bool,
|
||||
pub target_is_like_darwin: bool,
|
||||
pub target_is_like_aix: bool,
|
||||
pub split_debuginfo: rustc_target::spec::SplitDebuginfo,
|
||||
pub split_dwarf_kind: rustc_session::config::SplitDwarfKind,
|
||||
|
@ -1216,7 +1216,7 @@ fn start_executing_work<B: ExtraBackendMethods>(
|
|||
is_pe_coff: tcx.sess.target.is_like_windows,
|
||||
target_can_use_split_dwarf: tcx.sess.target_can_use_split_dwarf(),
|
||||
target_arch: tcx.sess.target.arch.to_string(),
|
||||
target_is_like_osx: tcx.sess.target.is_like_osx,
|
||||
target_is_like_darwin: tcx.sess.target.is_like_darwin,
|
||||
target_is_like_aix: tcx.sess.target.is_like_aix,
|
||||
split_debuginfo: tcx.sess.split_debuginfo(),
|
||||
split_dwarf_kind: tcx.sess.opts.unstable_opts.split_dwarf_kind,
|
||||
|
|
|
@ -213,7 +213,7 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
|
|||
// somewhat, and is subject to change in the future (which
|
||||
// is a good thing, because this would ideally be a bit
|
||||
// more firmed up).
|
||||
let is_like_elf = !(tcx.sess.target.is_like_osx
|
||||
let is_like_elf = !(tcx.sess.target.is_like_darwin
|
||||
|| tcx.sess.target.is_like_windows
|
||||
|| tcx.sess.target.is_like_wasm);
|
||||
codegen_fn_attrs.flags |= if is_like_elf {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue