From 494ead3eb853b44cbdf0cb8c6a40d1334989f517 Mon Sep 17 00:00:00 2001 From: Daniel Bertalan Date: Mon, 5 Jul 2021 20:09:01 +0200 Subject: [PATCH] Kernel: Add `memchr` and `malloc` to StdLib.cpp These are needed by `libcxxabi`'s demangle support. `memchr` is taken straight-up from the `LibC/string.cpp` source code. --- Kernel/StdLib.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Kernel/StdLib.cpp b/Kernel/StdLib.cpp index 566762989f..71c76b35b0 100644 --- a/Kernel/StdLib.cpp +++ b/Kernel/StdLib.cpp @@ -396,6 +396,22 @@ char* strstr(const char* haystack, const char* needle) return const_cast(haystack); } +void* memchr(const void* ptr, int c, size_t size) +{ + char ch = c; + auto* cptr = (const char*)ptr; + for (size_t i = 0; i < size; ++i) { + if (cptr[i] == ch) + return const_cast(cptr + i); + } + return nullptr; +} + +void* malloc(size_t s) +{ + return kmalloc(s); +} + void* realloc(void* p, size_t s) { return krealloc(p, s);