[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH] lib/nolibc: Provide abort()
Provide `void abort(void)` implementation with `<stdlib.h>`. The function terminates the kernel execution with crashed state by calling `ukplat_crash()`. Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> --- lib/nolibc/include/stdlib.h | 3 +++ lib/nolibc/stdlib.c | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/lib/nolibc/include/stdlib.h b/lib/nolibc/include/stdlib.h index 02dd8500..cd6651c4 100644 --- a/lib/nolibc/include/stdlib.h +++ b/lib/nolibc/include/stdlib.h @@ -28,6 +28,7 @@ #define __STDLIB_H__ #include <uk/config.h> +#include <uk/essentials.h> #ifdef __cplusplus extern "C" { @@ -86,6 +87,8 @@ int posix_memalign(void **memptr, size_t align, size_t size); void *memalign(size_t align, size_t size); #endif /* CONFIG_LIBUKALLOC */ +void abort(void) __noreturn; + #if CONFIG_LIBPOSIX_PROCESS int system(const char *command); #endif diff --git a/lib/nolibc/stdlib.c b/lib/nolibc/stdlib.c index c83c6de5..5cab9b28 100644 --- a/lib/nolibc/stdlib.c +++ b/lib/nolibc/stdlib.c @@ -56,6 +56,8 @@ #include <stdlib.h> #include <limits.h> #include <ctype.h> +#include <uk/print.h> +#include <uk/plat/bootstrap.h> #define __DECONST(type, var) ((type)(uintptr_t)(const void *)(var)) @@ -412,3 +414,9 @@ int atoi(const char *s) return (int) atoll; } + +void abort(void) +{ + uk_pr_crit("Abnormal termination!\n"); + ukplat_crash(); +} -- 2.20.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |