rust/compiler
bors 757a65bfdf Auto merge of #88250 - rusticstuff:macos-lld, r=nagisa
Make `-Z gcc-ld=lld` work for Apple targets

`-Z gcc-ld=lld` was introduced in #85961. It does not work on Macos because lld needs be either named `ld64` or passed `-flavor darwin` as the first two arguments in order to select the Mach-O flavor. Rust invokes cc (=clang) on Macos for linking which calls `ld` as linker binary and not `ld64`, so just creating an `ld64` binary and modifying the search path with `-B` does not work.

In order to solve this patch does:
* Set the `lld_flavor` for all Apple-derived targets to `LldFlavor::Ld64`. As far as I can see this actually works towards fixing `-Xlinker=rust-lld` as all those targets use the Mach-O object format.
* Copy/hardlink rust-lld to the gcc-ld subdirectory as ld64 next to ld.
* If `-Z gcc-ld=lld` is used and the target lld flavor is Ld64 add `-fuse-ld=/path/to/ld64` to the linker invocation.

Fixes #86945.
2021-08-29 04:51:14 +00:00
..
rustc rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_apfloat rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_arena Auto merge of #85690 - bstrie:m2_arena, r=jackh726,nagisa 2021-08-28 20:58:12 +00:00
rustc_ast Introduce ~const 2021-08-27 05:07:37 +00:00
rustc_ast_lowering Treat macros as HIR items 2021-08-28 00:16:34 -07:00
rustc_ast_passes Fix visiting twice 2021-08-27 05:07:37 +00:00
rustc_ast_pretty Treat macros as HIR items 2021-08-28 00:16:34 -07:00
rustc_attr Remove Session.used_attrs and move logic to CheckAttrVisitor 2021-08-21 13:27:27 -05:00
rustc_builtin_macros Move named_asm_labels to a HIR lint 2021-08-24 08:23:58 -04:00
rustc_codegen_cranelift make unevaluated const substs optional 2021-08-26 11:00:30 +02:00
rustc_codegen_llvm Auto merge of #88388 - ldm0:outliner, r=nikic 2021-08-28 13:10:26 +00:00
rustc_codegen_ssa Auto merge of #88250 - rusticstuff:macos-lld, r=nagisa 2021-08-29 04:51:14 +00:00
rustc_data_structures Also fix “a OwningRef 2021-08-24 02:28:38 +02:00
rustc_driver Reduce verbosity of RUSTC_LOG 2021-08-09 21:39:39 -04:00
rustc_error_codes Detect incorrect number of lang item generics 2021-08-23 10:15:25 -04:00
rustc_errors Use if-let guards in the codebase 2021-08-25 20:24:35 +02:00
rustc_expand Various pattern cleanups 2021-08-25 20:24:39 +02:00
rustc_feature Introduce ~const 2021-08-27 05:07:37 +00:00
rustc_fs_util rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_graphviz rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_hir Remove obsolete MacroDef variant of OwnerNode 2021-08-28 00:24:30 -07:00
rustc_hir_pretty Remove obsolete MacroDef variant of OwnerNode 2021-08-28 00:24:30 -07:00
rustc_incremental Remove Session.used_attrs and move logic to CheckAttrVisitor 2021-08-21 13:27:27 -05:00
rustc_index rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_infer review 2021-08-26 11:14:31 +02:00
rustc_interface don't generate partially-undef consts 2021-08-25 17:49:28 -04:00
rustc_lexer Fix more “a”/“an” typos 2021-08-22 17:27:18 +02:00
rustc_lint Treat macros as HIR items 2021-08-28 00:16:34 -07:00
rustc_lint_defs Tracking issue for UNSUPPORTED_CALLING_CONVENTIONS 2021-08-27 20:47:00 +03:00
rustc_llvm RustWrapper: adapt to LLVM change 0f45c16f2caa 2021-08-26 10:40:27 -04:00
rustc_macros Rollup merge of #86123 - Aaron1011:query-span, r=cjgillot 2021-08-19 19:30:04 +02:00
rustc_metadata Treat macros as HIR items 2021-08-28 00:16:34 -07:00
rustc_middle Remove obsolete MacroDef variant of OwnerNode 2021-08-28 00:24:30 -07:00
rustc_mir Treat macros as HIR items 2021-08-28 00:16:34 -07:00
rustc_mir_build Auto merge of #88088 - nbdd0121:const2, r=nagisa 2021-08-29 02:21:07 +00:00
rustc_parse Introduce ~const 2021-08-27 05:07:37 +00:00
rustc_parse_format rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_passes Remove obsolete MacroDef variant of OwnerNode 2021-08-28 00:24:30 -07:00
rustc_plugin_impl Remove Session.used_attrs and move logic to CheckAttrVisitor 2021-08-21 13:27:27 -05:00
rustc_privacy Treat macros as HIR items 2021-08-28 00:16:34 -07:00
rustc_query_impl shrink ty::PredicateKind again 2021-08-26 11:00:30 +02:00
rustc_query_system Prevent double panic when handling incremental fingerprint mismatch 2021-08-12 15:11:39 -05:00
rustc_resolve Treat macros as HIR items 2021-08-28 00:16:34 -07:00
rustc_save_analysis Treat macros as HIR items 2021-08-28 00:16:34 -07:00
rustc_serialize Fix more “a”/“an” typos 2021-08-22 16:35:29 +02:00
rustc_session don't generate partially-undef consts 2021-08-25 17:49:28 -04:00
rustc_span Use if-let guards in the codebase 2021-08-25 20:24:35 +02:00
rustc_symbol_mangling Auto merge of #87280 - lcnr:lazy-anon-const-default-substs, r=nikomatsakis 2021-08-26 22:26:23 +00:00
rustc_target Auto merge of #88250 - rusticstuff:macos-lld, r=nagisa 2021-08-29 04:51:14 +00:00
rustc_trait_selection fmt 2021-08-27 08:09:00 +00:00
rustc_traits Auto merge of #88371 - Manishearth:rollup-pkkjsme, r=Manishearth 2021-08-27 01:07:17 +00:00
rustc_ty_utils Auto merge of #88371 - Manishearth:rollup-pkkjsme, r=Manishearth 2021-08-27 01:07:17 +00:00
rustc_type_ir update TypeFlags to deal with missing ct substs 2021-08-26 11:00:30 +02:00
rustc_typeck Auto merge of #88390 - sexxi-goose:missing-case, r=nikomatsakis 2021-08-28 15:36:38 +00:00