1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
#[allow(unused_imports)] use super::super::value::{read_half,Elf_Half}; build_enum!{ @INT read_half; Elf_Half => usize; @ENUM Arch { None, M32, Sparc, Intel386, Motorola68k, Motorola88k, INTEL486, INTEL860, MIPS, PaRISC, SPARC32PLUS, PowerPC, PowerPC64, CellBESPU, ARM, SuperH, SPARCv9, H8300, IntelHP64, AMD64, IBMS390, CRIS, RenesasM32R, MEIMN10300AM33, OpenRISC, BlackFin, AlteraNOIS2, TIC6xDPS, Aarch64, TilePRO, MicroBlaze, TileGX, LinuxBPF, FRV, AtmelAVR32, Alpha, CygnusM32R, OLDS390, CygnusMN10300 } @TOFUNC to_endian => Arch { 0 => Arch::None, 1 => Arch::M32, 2 => Arch::Sparc, 3 => Arch::Intel386, 4 => Arch::Motorola68k, 5 => Arch::Motorola88k, 6 => Arch::INTEL486, 7 => Arch::INTEL860, 8 => Arch::MIPS, 15 => Arch::PaRISC, 18 => Arch::SPARC32PLUS, 20 => Arch::PowerPC, 21 => Arch::PowerPC64, 23 => Arch::CellBESPU, 40 => Arch::ARM, 42 => Arch::SuperH, 43 => Arch::SPARCv9, 46 => Arch::H8300, 50 => Arch::IntelHP64, 62 => Arch::AMD64, 22 => Arch::IBMS390, 76 => Arch::CRIS, 88 => Arch::RenesasM32R, 89 => Arch::MEIMN10300AM33, 92 => Arch::OpenRISC, 106 => Arch::BlackFin, 113 => Arch::AlteraNOIS2, 140 => Arch::TIC6xDPS, 183 => Arch::Aarch64, 188 => Arch::TilePRO, 189 => Arch::MicroBlaze, 191 => Arch::TileGX, 247 => Arch::LinuxBPF, 0x5441 => Arch::FRV, 0x18AD => Arch::AtmelAVR32, 0x9026 => Arch::Alpha, 0x9041 => Arch::CygnusM32R, 0xA390 => Arch::OLDS390, 0xBEEF => Arch::CygnusMN10300 ; "\n\nValue {:?} is non-standard for E_MACHINE\n\n" } @PUB read_arch }