diff --git a/headers/posix/stdlib.h b/headers/posix/stdlib.h index d1db4ab5db..4890caf0a2 100644 --- a/headers/posix/stdlib.h +++ b/headers/posix/stdlib.h @@ -52,7 +52,7 @@ extern int posix_memalign(void **_pointer, size_t alignment, size_t size); extern void *realloc(void *oldPointer, size_t newSize); /* process termination */ -extern void abort(void); +extern void abort(void) __attribute__((noreturn)); extern int atexit(void (*func)(void)); extern int atfork(void (*func)(void)); extern void exit(int) __attribute__((noreturn)); diff --git a/src/system/kernel/util/kernel_cpp.cpp b/src/system/kernel/util/kernel_cpp.cpp index 62f098b8d7..db28cb958f 100644 --- a/src/system/kernel/util/kernel_cpp.cpp +++ b/src/system/kernel/util/kernel_cpp.cpp @@ -381,7 +381,8 @@ extern "C" void abort() { - panic("abort() called!"); + while (true) + panic("abort() called!"); }