diff options
Diffstat (limited to 'libpsn00b/libc/abort.c')
| -rw-r--r-- | libpsn00b/libc/abort.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/libpsn00b/libc/abort.c b/libpsn00b/libc/abort.c index ca5ab1d..de4323d 100644 --- a/libpsn00b/libc/abort.c +++ b/libpsn00b/libc/abort.c @@ -1,9 +1,29 @@ + #include <stdio.h> -void abort() { +/* Standard abort */ +void abort() { printf("abort()\n"); - - while(1); -}
\ No newline at end of file + for (;;) + __asm__ volatile(""); +} + +/* Internal function used by assert() macro */ + +void _assert_abort(const char *file, int line, const char *expr) { + printf("%s:%d: assert(%s)\n", file, line, expr); + + for (;;) + __asm__ volatile(""); +} + +/* Pure virtual function call (C++) */ + +void __cxa_pure_virtual(void) { + printf("__cxa_pure_virtual()\n"); + + for (;;) + __asm__ volatile(""); +} |
