summaryrefslogtreecommitdiffstats
path: root/libgloss/arm/_exit.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/arm/_exit.c')
-rw-r--r--libgloss/arm/_exit.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/libgloss/arm/_exit.c b/libgloss/arm/_exit.c
new file mode 100644
index 000000000..409cccc32
--- /dev/null
+++ b/libgloss/arm/_exit.c
@@ -0,0 +1,18 @@
+#include <_ansi.h>
+#include "swi.h"
+
+void _exit _PARAMS ((int));
+
+void
+_exit (int n)
+{
+ /* FIXME: return code is thrown away. */
+
+#ifdef ARM_RDI_MONITOR
+ do_AngelSWI (AngelSWI_Reason_ReportException,
+ (void *) ADP_Stopped_ApplicationExit);
+#else
+ asm ("swi %a0" :: "i" (SWI_Exit));
+#endif
+ n = n;
+}