From ca7d31b870a882dbf165b09bd822d0b2c0845dc8 Mon Sep 17 00:00:00 2001 From: tracer-ics2023 Date: Wed, 11 Sep 2024 00:21:00 +0800 Subject: [PATCH] =?UTF-8?q?>=20=20compile=20NEMU=20221220000=20=E5=BC=A0?= =?UTF-8?q?=E4=B8=89=20Linux=20zzy=205.15.146.1-microsoft-standard-WSL2=20?= =?UTF-8?q?#1=20SMP=20Thu=20Jan=2011=2004:09:03=20UTC=202024=20x86=5F64=20?= =?UTF-8?q?x86=5F64=20x86=5F64=20GNU/Linux=20=2000:20:59=20up=205=20days,?= =?UTF-8?q?=2012:29,=20=203=20users,=20=20load=20average:=200.53,=200.49,?= =?UTF-8?q?=200.47?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/src/monitor/elf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nemu/src/monitor/elf.c b/nemu/src/monitor/elf.c index d05daa3..57952e7 100644 --- a/nemu/src/monitor/elf.c +++ b/nemu/src/monitor/elf.c @@ -80,18 +80,18 @@ void init_elf(const char* elf_file) { size_t symt_len = 0, strt_sz = 0; for (int i = 0; i < ehdr.e_shnum; i++) { if (shdr[i].sh_type == SHT_SYMTAB) { - fseek(fp, shdr[i].sh_offset, SEEK_SET); assert(shdr[i].sh_size % sizeof(Elf_Sym) == 0); symt_len = shdr[i].sh_size / shdr[i].sh_entsize; Elf_Sym sym[symt_len]; + fseek(fp, shdr[i].sh_offset, SEEK_SET); ret = fread(sym, shdr[i].sh_size, 1, fp); assert(ret == 1); psymt = sym; - Log("SYMTAB %08x %06x %06x", shdr[i].sh_addr, shdr[i].sh_offset, shdr[i].sh_size); + Log("SYMTAB %ld, %08x %06x %06x", symt_len, shdr[i].sh_addr, shdr[i].sh_offset, shdr[i].sh_size); } else if (shdr[i].sh_type == SHT_STRTAB && i != ehdr.e_shstrndx) { strt_sz = shdr[i].sh_size; - fseek(fp, shdr[i].sh_offset, SEEK_SET); char buffer[strt_sz]; + fseek(fp, shdr[i].sh_offset, SEEK_SET); ret = fread(buffer, strt_sz, 1, fp); assert(ret == 1); pstrt = buffer;