Description
follow up of #35021
rustc-builtins
' build.rs
uses $TARGET
to decide which intrinsics to compile. This won't work well with custom targets because these targets can have arbitrary triples (e.g. cortex-m0
) that don't reflect the actual target specification (ARM architecture, no OS, etc). To make rustc-builtins
more robust we should use the target specification (target_arch
, target_os
, etc) instead of the triple. This will improve rustc-builtins
's support of custom targets and should simplify its build.rs
logic: if spec.target_arch == "arm"
instead of if target.starts_with("arm") || target.starts_with("thumb")
.
There's no standard mechanism to access the target specification from a build script but we could use an external crate like @nagisa's target_build_utils.