diff options
| author | Adam Gausmann <adam@gaussian.dev> | 2023-01-08 22:59:41 -0600 |
|---|---|---|
| committer | Adam Gausmann <adam@gaussian.dev> | 2023-05-21 16:56:57 -0500 |
| commit | a7158ecfa9ab37774b2900972cc1a0279f46caa6 (patch) | |
| tree | 87c9b45e9b36b19d96f2a0e80722a0fdbff6f27d /compiler/rustc_codegen_ssa/src/back | |
| parent | 965cf5c1f5d4906935c552e1b9099c56e097e7aa (diff) | |
| download | rust-a7158ecfa9ab37774b2900972cc1a0279f46caa6.tar.gz rust-a7158ecfa9ab37774b2900972cc1a0279f46caa6.zip | |
rustc_codegen_ssa: Set e_flags for AVR architecture based on target CPU
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/metadata.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/metadata.rs b/compiler/rustc_codegen_ssa/src/back/metadata.rs index 8bf84772f08..aca0bf6a6e7 100644 --- a/compiler/rustc_codegen_ssa/src/back/metadata.rs +++ b/compiler/rustc_codegen_ssa/src/back/metadata.rs @@ -20,7 +20,7 @@ use rustc_metadata::EncodedMetadata; use rustc_session::cstore::MetadataLoader; use rustc_session::Session; use rustc_target::abi::Endian; -use rustc_target::spec::{RelocModel, Target}; +use rustc_target::spec::{ef_avr_arch, RelocModel, Target}; /// The default metadata loader. This is used by cg_llvm and cg_clif. /// @@ -243,6 +243,11 @@ pub(crate) fn create_object_file(sess: &Session) -> Option<write::Object<'static // Source: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_e_flags_identifies_abi_type_and_version elf::EF_LARCH_OBJABI_V1 | elf::EF_LARCH_ABI_DOUBLE_FLOAT } + Architecture::Avr => { + // Resolve the ISA revision and set + // the appropriate EF_AVR_ARCH flag. + ef_avr_arch(&sess.target.options.cpu) + } _ => 0, }; // adapted from LLVM's `MCELFObjectTargetWriter::getOSABI` |
