| ... | @@ -106,6 +106,9 @@ pub fn parseCommon( | ... | @@ -106,6 +106,9 @@ pub fn parseCommon( |
| 106 | const header_buffer = try Elf.preadAllAlloc(gpa, handle, offset, @sizeOf(elf.Elf64_Ehdr)); | 106 | const header_buffer = try Elf.preadAllAlloc(gpa, handle, offset, @sizeOf(elf.Elf64_Ehdr)); |
| 107 | defer gpa.free(header_buffer); | 107 | defer gpa.free(header_buffer); |
| 108 | self.header = @as(*align(1) const elf.Elf64_Ehdr, @ptrCast(header_buffer)).*; | 108 | self.header = @as(*align(1) const elf.Elf64_Ehdr, @ptrCast(header_buffer)).*; |
| | 109 | if (!mem.eql(u8, self.header.?.e_ident[0..4], elf.MAGIC)) { |
| | 110 | return diags.failParse(path, "not an ELF file", .{}); |
| | 111 | } |
| 109 | | 112 | |
| 110 | const em = target.toElfMachine(); | 113 | const em = target.toElfMachine(); |
| 111 | if (em != self.header.?.e_machine) { | 114 | if (em != self.header.?.e_machine) { |