summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/abort.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/lib/abort.c')
-rw-r--r--mdk-stage1/dietlibc/lib/abort.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/lib/abort.c b/mdk-stage1/dietlibc/lib/abort.c
new file mode 100644
index 000000000..e6374c5ac
--- /dev/null
+++ b/mdk-stage1/dietlibc/lib/abort.c
@@ -0,0 +1,14 @@
+#include <linux/types.h>
+#include <linux/signal.h>
+#include <signal.h>
+
+extern int exit(int code) __attribute__ ((noreturn));
+
+void abort() {
+ sigset_t t;
+ if (!sigemptyset(&t) && !sigaddset(&t, SIGABRT))
+ sigprocmask(SIG_UNBLOCK, &t, 0);
+ while (1)
+ if (raise(SIGABRT))
+ exit(127);
+}