19 lines
386 B
C++
19 lines
386 B
C++
#include <euler/heap.hpp>
|
|
#include <cstdlib>
|
|
|
|
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);
|
|
}
|