#include #include extern "C" [[noreturn]] void abort() noexcept { //TODO while (1) ; } extern "C" void *malloc(size_t size) { size_t *block = (size_t *)euler::heap::get_block(size + 8); *block = size; return block + 1; } extern "C" void free(void *ptr) { size_t *block = (size_t *)ptr - 1; euler::heap::return_block(block, *block + 8); }