rust/compiler/rustc_target/src/spec
bors 31ffe48723 Auto merge of #116035 - lqd:mcp-510-target-specs, r=petrochenkov
Allow target specs to use an LLD flavor, and self-contained linking components

This PR allows:
- target specs to use an LLD linker-flavor: this is needed to switch `x86_64-unknown-linux-gnu` to using LLD, and is currently not possible because the current flavor json serialization fails to roundtrip on the modern linker-flavors. This can e.g. be seen in https://github.com/rust-lang/rust/pull/115622#discussion_r1321312880 which explains where an `Lld::Yes` is ultimately deserialized into an `Lld::No`.
- target specs to declare self-contained linking components: this is needed to switch `x86_64-unknown-linux-gnu` to using `rust-lld`
- adds an end-to-end test of a custom target json simulating `x86_64-unknown-linux-gnu` being switched to using `rust-lld`
- disables codegen backends from participating because they don't support `-Zgcc-ld=lld` which is the basis of mcp510.

r? `@petrochenkov:` if the approach discussed https://github.com/rust-lang/rust/pull/115622#discussion_r1329403467 and on zulip would work for you: basically, see if we can emit only modern linker flavors in the json specs, but accept both old and new flavors while reading them, to fix the roundtrip issue.

The backwards compatible `LinkSelfContainedDefault` variants are still serialized and deserialized in `crt-objects-fallback`, while the spec equivalent of e.g. `-Clink-self-contained=+linker` is serialized into a different json object (with future-proofing to incorporate `crt-objects-fallback`  in the future).

---

I've been test-driving this in https://github.com/rust-lang/rust/pull/113382 to test actually switching `x86_64-unknown-linux-gnu`  to `rust-lld` (and fix what needs to be fixed in CI, bootstrap, etc), and it seems to work fine.
2023-10-27 02:11:36 +00:00
..
abi feat: riscv-interrupt-{m,s} calling conventions 2023-08-08 18:09:56 -07:00
apple Fix rustc_target::spec:🍎:tests 2023-06-21 14:59:40 -07:00
tests allow target specs to declare self-contained linking components 2023-10-18 09:26:05 +00:00
aarch64_apple_darwin.rs Use apple-m1 as target CPU for aarch64-apple-darwin. 2023-04-03 18:01:15 +02:00
aarch64_apple_ios.rs Add sanitizer support for modern iOS platforms 2023-02-12 16:00:31 -08:00
aarch64_apple_ios_macabi.rs Enable ASAN/LSAN/TSAN for *-apple-ios-macabi 2023-09-18 09:38:12 -04:00
aarch64_apple_ios_sim.rs Add sanitizer support for modern iOS platforms 2023-02-12 16:00:31 -08:00
aarch64_apple_tvos.rs Fix the tvOS targets to use the right LLVM target and respect the deployment target environment variables 2023-06-21 14:59:39 -07:00
aarch64_apple_watchos_sim.rs Cleanup Apple target specifications 2022-11-05 17:57:32 -05:00
aarch64_be_unknown_linux_gnu.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_be_unknown_linux_gnu_ilp32.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_be_unknown_netbsd.rs Add support for NetBSD/aarch64-be (big-endian arm64). 2023-05-07 18:35:35 +00:00
aarch64_fuchsia.rs Accept old spelling of Fuchsia target triples 2023-01-09 12:18:12 -05:00
aarch64_kmc_solid_asp3.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_linux_android.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_nintendo_switch_freestanding.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_nintendo_switch_freestanding_linker_script.ld Rename aarch64-nintendo-switch to aarch64-nintendo-switch-freestanding 2022-07-14 15:58:26 -04:00
aarch64_pc_windows_gnullvm.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_pc_windows_msvc.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_unknown_freebsd.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_unknown_fuchsia.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_unknown_hermit.rs compiler: Hermit targets: Use functional update syntax 2023-07-24 10:36:05 +02:00
aarch64_unknown_linux_gnu.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_unknown_linux_gnu_ilp32.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_unknown_linux_musl.rs Enable sanitizers and profiler for aarch64-unknown-linux-musl 2023-05-22 14:13:23 -07:00
aarch64_unknown_linux_ohos.rs Add x86_64-unknown-linux-ohos target 2023-06-26 16:50:36 +01:00
aarch64_unknown_netbsd.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_unknown_none.rs Add kernel-address sanitizer support for freestanding targets 2023-02-14 20:54:25 -05:00
aarch64_unknown_none_softfloat.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_unknown_nto_qnx_710.rs Add QNX 7.0 x86 target 2023-03-29 17:42:47 -07:00
aarch64_unknown_openbsd.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_unknown_redox.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_unknown_teeos.rs add aarch64-unknown-teeos target 2023-07-26 21:39:40 +08:00
aarch64_unknown_uefi.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_uwp_windows_msvc.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
aarch64_wrs_vxworks.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
abi.rs Rename ACTIVE_FEATURES as UNSTABLE_FEATURES. 2023-10-16 08:17:23 +11:00
aix_base.rs Add powerpc64-ibm-aix as Tier-3 target 2022-11-17 16:36:54 +08:00
android_base.rs Update rustc's information on Android's sanitizers 2022-09-20 14:16:57 -07:00
apple_base.rs Raise minimum supported tvOS version to 10.0 2023-09-23 19:14:25 -05:00
arm64_32_apple_watchos.rs Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
arm_linux_androideabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
arm_unknown_linux_gnueabi.rs Replace the \01__gnu_mcount_nc to LLVM intrinsic for ARM 2023-08-18 01:52:40 +09:00
arm_unknown_linux_gnueabihf.rs Replace the \01__gnu_mcount_nc to LLVM intrinsic for ARM 2023-08-18 01:52:40 +09:00
arm_unknown_linux_musleabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
arm_unknown_linux_musleabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armeb_unknown_linux_gnueabi.rs Replace the \01__gnu_mcount_nc to LLVM intrinsic for ARM 2023-08-18 01:52:40 +09:00
armebv7r_none_eabi.rs Fix comments about GCC/Clang's enum width for arm-none targets. 2023-07-23 20:19:38 -07:00
armebv7r_none_eabihf.rs Fix comments about GCC/Clang's enum width for arm-none targets. 2023-07-23 20:19:38 -07:00
armv4t_none_eabi.rs Fix comments about GCC/Clang's enum width for arm-none targets. 2023-07-23 20:19:38 -07:00
armv4t_unknown_linux_gnueabi.rs Replace the \01__gnu_mcount_nc to LLVM intrinsic for ARM 2023-08-18 01:52:40 +09:00
armv5te_none_eabi.rs remove DS stuff from docs + change to use thumb_base 2022-09-09 19:51:58 +01:00
armv5te_unknown_linux_gnueabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv5te_unknown_linux_musleabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv5te_unknown_linux_uclibceabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv6_unknown_freebsd.rs Replace the \01__gnu_mcount_nc to LLVM intrinsic for ARM 2023-08-18 01:52:40 +09:00
armv6_unknown_netbsd_eabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv6k_nintendo_3ds.rs Enable #[thread_local] on armv6k-nintendo-3ds 2023-02-12 16:57:05 -05:00
armv7_linux_androideabi.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
armv7_sony_vita_newlibeabihf.rs Std support improvement for ps vita target 2023-06-05 19:14:09 +03:00
armv7_unknown_freebsd.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7_unknown_linux_gnueabi.rs Replace the \01__gnu_mcount_nc to LLVM intrinsic for ARM 2023-08-18 01:52:40 +09:00
armv7_unknown_linux_gnueabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7_unknown_linux_musleabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7_unknown_linux_musleabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7_unknown_linux_ohos.rs Add x86_64-unknown-linux-ohos target 2023-06-26 16:50:36 +01:00
armv7_unknown_linux_uclibceabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7_unknown_linux_uclibceabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7_unknown_netbsd_eabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7_wrs_vxworks_eabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7a_kmc_solid_asp3_eabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7a_kmc_solid_asp3_eabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
armv7a_none_eabi.rs Default repr(C) enums to c_int size 2023-02-16 15:06:17 -08:00
armv7a_none_eabihf.rs Fix comments about GCC/Clang's enum width for arm-none targets. 2023-07-23 20:19:38 -07:00
armv7k_apple_watchos.rs [watchos] Dynamic linking is not allowed for watchos targets 2022-11-13 13:57:31 +00:00
armv7r_none_eabi.rs Fix comments about GCC/Clang's enum width for arm-none targets. 2023-07-23 20:19:38 -07:00
armv7r_none_eabihf.rs Fix comments about GCC/Clang's enum width for arm-none targets. 2023-07-23 20:19:38 -07:00
armv7s_apple_ios.rs Raise minimum supported iOS version to 10.0 2023-09-23 19:14:25 -05:00
asmjs_unknown_emscripten.rs rustc_target: Refactor internal linker flavors slightly 2022-09-01 16:54:52 +03:00
avr_gnu_base.rs Set max_atomic_width for AVR to 16 2023-08-05 12:47:46 +09:00
avr_unknown_gnu_atmega328.rs rustc_target: Add convenience functions for adding linker arguments 2022-06-25 21:55:56 +03:00
bpf_base.rs BPF: Disable atomic CAS 2023-01-14 22:12:11 +08:00
bpfeb_unknown_none.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
bpfel_unknown_none.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
crt_objects.rs unify LinkSelfContained and LinkSelfContainedDefault 2023-10-18 13:38:17 +00:00
csky_unknown_linux_gnuabiv2.rs add target csky-unknown-linux-gnuabiv2hf 2023-10-22 21:20:30 +08:00
csky_unknown_linux_gnuabiv2hf.rs add target csky-unknown-linux-gnuabiv2hf 2023-10-22 21:20:30 +08:00
dragonfly_base.rs rustc_target: Flip the default for TargetOptions::executables to true 2022-07-11 23:23:51 +03:00
freebsd_base.rs rustc_target: Flip the default for TargetOptions::executables to true 2022-07-11 23:23:51 +03:00
fuchsia_base.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
haiku_base.rs rustc_target: Flip the default for TargetOptions::executables to true 2022-07-11 23:23:51 +03:00
hermit_base.rs compiler: Hermit targets: Sort base fields by declaration 2023-07-24 10:36:05 +02:00
hexagon_unknown_linux_musl.rs Default repr(C) enums to c_int size 2023-02-16 15:06:17 -08:00
hurd_base.rs added support for GNU/Hurd 2023-09-21 17:31:25 +02:00
hurd_gnu_base.rs added support for GNU/Hurd 2023-09-21 17:31:25 +02:00
i386_apple_ios.rs Cleanup Apple target specifications 2022-11-05 17:57:32 -05:00
i386_unknown_linux_gnu.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
i486_unknown_linux_gnu.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
i586_pc_nto_qnx700.rs Add QNX 7.0 x86 target 2023-03-29 17:42:47 -07:00
i586_pc_windows_msvc.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
i586_unknown_linux_gnu.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
i586_unknown_linux_musl.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
i686_apple_darwin.rs Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
i686_linux_android.rs Enable inline stack probes on X86 with LLVM 16 2022-09-29 19:49:23 -07:00
i686_pc_windows_gnu.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
i686_pc_windows_gnullvm.rs Add i686-pc-windows-gnullvm triple 2023-09-09 00:32:45 +02:00
i686_pc_windows_msvc.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
i686_unknown_freebsd.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
i686_unknown_haiku.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
i686_unknown_hurd_gnu.rs added support for GNU/Hurd 2023-09-21 17:31:25 +02:00
i686_unknown_linux_gnu.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
i686_unknown_linux_musl.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
i686_unknown_netbsd.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
i686_unknown_openbsd.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
i686_unknown_uefi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
i686_uwp_windows_gnu.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
i686_uwp_windows_msvc.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
i686_wrs_vxworks.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
illumos_base.rs Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
l4re_base.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
linux_base.rs session: stabilize split debuginfo on linux 2022-08-18 15:19:40 +01:00
linux_gnu_base.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
linux_musl_base.rs unify LinkSelfContained and LinkSelfContainedDefault 2023-10-18 13:38:17 +00:00
linux_ohos_base.rs Add x86_64-unknown-linux-ohos target 2023-06-26 16:50:36 +01:00
linux_uclibc_base.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
loongarch64_unknown_linux_gnu.rs Initial support for loongarch64-unknown-linux-gnu 2023-04-04 17:05:07 +08:00
loongarch64_unknown_none.rs Switch to LLD as default linker for loongarch64-unknown-none* 2023-08-11 10:04:37 +08:00
loongarch64_unknown_none_softfloat.rs Switch to LLD as default linker for loongarch64-unknown-none* 2023-08-11 10:04:37 +08:00
m68k_unknown_linux_gnu.rs compiler/rustc_target: Raise m68k-linux-gnu baseline to 68020 2023-04-21 13:27:13 +02:00
mips64_openwrt_linux_musl.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
mips64_unknown_linux_gnuabi64.rs Fix linkage for large binaries on mips64 platforms ... 2023-05-29 10:57:03 -06:00
mips64_unknown_linux_muslabi64.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
mips64el_unknown_linux_gnuabi64.rs Fix linkage for large binaries on mips64 platforms ... 2023-05-29 10:57:03 -06:00
mips64el_unknown_linux_muslabi64.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
mips_unknown_linux_gnu.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
mips_unknown_linux_musl.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
mips_unknown_linux_uclibc.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
mipsel_sony_psp.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
mipsel_sony_psp_linker_script.ld Relax mipsel-sony-psp's linker script 2022-06-07 10:24:09 -04:00
mipsel_sony_psx.rs Add Sony PlayStation 1 tier 3 target 2022-10-10 12:07:22 -04:00
mipsel_unknown_linux_gnu.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
mipsel_unknown_linux_musl.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
mipsel_unknown_linux_uclibc.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
mipsel_unknown_none.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
mipsisa32r6_unknown_linux_gnu.rs support for mips32r6 as a target_arch value 2023-07-18 18:58:18 +08:00
mipsisa32r6el_unknown_linux_gnu.rs support for mips32r6 as a target_arch value 2023-07-18 18:58:18 +08:00
mipsisa64r6_unknown_linux_gnuabi64.rs support for mips64r6 as a target_arch value 2023-07-18 18:58:18 +08:00
mipsisa64r6el_unknown_linux_gnuabi64.rs support for mips64r6 as a target_arch value 2023-07-18 18:58:18 +08:00
mod.rs Auto merge of #116035 - lqd:mcp-510-target-specs, r=petrochenkov 2023-10-27 02:11:36 +00:00
msp430_none_elf.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
msvc_base.rs Support TLS access into dylibs on Windows 2023-03-29 08:55:21 +02:00
netbsd_base.rs rustc_target: Flip the default for TargetOptions::executables to true 2022-07-11 23:23:51 +03:00
nto_qnx_base.rs Add QNX 7.0 x86 target 2023-03-29 17:42:47 -07:00
nvptx64_nvidia_cuda.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
openbsd_base.rs rustc_target: Flip the default for TargetOptions::executables to true 2022-07-11 23:23:51 +03:00
powerpc64_ibm_aix.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc64_unknown_freebsd.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc64_unknown_linux_gnu.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc64_unknown_linux_musl.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc64_unknown_openbsd.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc64_wrs_vxworks.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc64le_unknown_freebsd.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc64le_unknown_linux_gnu.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc64le_unknown_linux_musl.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc_unknown_freebsd.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc_unknown_linux_gnu.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc_unknown_linux_gnuspe.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc_unknown_linux_musl.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc_unknown_netbsd.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc_unknown_openbsd.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc_wrs_vxworks.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
powerpc_wrs_vxworks_spe.rs Update powerpc data layouts 2023-08-07 20:35:55 +02:00
redox_base.rs rustc_target: Flip the default for TargetOptions::executables to true 2022-07-11 23:23:51 +03:00
riscv32gc_unknown_linux_gnu.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
riscv32gc_unknown_linux_musl.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
riscv32i_unknown_none_elf.rs Revert "Auto merge of #98333 - SimonSapin:riscv-atomic, r=Amanieu" 2023-08-05 13:18:47 +09:00
riscv32im_unknown_none_elf.rs Revert "Auto merge of #98333 - SimonSapin:riscv-atomic, r=Amanieu" 2023-08-05 13:18:47 +09:00
riscv32imac_esp_espidf.rs Added custom risc32-imac for esp-espidf target 2023-06-04 15:49:04 +02:00
riscv32imac_unknown_none_elf.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
riscv32imac_unknown_xous_elf.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
riscv32imc_esp_espidf.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
riscv32imc_unknown_none_elf.rs Revert "Auto merge of #98333 - SimonSapin:riscv-atomic, r=Amanieu" 2023-08-05 13:18:47 +09:00
riscv64_linux_android.rs Lowercase the feature flags for riscv64-linux-android 2023-10-13 10:01:14 -07:00
riscv64gc_unknown_freebsd.rs LLVM 16: Update RISCV data layout 2022-11-06 19:03:22 +00:00
riscv64gc_unknown_fuchsia.rs Fix riscv64 fuchsia LLVM target name 2023-03-15 12:55:37 +09:00
riscv64gc_unknown_hermit.rs compiler: Add riscv64gc-unknown-hermit target 2023-07-24 10:36:05 +02:00
riscv64gc_unknown_linux_gnu.rs LLVM 16: Update RISCV data layout 2022-11-06 19:03:22 +00:00
riscv64gc_unknown_linux_musl.rs LLVM 16: Update RISCV data layout 2022-11-06 19:03:22 +00:00
riscv64gc_unknown_netbsd.rs Add support for NetBSD/riscv64 aka. riscv64gc-unknown-netbsd. 2023-07-05 13:49:01 +00:00
riscv64gc_unknown_none_elf.rs Add kernel-address sanitizer support for freestanding targets 2023-02-14 20:54:25 -05:00
riscv64gc_unknown_openbsd.rs LLVM 16: Update RISCV data layout 2022-11-06 19:03:22 +00:00
riscv64imac_unknown_none_elf.rs Add kernel-address sanitizer support for freestanding targets 2023-02-14 20:54:25 -05:00
s390x_unknown_linux_gnu.rs Enable sanitizers for s390x-linux 2023-01-20 18:34:24 +01:00
s390x_unknown_linux_musl.rs Enable sanitizers for s390x-linux 2023-01-20 18:34:24 +01:00
solaris_base.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
solid_base.rs Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
sparc64_unknown_linux_gnu.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
sparc64_unknown_netbsd.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
sparc64_unknown_openbsd.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
sparc_unknown_linux_gnu.rs Set max_atomic_width for sparc-unknown-linux-gnu to 32 2023-08-05 13:01:15 +09:00
sparc_unknown_none_elf.rs Add a sparc-unknown-none-elf target. 2023-07-11 15:36:42 +01:00
sparcv9_sun_solaris.rs Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
teeos_base.rs add aarch64-unknown-teeos target 2023-07-26 21:39:40 +08:00
thumb_base.rs Fix comments about GCC/Clang's enum width for arm-none targets. 2023-07-23 20:19:38 -07:00
thumbv4t_none_eabi.rs Remove redundant c_enum_min_bits option from the thumbv4t-none-eabi target. 2023-07-23 20:19:26 -07:00
thumbv5te_none_eabi.rs Add {thumb,arm}v5te-none-eabi targets 2022-09-02 14:16:02 +01:00
thumbv6m_none_eabi.rs Pass +atomics-32 feature for thumbv6m target 2022-08-09 12:39:59 +02:00
thumbv7a_pc_windows_msvc.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
thumbv7a_uwp_windows_msvc.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
thumbv7em_none_eabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
thumbv7em_none_eabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
thumbv7m_none_eabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
thumbv7neon_linux_androideabi.rs Fix broken links 2023-09-30 10:26:04 +08:00
thumbv7neon_unknown_linux_gnueabihf.rs Fix broken links 2023-09-30 10:26:04 +08:00
thumbv7neon_unknown_linux_musleabihf.rs Fix broken links 2023-09-30 10:26:04 +08:00
thumbv8m_base_none_eabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
thumbv8m_main_none_eabi.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
thumbv8m_main_none_eabihf.rs Replace every String in Target(Options) with Cow<'static, str> 2022-04-03 21:29:57 +02:00
uefi_msvc_base.rs Add Minimal Std implementation for UEFI 2023-09-22 17:23:30 +05:30
unikraft_linux_musl_base.rs compiler: Add x86_64-unikraft-linux-musl target 2023-07-24 18:24:50 +02:00
vxworks_base.rs rustc_target: Flip the default for TargetOptions::executables to true 2022-07-11 23:23:51 +03:00
wasm32_unknown_emscripten.rs rustc_target: Refactor internal linker flavors slightly 2022-09-01 16:54:52 +03:00
wasm32_unknown_unknown.rs Stop passing -export-dynamic to wasm-ld. 2022-12-06 16:50:29 -08:00
wasm32_wasi.rs unify LinkSelfContained and LinkSelfContainedDefault 2023-10-18 13:38:17 +00:00
wasm32_wasi_preview1_threads.rs unify LinkSelfContained and LinkSelfContainedDefault 2023-10-18 13:38:17 +00:00
wasm64_unknown_unknown.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
wasm_base.rs unify LinkSelfContained and LinkSelfContainedDefault 2023-10-18 13:38:17 +00:00
windows_gnu_base.rs unify LinkSelfContained and LinkSelfContainedDefault 2023-10-18 13:38:17 +00:00
windows_gnullvm_base.rs Support TLS access into dylibs on Windows 2023-03-29 08:55:21 +02:00
windows_msvc_base.rs Set DebuginfoKind::Pdb in msvc_base 2022-08-27 11:44:35 -04:00
windows_uwp_gnu_base.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
windows_uwp_msvc_base.rs rustc_target: Refactor internal linker flavors 2022-10-06 13:41:12 +04:00
x86_64_apple_darwin.rs Raise minimum supported macOS to 10.12 2023-09-23 19:14:25 -05:00
x86_64_apple_ios.rs Support 128-bit atomics on all x86_64 Apple targets 2023-06-01 03:27:16 +09:00
x86_64_apple_ios_macabi.rs Enable ASAN/LSAN/TSAN for *-apple-ios-macabi 2023-09-18 09:38:12 -04:00
x86_64_apple_tvos.rs Fix the tvOS targets to use the right LLVM target and respect the deployment target environment variables 2023-06-21 14:59:39 -07:00
x86_64_apple_watchos_sim.rs Support 128-bit atomics on all x86_64 Apple targets 2023-06-01 03:27:16 +09:00
x86_64_fortanix_unknown_sgx.rs Revert "Auto merge of #106511 - MaskRay:gotpcrelx, r=nikic" 2023-08-27 11:22:20 +02:00
x86_64_fuchsia.rs Accept old spelling of Fuchsia target triples 2023-01-09 12:18:12 -05:00
x86_64_linux_android.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_pc_nto_qnx710.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_pc_solaris.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_pc_windows_gnu.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_pc_windows_gnullvm.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_pc_windows_msvc.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_sun_solaris.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unikraft_linux_musl.rs compiler: Add x86_64-unikraft-linux-musl target 2023-07-24 18:24:50 +02:00
x86_64_unknown_dragonfly.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_freebsd.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_fuchsia.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_haiku.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_hermit.rs compiler: Hermit targets: Use functional update syntax 2023-07-24 10:36:05 +02:00
x86_64_unknown_illumos.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_l4re_uclibc.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_linux_gnu.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_linux_gnux32.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_linux_musl.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_linux_ohos.rs Add x86_64-unknown-linux-ohos target 2023-06-26 16:50:36 +01:00
x86_64_unknown_netbsd.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_none.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_openbsd.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_redox.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_unknown_uefi.rs Add Minimal Std implementation for UEFI 2023-09-22 17:23:30 +05:30
x86_64_uwp_windows_gnu.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_uwp_windows_msvc.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64_wrs_vxworks.rs switch to using a target property to control plt default 2023-06-22 14:29:22 -04:00
x86_64h_apple_darwin.rs Add support for the x86_64h-apple-darwin target 2023-03-05 17:11:58 -08:00