diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2007-01-03 16:55:25 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2007-01-03 16:55:25 +0000 |
commit | 4d95d0e99afd7799f3c8b0e1273d67e1cd136e8d (patch) | |
tree | 0c6b70e5f7a987edcd99156f9ea25dc8280c9ea1 /libgloss/arm/_kill.c | |
parent | 35b4db0f3040b76139e03af1e888cb7d04f197cf (diff) | |
download | newlib-4d95d0e99afd7799f3c8b0e1273d67e1cd136e8d.zip newlib-4d95d0e99afd7799f3c8b0e1273d67e1cd136e8d.tar.gz newlib-4d95d0e99afd7799f3c8b0e1273d67e1cd136e8d.tar.bz2 |
2006-01-03 Kazu Hirata <kazu@codesourcery.com>
* arm/Makefile (RDPMON_OBJS): Add _exit.o and _kill.o.
(RDIMON_OBJS): Define in terms of RDPMON_OBJS.
(rdimon-_exit.o, rdimon-_kill.o): New.
* arm/_exit.c, arm/_kill.c: New.
* arm/syscalls.c (_exit, _kill): Remove.
Diffstat (limited to 'libgloss/arm/_kill.c')
-rw-r--r-- | libgloss/arm/_kill.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libgloss/arm/_kill.c b/libgloss/arm/_kill.c new file mode 100644 index 0000000..81354d4 --- /dev/null +++ b/libgloss/arm/_kill.c @@ -0,0 +1,25 @@ +#include <_ansi.h> +#include <signal.h> +#include "swi.h" + +int _kill _PARAMS ((int, int)); + +int +_kill (int pid, int sig) +{ + (void) pid; (void) sig; +#ifdef ARM_RDI_MONITOR + /* 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 +} |