Skip to content

Commit 9e21e44

Browse files
author
ligma
committed
minimized code
1 parent 7d817c4 commit 9e21e44

File tree

4 files changed

+68
-208
lines changed

4 files changed

+68
-208
lines changed

src/constants.rs

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
// magic
2+
pub const MH_MAGIC: u32 = 0xfeedface; // Big endian, 32 bit Mach-O
3+
pub const MH_CIGAM: u32 = 0xcefaedfe; // Little endian, 32 bit Mach-O
4+
pub const MH_MAGIC_64: u32 = 0xfeedfacf; // Big endian, 64 bit Mach-O
5+
pub const MH_CIGAM_64: u32 = 0xcffaedfe; // Little endian, 64 bit Mach-O
6+
17
// cputype
28
pub const CPU_ARCH_MASK: i32 = 0xff000000u32 as i32; // Mask for architecture bits
39
pub const CPU_ARCH_ABI64: i32 = 0x01000000u32 as i32; // 64-bit ABI
@@ -32,9 +38,7 @@ pub const CPU_SUBTYPE_LIB64: u32 = 0x80000000; /* 64 bit libraries */
3238
pub const CPU_SUBTYPE_MULTIPLE: i32 = -1;
3339
pub const CPU_SUBTYPE_LITTLE_ENDIAN: i32 = 0;
3440
pub const CPU_SUBTYPE_BIG_ENDIAN: i32 = 1;
35-
3641
pub const CPU_THREADTYPE_NONE: i32 = 0;
37-
3842
pub const CPU_SUBTYPE_VAX_ALL: i32 = 0;
3943
pub const CPU_SUBTYPE_VAX780: i32 = 1;
4044
pub const CPU_SUBTYPE_VAX785: i32 = 2;
@@ -48,40 +52,35 @@ pub const CPU_SUBTYPE_VAX8600: i32 = 9;
4852
pub const CPU_SUBTYPE_VAX8650: i32 = 10;
4953
pub const CPU_SUBTYPE_VAX8800: i32 = 11;
5054
pub const CPU_SUBTYPE_UVAXIII: i32 = 12;
51-
5255
pub const CPU_SUBTYPE_MC680X0_ALL: i32 = 1;
5356
pub const CPU_SUBTYPE_MC68030: i32 = 1;
5457
pub const CPU_SUBTYPE_MC68040: i32 = 2;
5558
pub const CPU_SUBTYPE_MC68030_ONLY: i32 = 3;
56-
5759
pub const CPU_SUBTYPE_INTEL_MODEL_ALL: i32 = 0;
5860
pub const CPU_SUBTYPE_X86_ALL: i32 = 3;
5961
pub const CPU_SUBTYPE_X86_64_ALL: i32 = 3;
6062
pub const CPU_SUBTYPE_X86_ARCH1: i32 = 4;
61-
pub const CPU_SUBTYPE_X86_64_H: i32 = 8; /* Haswell feature subset */
62-
63+
pub const CPU_SUBTYPE_X86_64_H: i32 = 8;
6364
pub const CPU_THREADTYPE_INTEL_HTT: i32 = 1;
64-
6565
pub const CPU_SUBTYPE_MIPS_ALL: i32 = 0;
6666
pub const CPU_SUBTYPE_MIPS_R2300: i32 = 1;
6767
pub const CPU_SUBTYPE_MIPS_R2600: i32 = 2;
6868
pub const CPU_SUBTYPE_MIPS_R2800: i32 = 3;
69-
pub const CPU_SUBTYPE_MIPS_R2000A: i32 = 4; // pmax
69+
pub const CPU_SUBTYPE_MIPS_R2000A: i32 = 4;
7070
pub const CPU_SUBTYPE_MIPS_R2000: i32 = 5;
71-
pub const CPU_SUBTYPE_MIPS_R3000A: i32 = 6; // 3max
71+
pub const CPU_SUBTYPE_MIPS_R3000A: i32 = 6;
7272
pub const CPU_SUBTYPE_MIPS_R3000: i32 = 7;
7373
pub const CPU_SUBTYPE_MC98000_ALL: i32 = 0;
7474
pub const CPU_SUBTYPE_MC98601: i32 = 1;
7575
pub const CPU_SUBTYPE_HPPA_ALL: i32 = 0;
76-
pub const CPU_SUBTYPE_HPPA_7100: i32 = 0; // compat
76+
pub const CPU_SUBTYPE_HPPA_7100: i32 = 0;
7777
pub const CPU_SUBTYPE_HPPA_7100LC: i32 = 1;
7878
pub const CPU_SUBTYPE_MC88000_ALL: i32 = 0;
7979
pub const CPU_SUBTYPE_MC88100: i32 = 1;
8080
pub const CPU_SUBTYPE_MC88110: i32 = 2;
8181
pub const CPU_SUBTYPE_SPARC_ALL: i32 = 0;
8282
pub const CPU_SUBTYPE_I860_ALL: i32 = 0;
8383
pub const CPU_SUBTYPE_I860_860: i32 = 1;
84-
8584
pub const CPU_SUBTYPE_POWERPC_ALL: i32 = 0;
8685
pub const CPU_SUBTYPE_POWERPC_601: i32 = 1;
8786
pub const CPU_SUBTYPE_POWERPC_602: i32 = 2;
@@ -95,23 +94,21 @@ pub const CPU_SUBTYPE_POWERPC_750: i32 = 9;
9594
pub const CPU_SUBTYPE_POWERPC_7400: i32 = 10;
9695
pub const CPU_SUBTYPE_POWERPC_7450: i32 = 11;
9796
pub const CPU_SUBTYPE_POWERPC_970: i32 = 100;
98-
9997
pub const CPU_SUBTYPE_ARM_ALL: i32 = 0;
10098
pub const CPU_SUBTYPE_ARM_V4T: i32 = 5;
10199
pub const CPU_SUBTYPE_ARM_V6: i32 = 6;
102100
pub const CPU_SUBTYPE_ARM_V5TEJ: i32 = 7;
103101
pub const CPU_SUBTYPE_ARM_XSCALE: i32 = 8;
104102
pub const CPU_SUBTYPE_ARM_V7: i32 = 9;
105-
pub const CPU_SUBTYPE_ARM_V7F: i32 = 10; // Cortex A9
106-
pub const CPU_SUBTYPE_ARM_V7S: i32 = 11; // Swift
103+
pub const CPU_SUBTYPE_ARM_V7F: i32 = 10;
104+
pub const CPU_SUBTYPE_ARM_V7S: i32 = 11;
107105
pub const CPU_SUBTYPE_ARM_V7K: i32 = 12;
108-
pub const CPU_SUBTYPE_ARM_V6M: i32 = 14; // Not meant to be run under xnu
109-
pub const CPU_SUBTYPE_ARM_V7M: i32 = 15; // Not meant to be run under xnu
110-
pub const CPU_SUBTYPE_ARM_V7EM: i32 = 16; // Not meant to be run under xnu
106+
pub const CPU_SUBTYPE_ARM_V6M: i32 = 14;
107+
pub const CPU_SUBTYPE_ARM_V7M: i32 = 15;
108+
pub const CPU_SUBTYPE_ARM_V7EM: i32 = 16;
111109
pub const CPU_SUBTYPE_ARM_V8: i32 = 13;
112110
pub const CPU_SUBTYPE_ARM64_ALL: i32 = 0;
113111
pub const CPU_SUBTYPE_ARM64_V8: i32 = 1;
114-
115112
pub const CPUFAMILY_UNKNOWN: u32 = 0;
116113
pub const CPUFAMILY_POWERPC_G3: u32 = 0xcee41549;
117114
pub const CPUFAMILY_POWERPC_G4: u32 = 0x77c184ae;
@@ -180,12 +177,6 @@ pub const MH_HAS_TLV_DESCRIPTORS: u32 = 0x800000; // Contains a section of type
180177
pub const MH_NO_HEAP_EXECUTION: u32 = 0x1000000; // Runs the main executable with a non-executable heap
181178
pub const MH_APP_EXTENSION_SAFE: u32 = 0x02000000; // Linked for use in an application extension
182179

183-
pub const MH_MAGIC: u32 = 0xfeedface; // Big endian, 32 bit Mach-O
184-
pub const MH_CIGAM: u32 = 0xcefaedfe; // Little endian, 32 bit Mach-O
185-
186-
pub const MH_MAGIC_64: u32 = 0xfeedfacf; // Big endian, 64 bit Mach-O
187-
pub const MH_CIGAM_64: u32 = 0xcffaedfe; // Little endian, 64 bit Mach-O
188-
189180
// load commands
190181
pub const LC_REQ_DYLD: u32 = 0x80000000;
191182

src/header.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,7 @@ pub struct MachHeader32 {
4343
}
4444

4545
impl MachHeader32 {
46-
pub fn from_file<R: Read, E: byteorder::ByteOrder>(
47-
file: &mut R,
48-
magic: u32,
49-
) -> io::Result<MachHeader> {
46+
pub fn from_file<R: Read, E: byteorder::ByteOrder>(file: &mut R, magic: u32) -> io::Result<MachHeader> {
5047
let header = MachHeader32 {
5148
magic,
5249
cputype: file.read_i32::<E>()?,
@@ -73,10 +70,7 @@ pub struct MachHeader64 {
7370
}
7471

7572
impl MachHeader64 {
76-
pub fn from_file<R: Read, E: byteorder::ByteOrder>(
77-
file: &mut R,
78-
magic: u32,
79-
) -> io::Result<MachHeader> {
73+
pub fn from_file<R: Read, E: byteorder::ByteOrder>(file: &mut R, magic: u32) -> io::Result<MachHeader> {
8074
let header = MachHeader64 {
8175
magic,
8276
cputype: file.read_i32::<E>()?,

0 commit comments

Comments
 (0)