We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 27734a9 commit f428f83Copy full SHA for f428f83
1 file changed
src/lib.rs
@@ -88,7 +88,7 @@ where
88
const ET_EXEC: u16 = 0x0002;
89
/// Standard ELF magic header
90
const ELF_MAGIC: u32 = 0x7F454C46;
91
- /// 32-bit, little-endian, version 1, SysV
+ /// 32-bit, little-endian, version 1, low OS byte ignored.
92
const DESIRED_ELF_VERSION: u32 = 0x01010100;
93
94
/// Make a new loader
@@ -98,7 +98,8 @@ where
98
// File doesn't start 0x7F E L F
99
return Err(Error::NotAnElfFile);
100
}
101
- let class_endian_version_abi = data_source.read_u32_be(0x04)?;
+ // Mask out the OS byte which varies between Rust compiler versions.
102
+ let class_endian_version_abi = data_source.read_u32_be(0x04)? & 0xffffff00;
103
if class_endian_version_abi != Self::DESIRED_ELF_VERSION {
104
return Err(Error::WrongElfFile);
105
0 commit comments