diff options
author | Freya Murphy <freya@freyacat.org> | 2024-10-01 18:20:50 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-10-01 18:20:50 -0400 |
commit | 12e098b6823b7d688434bc69729216b2268b1852 (patch) | |
tree | 51385c1183ecb4caed550dfeea514512c4589aed /msim/load.c | |
parent | dont require phdr to link (diff) | |
download | mips-12e098b6823b7d688434bc69729216b2268b1852.tar.gz mips-12e098b6823b7d688434bc69729216b2268b1852.tar.bz2 mips-12e098b6823b7d688434bc69729216b2268b1852.zip |
fix sign extension, support branch delay slot
Diffstat (limited to '')
-rw-r--r-- | msim/load.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/msim/load.c b/msim/load.c index 77b62ed..a4029cf 100644 --- a/msim/load.c +++ b/msim/load.c @@ -52,12 +52,15 @@ static int load_ehdr(struct simulator *sim, struct load_state *state) res |= assert_ehdr(&baseline.e_##name, \ &ehdr.e_##name, size) \ + // ignore abi ver + ehdr.e_ident[EI_ABIVERSION] = 0x00; + int res = 0; EHDR_ASSERT(ident, EI_NIDENT); EHDR_ASSERT(type, sizeof(Elf32_Half)); EHDR_ASSERT(machine, sizeof(Elf32_Half)); EHDR_ASSERT(version, sizeof(Elf32_Word)); - EHDR_ASSERT(flags, sizeof(Elf32_Word)); + // EHDR_ASSERT(flags, sizeof(Elf32_Word)); EHDR_ASSERT(ehsize, sizeof(Elf32_Half)); EHDR_ASSERT(phentsize, sizeof(Elf32_Half)); EHDR_ASSERT(shentsize, sizeof(Elf32_Half)); |