asr::file_format::elf

Struct Architecture

Source
pub struct Architecture(/* private fields */);
Expand description

The architecture of an ELF file.

Implementations§

Source§

impl Architecture

Source

pub const EM_NONE: Self

No machine

Source

pub const EM_M32: Self

AT&T WE 32100

Source

pub const EM_SPARC: Self

SUN SPARC

Source

pub const EM_386: Self

Intel 80386

Source

pub const EM_68K: Self

Motorola m68k family

Source

pub const EM_88K: Self

Motorola m88k family

Source

pub const EM_IAMCU: Self

Intel MCU

Source

pub const EM_860: Self

Intel 80860

Source

pub const EM_MIPS: Self

MIPS R3000 (officially, big-endian only)

Source

pub const EM_S370: Self

IBM System/370

Source

pub const EM_MIPS_RS3_LE: Self

MIPS R3000 little-endian (Oct 4 1999 Draft). Deprecated.

Source

pub const EM_OLD_SPARCV9: Self

Old version of Sparc v9, from before the ABI. Deprecated.

Source

pub const EM_PARISC: Self

HPPA

Source

pub const EM_PPC_OLD: Self

Old version of PowerPC. Deprecated.

Source

pub const EM_VPP550: Self

Fujitsu VPP500

Source

pub const EM_SPARC32PLUS: Self

Sun’s “v8plus”

Source

pub const EM_960: Self

Intel 80960

Source

pub const EM_PPC: Self

PowerPC

Source

pub const EM_PPC64: Self

64-bit PowerPC

Source

pub const EM_S390: Self

IBM S/390

Source

pub const EM_SPU: Self

Sony/Toshiba/IBM SPU

Source

pub const EM_V800: Self

NEC V800 series

Source

pub const EM_FR20: Self

Fujitsu FR20

Source

pub const EM_RH32: Self

TRW RH32

Source

pub const EM_MCORE: Self

Motorola M*Core May also be taken by Fujitsu MMA

Source

pub const EM_RCE: Self

Old name for MCore

Source

pub const EM_ARM: Self

ARM

Source

pub const EM_OLD_ALPHA: Self

Digital Alpha

Source

pub const EM_SH: Self

Renesas (formerly Hitachi) / SuperH SH

Source

pub const EM_SPARCV9: Self

SPARC v9 64-bit

Source

pub const EM_TRICORE: Self

Siemens Tricore embedded processor

Source

pub const EM_ARC: Self

ARC Cores

Source

pub const EM_H8_300: Self

Renesas (formerly Hitachi) H8/300

Source

pub const EM_H8_300H: Self

Renesas (formerly Hitachi) H8/300H

Source

pub const EM_H8S: Self

Renesas (formerly Hitachi) H8S

Source

pub const EM_H8_500: Self

Renesas (formerly Hitachi) H8/500

Source

pub const EM_IA_64: Self

Intel IA-64 Processor

Source

pub const EM_MIPS_X: Self

Stanford MIPS-X

Source

pub const EM_COLDFIRE: Self

Motorola Coldfire

Source

pub const EM_68HC12: Self

Motorola M68HC12

Source

pub const EM_MMA: Self

Fujitsu Multimedia Accelerator

Source

pub const EM_PCP: Self

Siemens PCP

Source

pub const EM_NCPU: Self

Sony nCPU embedded RISC processor

Source

pub const EM_NDR1: Self

Denso NDR1 microprocessor

Source

pub const EM_STARCORE: Self

Motorola Star*Core processor

Source

pub const EM_ME16: Self

Toyota ME16 processor

Source

pub const EM_ST100: Self

STMicroelectronics ST100 processor

Source

pub const EM_TINYJ: Self

Advanced Logic Corp. TinyJ embedded processor

Source

pub const EM_X86_64: Self

Advanced Micro Devices X86-64 processor

Source

pub const EM_PDSP: Self

Sony DSP Processor

Source

pub const EM_PDP10: Self

Digital Equipment Corp. PDP-10

Source

pub const EM_PDP11: Self

Digital Equipment Corp. PDP-11

Source

pub const EM_FX66: Self

Siemens FX66 microcontroller

Source

pub const EM_ST9PLUS: Self

STMicroelectronics ST9+ 8/16 bit microcontroller

Source

pub const EM_ST7: Self

STMicroelectronics ST7 8-bit microcontroller

Source

pub const EM_68HC16: Self

Motorola MC68HC16 Microcontroller

Source

pub const EM_68HC11: Self

Motorola MC68HC11 Microcontroller

Source

pub const EM_68HC08: Self

Motorola MC68HC08 Microcontroller

Source

pub const EM_68HC05: Self

Motorola MC68HC05 Microcontroller

Source

pub const EM_SVX: Self

Silicon Graphics SVx

Source

pub const EM_ST19: Self

STMicroelectronics ST19 8-bit cpu

Source

pub const EM_VAX: Self

Digital VAX

Source

pub const EM_CRIS: Self

Axis Communications 32-bit embedded processor

Source

pub const EM_JAVELIN: Self

Infineon Technologies 32-bit embedded cpu

Source

pub const EM_FIREPATH: Self

Element 14 64-bit DSP processor

Source

pub const EM_ZSP: Self

LSI Logic’s 16-bit DSP processor

Source

pub const EM_MMIX: Self

Donald Knuth’s educational 64-bit processor

Source

pub const EM_HUANY: Self

Harvard’s machine-independent format

Source

pub const EM_PRISM: Self

SiTera Prism

Source

pub const EM_AVR: Self

Atmel AVR 8-bit microcontroller

Source

pub const EM_FR30: Self

Fujitsu FR30

Source

pub const EM_D10V: Self

Mitsubishi D10V

Source

pub const EM_D30V: Self

Mitsubishi D30V

Source

pub const EM_V850: Self

Renesas V850 (formerly NEC V850)

Source

pub const EM_M32R: Self

Renesas M32R (formerly Mitsubishi M32R)

Source

pub const EM_MN10300: Self

Matsushita MN10300

Source

pub const EM_MN10200: Self

Matsushita MN10200

Source

pub const EM_PJ: Self

picoJava

Source

pub const EM_OR1K: Self

OpenRISC 1000 32-bit embedded processor

Source

pub const EM_ARC_COMPACT: Self

ARC International ARCompact processor

Source

pub const EM_XTENSA: Self

Tensilica Xtensa Architecture

Source

pub const EM_SCORE_OLD: Self

Old Sunplus S+core7 backend magic number. Written in the absence of an ABI.

Source

pub const EM_VIDEOCORE: Self

Alphamosaic VideoCore processor

Source

pub const EM_TMM_GPP: Self

Thompson Multimedia General Purpose Processor

Source

pub const EM_NS32K: Self

National Semiconductor 32000 series

Source

pub const EM_TPC: Self

Tenor Network TPC processor

Source

pub const EM_PJ_OLD: Self

Old value for picoJava. Deprecated.

Source

pub const EM_SNP1K: Self

Trebia SNP 1000 processor

Source

pub const EM_ST200: Self

STMicroelectronics ST200 microcontroller

Source

pub const EM_IP2K: Self

Ubicom IP2022 micro controller

Source

pub const EM_MAX: Self

MAX Processor

Source

pub const EM_CR: Self

National Semiconductor CompactRISC

Source

pub const EM_F2MC16: Self

Fujitsu F2MC16

Source

pub const EM_MSP430: Self

TI msp430 micro controller

Source

pub const EM_BLACKFIN: Self

ADI Blackfin

Source

pub const EM_SE_C33: Self

S1C33 Family of Seiko Epson processors

Source

pub const EM_SEP: Self

Sharp embedded microprocessor

Source

pub const EM_ARCA: Self

Arca RISC Microprocessor

Source

pub const EM_UNICORE: Self

Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University

Source

pub const EM_EXCESS: Self

eXcess: 16/32/64-bit configurable embedded CPU

Source

pub const EM_DXP: Self

Icera Semiconductor Inc. Deep Execution Processor

Source

pub const EM_ALTERA_NIOS2: Self

Altera Nios II soft-core processor

Source

pub const EM_CRX: Self

National Semiconductor CRX

Source

pub const EM_CR16_OLD: Self

Old, value for National Semiconductor CompactRISC. Deprecated.

Source

pub const EM_XGATE: Self

Motorola XGATE embedded processor

Source

pub const EM_C166: Self

Infineon C16x/XC16x processor

Source

pub const EM_M16C: Self

Renesas M16C series microprocessors

Source

pub const EM_DSPIC30F: Self

Microchip Technology dsPIC30F Digital Signal Controller

Source

pub const EM_CE: Self

Freescale Communication Engine RISC core

Source

pub const EM_M32C: Self

Renesas M32C series microprocessors

Source

pub const EM_TSK3000: Self

Altium TSK3000 core

Source

pub const EM_RS08: Self

Freescale RS08 embedded processor

Source

pub const EM_ECOG2: Self

Cyan Technology eCOG2 microprocessor

Source

pub const EM_SCORE: Self

Sunplus Score

Source

pub const EM_SCORE7: Self

Sunplus S+core7 RISC processor

Source

pub const EM_DSP24: Self

New Japan Radio (NJR) 24-bit DSP Processor

Source

pub const EM_VIDEOCORE3: Self

Broadcom VideoCore III processor

Source

pub const EM_LATTICEMICO32: Self

RISC processor for Lattice FPGA architecture

Source

pub const EM_SE_C17: Self

Seiko Epson C17 family

Source

pub const EM_TI_C6000: Self

Texas Instruments TMS320C6000 DSP family

Source

pub const EM_TI_C2000: Self

Texas Instruments TMS320C2000 DSP family

Source

pub const EM_TI_C5500: Self

Texas Instruments TMS320C55x DSP family

Source

pub const EM_TI_PRU: Self

Texas Instruments Programmable Realtime Unit

Source

pub const EM_MMDSP_PLUS: Self

STMicroelectronics 64bit VLIW Data Signal Processor

Source

pub const EM_CYPRESS_M8C: Self

Cypress M8C microprocessor

Source

pub const EM_R32C: Self

Renesas R32C series microprocessors

Source

pub const EM_TRIMEDIA: Self

NXP Semiconductors TriMedia architecture family

Source

pub const EM_QDSP6: Self

QUALCOMM DSP6 Processor

Source

pub const EM_8051: Self

Intel 8051 and variants

Source

pub const EM_STXP7X: Self

STMicroelectronics STxP7x family

Source

pub const EM_NDS32: Self

Andes Technology compact code size embedded RISC processor family

Source

pub const EM_ECOG1: Self

Cyan Technology eCOG1X family

Source

pub const EM_ECOG1X: Self

Cyan Technology eCOG1X family

Source

pub const EM_MAXQ30: Self

Dallas Semiconductor MAXQ30 Core Micro-controllers

Source

pub const EM_XIMO16: Self

New Japan Radio (NJR) 16-bit DSP Processor

Source

pub const EM_MANIK: Self

M2000 Reconfigurable RISC Microprocessor

Source

pub const EM_CRAYNV2: Self

Cray Inc. NV2 vector architecture

Source

pub const EM_RX: Self

Renesas RX family

Source

pub const EM_METAG: Self

Imagination Technologies Meta processor architecture

Source

pub const EM_MCST_ELBRUS: Self

MCST Elbrus general purpose hardware architecture

Source

pub const EM_ECOG16: Self

Cyan Technology eCOG16 family

Source

pub const EM_CR16: Self

National Semiconductor CompactRISC 16-bit processor

Source

pub const EM_ETPU: Self

Freescale Extended Time Processing Unit

Source

pub const EM_SLE9X: Self

Infineon Technologies SLE9X core

Source

pub const EM_L1OM: Self

Intel L1OM

Source

pub const EM_K1OM: Self

Intel K1OM

Source

pub const EM_INTEL182: Self

Reserved by Intel

Source

pub const EM_AARCH64: Self

ARM 64-bit architecture

Source

pub const EM_ARM184: Self

Reserved by ARM

Source

pub const EM_AVR32: Self

Atmel Corporation 32-bit microprocessor family

Source

pub const EM_STM8: Self

STMicroeletronics STM8 8-bit microcontroller

Source

pub const EM_TILE64: Self

Tilera TILE64 multicore architecture family

Source

pub const EM_TILEPRO: Self

Tilera TILEPro multicore architecture family

Source

pub const EM_MICROBLAZE: Self

Xilinx MicroBlaze 32-bit RISC soft processor core

Source

pub const EM_CUDA: Self

NVIDIA CUDA architecture

Source

pub const EM_TILEGX: Self

Tilera TILE-Gx multicore architecture family

Source

pub const EM_CLOUDSHIELD: Self

CloudShield architecture family

Source

pub const EM_COREA_1ST: Self

KIPO-KAIST Core-A 1st generation processor family

Source

pub const EM_COREA_2ND: Self

KIPO-KAIST Core-A 2nd generation processor family

Source

pub const EM_ARC_COMPACT2: Self

Synopsys ARCompact V2

Source

pub const EM_OPEN8: Self

Open8 8-bit RISC soft processor core

Source

pub const EM_RL78: Self

Renesas RL78 family.

Source

pub const EM_VIDEOCORE5: Self

Broadcom VideoCore V processor

Source

pub const EM_78K0R: Self

Renesas 78K0R.

Source

pub const EM_56800EX: Self

Freescale 56800EX Digital Signal Controller (DSC)

Source

pub const EM_BA1: Self

Beyond BA1 CPU architecture

Source

pub const EM_BA2: Self

Beyond BA2 CPU architecture

Source

pub const EM_XCORE: Self

XMOS xCORE processor family

Source

pub const EM_MCHP_PIC: Self

Microchip 8-bit PIC(r) family

Source

pub const EM_INTELGT: Self

Intel Graphics Technology

Source

pub const EM_INTEL206: Self

Reserved by Intel

Source

pub const EM_INTEL207: Self

Reserved by Intel

Source

pub const EM_INTEL208: Self

Reserved by Intel

Source

pub const EM_INTEL209: Self

Reserved by Intel

Source

pub const EM_KM32: Self

KM211 KM32 32-bit processor

Source

pub const EM_KMX32: Self

KM211 KMX32 32-bit processor

Source

pub const EM_KMX16: Self

KM211 KMX16 16-bit processor

Source

pub const EM_KMX8: Self

KM211 KMX8 8-bit processor

Source

pub const EM_KVARC: Self

KM211 KVARC processor

Source

pub const EM_CDP: Self

Paneve CDP architecture family

Source

pub const EM_COGE: Self

Cognitive Smart Memory Processor

Source

pub const EM_COOL: Self

Bluechip Systems CoolEngine

Source

pub const EM_NORC: Self

Nanoradio Optimized RISC

Source

pub const EM_CSR_KALIMBA: Self

CSR Kalimba architecture family

Source

pub const EM_Z80: Self

Zilog Z80

Source

pub const EM_VISIUM: Self

Controls and Data Services VISIUMcore processor

Source

pub const EM_FT32: Self

FTDI Chip FT32 high performance 32-bit RISC architecture

Source

pub const EM_MOXIE: Self

Moxie processor family

Source

pub const EM_AMDGPU: Self

AMD GPU architecture

Source

pub const EM_RISCV: Self

RISC-V

Source

pub const EM_LANAI: Self

Lanai 32-bit processor.

Source

pub const EM_CEVA: Self

CEVA Processor Architecture Family

Source

pub const EM_CEVA_X2: Self

CEVA X2 Processor Family

Source

pub const EM_BPF: Self

Linux BPF – in-kernel virtual machine.

Source

pub const EM_GRAPHCORE_IPU: Self

Graphcore Intelligent Processing Unit

Source

pub const EM_IMG1: Self

Imagination Technologies

Source

pub const EM_NFP: Self

Netronome Flow Processor.

Source

pub const EM_VE: Self

NEC Vector Engine

Source

pub const EM_CSKY: Self

C-SKY processor family.

Source

pub const EM_ARC_COMPACT3_64: Self

Synopsys ARCv2.3 64-bit

Source

pub const EM_MCS6502: Self

MOS Technology MCS 6502 processor

Source

pub const EM_ARC_COMPACT3: Self

Synopsys ARCv2.3 32-bit

Source

pub const EM_KVX: Self

Kalray VLIW core of the MPPA processor family

Source

pub const EM_65816: Self

WDC 65816/65C816

Source

pub const EM_LOONGARCH: Self

LoongArch

Source

pub const EM_KF32: Self

ChipON KungFu32

Source

pub const EM_U16_U8CORE: Self

LAPIS nX-U16/U8

Source

pub const EM_TACHYUM: Self

Tachyum

Source

pub const EM_56800EF: Self

NXP 56800EF Digital Signal Controller (DSC)

Source

pub const EM_AVR_OLD: Self

AVR magic number. Written in the absense of an ABI.

Source

pub const EM_MSP430_OLD: Self

MSP430 magic number. Written in the absense of everything.

Source

pub const EM_MT: Self

Morpho MT. Written in the absense of an ABI.

Source

pub const EM_CYGNUS_FR30: Self

FR30 magic number - no EABI available.

Source

pub const EM_WEBASSEMBLY: Self

Unofficial value for Web Assembly binaries, as used by LLVM.

Source

pub const EM_S12Z: Self

Freescale S12Z. The Freescale toolchain generates elf files with this value.

Source

pub const EM_DLX: Self

DLX magic number. Written in the absense of an ABI.

Source

pub const EM_CYGNUS_FRV: Self

FRV magic number - no EABI available??.

Source

pub const EM_XC16X: Self

Infineon Technologies 16-bit microcontroller with C166-V2 core.

Source

pub const EM_CYGNUS_D10V: Self

D10V backend magic number. Written in the absence of an ABI.

Source

pub const EM_CYGNUS_D30V: Self

D30V backend magic number. Written in the absence of an ABI.

Source

pub const EM_IP2K_OLD: Self

Ubicom IP2xxx; Written in the absense of an ABI.

Source

pub const EM_CYGNUS_POWERPC: Self

Cygnus PowerPC ELF backend. Written in the absence of an ABI.

Source

pub const EM_ALPHA: Self

Alpha backend magic number. Written in the absence of an ABI.

Source

pub const EM_CYGNUS_M32R: Self

Cygnus M32R ELF backend. Written in the absence of an ABI.

Source

pub const EM_CYGNUS_V850: Self

V850 backend magic number. Written in the absense of an ABI.

Source

pub const EM_S390_OLD: Self

old S/390 backend magic number. Written in the absence of an ABI.

Source

pub const EM_XTENSA_OLD: Self

Old, unofficial value for Xtensa.

Source

pub const EM_XSTORMY16: Self

Sanyo XStormy16 CPU core

Source

pub const EM_CYGNUS_MN10300: Self

mn10300 backend magic numbers. Written in the absense of an ABI.

Source

pub const EM_CYGNUS_MN10200: Self

mn10200 backend magic numbers. Written in the absense of an ABI.

Source

pub const EM_M32C_OLD: Self

Renesas M32C and M16C.

Source

pub const EM_IQ2000: Self

Vitesse IQ2000.

Source

pub const EM_NIOS32: Self

NIOS magic number - no EABI available.

Source

pub const EM_CYGNUS_MEP: Self

Toshiba MeP

Source

pub const EM_MOXIE_OLD: Self

Old, unofficial value for Moxie.

Source

pub const EM_MICROBLAZE_OLD: Self

Old MicroBlaze

Source

pub const EM_ADAPTEVA_EPIPHANY: Self

Adapteva’s Epiphany architecture.

Source

pub const EM_OPENRISC: Self = Self::EM_OR1K

Old constant that might be in use by some software.

Source

pub const EM_CSKY_OLD: Self = Self::EM_MCORE

C-SKY historically used 39, the same value as MCORE, from which the architecture was derived.

Trait Implementations§

Source§

impl Clone for Architecture

Source§

fn clone(&self) -> Architecture

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Architecture

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for Architecture

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Architecture

Source§

fn eq(&self, other: &Architecture) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Architecture

Source§

impl Eq for Architecture

Source§

impl StructuralPartialEq for Architecture

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.