From 4c602151f22a2f3bef9eed5adc61be1e3f9762d6 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Mon, 5 Jun 2006 19:46:18 +0000 Subject: 2006-06-05 Shaun Jackman * arm/syscalls.c (kill) [ARM_RDI_MONITOR]: Use the signal argument to choose an ADP exception reason. * arm/libcfunc.c (abort): Remove this function. --- libgloss/arm/syscalls.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'libgloss/arm/syscalls.c') diff --git a/libgloss/arm/syscalls.c b/libgloss/arm/syscalls.c index a6d2f747e..855a374bd 100644 --- a/libgloss/arm/syscalls.c +++ b/libgloss/arm/syscalls.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "swi.h" @@ -463,9 +464,15 @@ _kill (int pid, int sig) { (void)pid; (void)sig; #ifdef ARM_RDI_MONITOR - /* Note: Both arguments are thrown away. */ - return do_AngelSWI (AngelSWI_Reason_ReportException, - (void *) ADP_Stopped_ApplicationExit); + /* Note: The pid argument is thrown away. */ + switch (sig) { + case SIGABRT: + return do_AngelSWI (AngelSWI_Reason_ReportException, + (void *) ADP_Stopped_RunTimeError); + default: + return do_AngelSWI (AngelSWI_Reason_ReportException, + (void *) ADP_Stopped_ApplicationExit); + } #else asm ("swi %a0" :: "i" (SWI_Exit)); #endif -- cgit v1.2.3