2006-06-05 Shaun Jackman <sjackman@gmail.com>

configure.host (newlib_cflags) [arm, thumb, xscale]:  Remove
        -DABORT_PROVIDED flag.
        * newlib/libc/sys/arm/syscalls.c (kill, exit): Sync with libgloss.
        * newlib/libc/sys/arm/libcfunc.c (abort): Ditto.
This commit is contained in:
Jeff Johnston 2006-06-05 19:45:08 +00:00
parent 9a9ac027e8
commit 6ea486a6df
4 changed files with 35 additions and 34 deletions

View File

@ -1,3 +1,10 @@
2006-06-05 Shaun Jackman <sjackman@gmail.com>
configure.host (newlib_cflags) [arm, thumb, xscale]: Remove
-DABORT_PROVIDED flag.
* newlib/libc/sys/arm/syscalls.c (kill, exit): Sync with libgloss.
* newlib/libc/sys/arm/libcfunc.c (abort): Ditto.
2006-06-05 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am (AM_MAKEFLAGS): Pass CCASFLAGS.

View File

@ -510,11 +510,11 @@ case "${host}" in
;;
arm-*-pe)
syscall_dir=syscalls
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
;;
arm-*-*)
syscall_dir=syscalls
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
# If newlib is supplying syscalls, select which debug protocol is being used.
# ARM_RDP_MONITOR selects the Demon monitor.
# ARM_RDI_MONITOR selects the Angel monitor.
@ -553,7 +553,7 @@ case "${host}" in
;;
ep9312-*-*)
syscall_dir=syscalls
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
fi
@ -660,16 +660,16 @@ case "${host}" in
;;
strongarm-*-*)
syscall_dir=syscalls
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
;;
thumb-*-pe)
syscall_dir=syscalls
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
# Don't use the debugging protocols just yet.
;;
thumb-*-*)
syscall_dir=syscalls
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
# If newlib is supplying syscalls, select which debug protocol is being used.
# ARM_RDP_MONITOR selects the Demon monitor.
# ARM_RDI_MONITOR selects the Angel monitor.
@ -700,7 +700,7 @@ case "${host}" in
;;
xscale-*-*)
syscall_dir=syscalls
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY"
newlib_cflags="${newlib_cflags} -DHAVE_SYSTEM -DHAVE_RENAME"
if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then
newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"

View File

@ -23,17 +23,6 @@ do_AngelSWI (int reason, void * arg)
#endif /* ARM_RDI_MONITOR */
void
abort (void)
{
#ifdef ARM_RDI_MONITOR
do_AngelSWI (AngelSWI_Reason_ReportException,
(void *) ADP_Stopped_RunTimeError);
#else
asm ("mov r0,#17\nswi %a0" :: "i" (SWI_Exit));
#endif
}
void
alarm (void)
{

View File

@ -12,6 +12,7 @@
#include <sys/times.h>
#include <errno.h>
#include <reent.h>
#include <signal.h>
#include <unistd.h>
#include "swi.h"
@ -433,30 +434,34 @@ _close (int file)
return wrap (_swiclose (file));
}
void
_exit (int n)
int
_kill (int pid, int sig)
{
/* FIXME: return code is thrown away. */
(void)pid; (void)sig;
#ifdef ARM_RDI_MONITOR
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
n = n;
}
int
_kill (int n, int m)
void
_exit (int status)
{
#ifdef ARM_RDI_MONITOR
return do_AngelSWI (AngelSWI_Reason_ReportException,
(void *) ADP_Stopped_ApplicationExit);
#else
asm ("swi %a0" :: "i" (SWI_Exit));
#endif
n = n; m = m;
/* There is only one SWI for both _exit and _kill. For _exit, call
the SWI with the second argument set to -1, an invalid value for
signum, so that the SWI handler can distinguish the two calls.
Note: The RDI implementation of _kill throws away both its
arguments. */
_kill(status, -1);
}
int