From 5bc66df14f5bdafee714d7ac5a2a8e67c90e3f7d Mon Sep 17 00:00:00 2001 From: "Eddy S." Date: Sat, 22 Mar 2025 12:50:17 +0000 Subject: [PATCH] patterns/elf: Set endianness globally (#362) --- patterns/elf.hexpat | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/patterns/elf.hexpat b/patterns/elf.hexpat index 77dc604..79a6634 100644 --- a/patterns/elf.hexpat +++ b/patterns/elf.hexpat @@ -744,7 +744,12 @@ struct ELF { }; ELF elf @ 0x00; - +EI_DATA endian @ 0x05 [[hidden]]; +match (endian) { + (EI_DATA::ELFDATA2LSB): std::core::set_endian(std::mem::Endian::Little); + (EI_DATA::ELFDATA2MSB): std::core::set_endian(std::mem::Endian::Big); + (_): std::core::set_endian(std::mem::Endian::Native); +} fn gen_shdr_disp_name(ref auto pattern, str member_name, u8 member_index) { return std::format(