From 2f30e78edd92f726a6abbadc8d4f5a9bf23dd83f Mon Sep 17 00:00:00 2001 From: tracer-ics2023 Date: Sat, 14 Sep 2024 20:43:23 +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=2020:43:23=20up=202=20days,?= =?UTF-8?q?=2010:57,=20=201=20user,=20=20load=20average:=200.55,=200.55,?= =?UTF-8?q?=200.46?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- abstract-machine/klib/src/stdlib.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/abstract-machine/klib/src/stdlib.c b/abstract-machine/klib/src/stdlib.c index 382635d..e421ca7 100644 --- a/abstract-machine/klib/src/stdlib.c +++ b/abstract-machine/klib/src/stdlib.c @@ -29,12 +29,16 @@ int atoi(const char* nptr) { return x; } +static uint8_t* ptr; void *malloc(size_t size) { // On native, malloc() will be called during initializaion of C runtime. // Therefore do not call panic() here, else it will yield a dead recursion: // panic() -> putchar() -> (glibc) -> malloc() -> panic() #if !(defined(__ISA_NATIVE__) && defined(__NATIVE_USE_KLIB__)) - panic("Not implemented"); + if (ptr == NULL) ptr = heap.start; + // assert(ptr + size <= heap.end && ptr >= heap.start); + ptr += size; + return ptr - size; #endif return NULL; }