From 6bea51e5959e4bd9b8ad31cbd41441b2518d0f30 Mon Sep 17 00:00:00 2001 From: tracer-ics2023 Date: Tue, 10 Sep 2024 23:53:04 +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=2023:53:03=20up=205=20days,?= =?UTF-8?q?=2012:01,=20=203=20users,=20=20load=20average:=200.83,=200.74,?= =?UTF-8?q?=200.59?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/src/monitor/elf.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nemu/src/monitor/elf.c b/nemu/src/monitor/elf.c index e8502fb..4a5067a 100644 --- a/nemu/src/monitor/elf.c +++ b/nemu/src/monitor/elf.c @@ -77,13 +77,13 @@ void init_elf(const char* elf_file) { // get symbol table and string table Elf_Sym *psymt = NULL; char* pstrt = NULL; - size_t symt_sz = 0, strt_sz = 0; + 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_sz = shdr[i].sh_entsize; - Elf_Sym sym[symt_sz]; + symt_len = shdr[i].sh_entsize; + Elf_Sym sym[symt_len]; ret = fread(sym, shdr[i].sh_size, 1, fp); assert(ret == 1); psymt = sym; @@ -99,7 +99,8 @@ void init_elf(const char* elf_file) { // filling ftrace assert(pstrt != NULL && pstrt != NULL); - for (int i = 0; i < symt_sz; i ++) { + for (int i = 0; i < symt_len; i ++) { + Log("---LOG: %3d: %08x %5d %x", i, psymt[i].st_value, psymt[i].st_size, psymt[i].st_name); if (ELF_ST_TYPE(psymt[i].st_info) == STT_FUNC) { // Warning due to elf_ftrace is global variable so you don't need to set '\0' in the end // strncpy(elf_ftrace[elf_ftrace_size].fname, pstrt + psymt[i].st_name, @@ -108,7 +109,6 @@ void init_elf(const char* elf_file) { elf_ftrace[elf_ftrace_size].size = psymt[i].st_size; elf_ftrace[elf_ftrace_size].end = psymt[i].st_value + psymt[i].st_size - 1; elf_ftrace_size ++; - Log("---LOG: %d: %08x %d", i, psymt[i].st_value, psymt[i].st_name); } }