From c45fc2b842ff499915213f7f10675d68fb31d273 Mon Sep 17 00:00:00 2001 From: odlot <131015417+odlot@users.noreply.github.com> Date: Thu, 4 Dec 2025 21:19:17 +0100 Subject: [PATCH 1/3] Add support for xray in aarch64 unknown none target --- compiler/rustc_target/src/spec/targets/aarch64_unknown_none.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_none.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_none.rs index 13d3b77588a0e..297bd0abc864e 100644 --- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_none.rs +++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_none.rs @@ -30,6 +30,7 @@ pub(crate) fn target() -> Target { stack_probes: StackProbeType::Inline, panic_strategy: PanicStrategy::Abort, default_uwtable: true, + supports_xray: true, ..Default::default() }; Target { From 689279eb04576a0635ff0180f3db8374352302b6 Mon Sep 17 00:00:00 2001 From: odlot <131015417+odlot@users.noreply.github.com> Date: Mon, 11 May 2026 21:41:50 +0200 Subject: [PATCH 2/3] Add support for xray in aarch64 unknown none softfloat target --- .../src/spec/targets/aarch64_unknown_none_softfloat.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs b/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs index 05876891ebd7d..f6527d236d10c 100644 --- a/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs +++ b/compiler/rustc_target/src/spec/targets/aarch64_unknown_none_softfloat.rs @@ -27,6 +27,7 @@ pub(crate) fn target() -> Target { stack_probes: StackProbeType::Inline, panic_strategy: PanicStrategy::Abort, default_uwtable: true, + supports_xray: true, ..Default::default() }; Target { From 743c6a670d4354aee5b6f7235c7a66cdd8f80199 Mon Sep 17 00:00:00 2001 From: odlot <131015417+odlot@users.noreply.github.com> Date: Mon, 11 May 2026 21:59:26 +0200 Subject: [PATCH 3/3] docs: Add remark to bring your own runtime if none available --- src/doc/unstable-book/src/compiler-flags/instrument-xray.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/doc/unstable-book/src/compiler-flags/instrument-xray.md b/src/doc/unstable-book/src/compiler-flags/instrument-xray.md index 7fb33cd68b4a3..68b881df47385 100644 --- a/src/doc/unstable-book/src/compiler-flags/instrument-xray.md +++ b/src/doc/unstable-book/src/compiler-flags/instrument-xray.md @@ -37,3 +37,4 @@ which on their own don't do anything useful. In order to actually trace the functions, you will need to link a separate runtime library of your choice, such as Clang's [XRay Runtime Library](https://www.llvm.org/docs/XRay.html#xray-runtime-library). +On targets where such a runtime is not available but instrumentation is supported, you must supply and link your own runtime library.