diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2009-09-28 16:42:21 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2009-09-28 16:42:21 +0000 |
commit | 6c249577fbcdbb3d34747d8ba1b7d5920ef5f2ab (patch) | |
tree | ad02b8119806819c0ab895dfb4cc1f332404da47 /newlib/libc/machine/microblaze/abort.c | |
parent | 587b75f7bdac34df1cef09ea70b0fbd88a27ff16 (diff) | |
download | cygnal-6c249577fbcdbb3d34747d8ba1b7d5920ef5f2ab.tar.gz cygnal-6c249577fbcdbb3d34747d8ba1b7d5920ef5f2ab.tar.bz2 cygnal-6c249577fbcdbb3d34747d8ba1b7d5920ef5f2ab.zip |
2009-09-28 Michael Eager <eager@eagercon.com>
* configure.host: Add microblaze.
* libc/include/machine/ieeefp.h [MICROBLAZE]: Define __IEEE_BIG_ENDIAN.
* libc/include/machine/setjmp.h [MICROBLAZE]: Define _JBLEN, _JBTYPE.
* libc/include/sys/config.h [MICROBLAZE]: Define _REENT_SMALL,
_UNIX98_THREAD_MUTEX_ATTRIBUTES.
* libc/include/sys/types.h: Treat XMK like rtems, define
PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE,
PTHREAD_MUTEX_DEFAULT, PTHREAD_STACK_MIN, define stuct pthread_attr_s.
* libc/machine/configure.in: Add microblaze.
* libc/machine/configure: Add microblaze (not regenerated).
* libc/machine/microblaze/configure.in: NEW.
* libc/machine/microblaze/configure: Generate.
* libc/machine/microblaze/Makefile.am: NEW.
* libc/machine/microblaze/Makefile.in: Generate.
* libc/machine/microblaze/{abort.c, strcmp.c, strcpy.c, strlen.c,
mallocr.c, longjmp.S, setjmp.S}: NEW.
* libc/stdlib/mallocr.c [MICROBLAZE]: Don't declare sbrk prototype,
mALLOc(): return malloc value.
Diffstat (limited to 'newlib/libc/machine/microblaze/abort.c')
-rw-r--r-- | newlib/libc/machine/microblaze/abort.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/newlib/libc/machine/microblaze/abort.c b/newlib/libc/machine/microblaze/abort.c new file mode 100644 index 000000000..b2c5a00b2 --- /dev/null +++ b/newlib/libc/machine/microblaze/abort.c @@ -0,0 +1,64 @@ +/* NetWare can not use this implementation of abort. It provides its + own version of abort in clib.nlm. If we can not use clib.nlm, then + we must write abort in sys/netware. */ + +#ifdef ABORT_PROVIDED + +int _dummy_abort = 1; + +#else + +/* +FUNCTION +<<abort>>---abnormal termination of a program + +INDEX + abort + +ANSI_SYNOPSIS + #include <stdlib.h> + void abort(void); + +TRAD_SYNOPSIS + #include <stdlib.h> + void abort(); + +DESCRIPTION +Use <<abort>> to signal that your program has detected a condition it +cannot deal with. Normally, <<abort>> ends your program's execution. + +Before terminating your program, <<abort>> raises the exception <<SIGABRT>> +(using `<<raise(SIGABRT)>>'). If you have used <<signal>> to register +an exception handler for this condition, that handler has the +opportunity to retain control, thereby avoiding program termination. + +In this implementation, <<abort>> does not perform any stream- or +file-related cleanup (the host environment may do so; if not, you can +arrange for your program to do its own cleanup with a <<SIGABRT>> +exception handler). + +RETURNS +<<abort>> does not return to its caller. + +PORTABILITY +ANSI C requires <<abort>>. + +Supporting OS subroutines required: <<_exit>> and optionally, <<write>>. +*/ + +#include <stdlib.h> +#include <unistd.h> +#include <signal.h> + +_VOID +_DEFUN_VOID (abort) +{ +#ifdef ABORT_MESSAGE + write (2, "Abort called\n", sizeof ("Abort called\n")-1); +#endif + + while (1) + { + exit(1); + } +} |