OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [newlib-1.18.0/] [newlib-1.18.0-or32-1.0rc1/] [newlib/] [libc/] [stdlib/] [abort.c] - Diff between revs 207 and 345

Only display areas with differences | Details | Blame | View Log

Rev 207 Rev 345
/* NetWare can not use this implementation of abort.  It provides its
/* 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
   own version of abort in clib.nlm.  If we can not use clib.nlm, then
   we must write abort in sys/netware.  */
   we must write abort in sys/netware.  */
 
 
#ifdef ABORT_PROVIDED
#ifdef ABORT_PROVIDED
 
 
int _dummy_abort = 1;
int _dummy_abort = 1;
 
 
#else
#else
 
 
/*
/*
FUNCTION
FUNCTION
<<abort>>---abnormal termination of a program
<<abort>>---abnormal termination of a program
 
 
INDEX
INDEX
        abort
        abort
 
 
ANSI_SYNOPSIS
ANSI_SYNOPSIS
        #include <stdlib.h>
        #include <stdlib.h>
        void abort(void);
        void abort(void);
 
 
TRAD_SYNOPSIS
TRAD_SYNOPSIS
        #include <stdlib.h>
        #include <stdlib.h>
        void abort();
        void abort();
 
 
DESCRIPTION
DESCRIPTION
Use <<abort>> to signal that your program has detected a condition it
Use <<abort>> to signal that your program has detected a condition it
cannot deal with.  Normally, <<abort>> ends your program's execution.
cannot deal with.  Normally, <<abort>> ends your program's execution.
 
 
Before terminating your program, <<abort>> raises the exception <<SIGABRT>>
Before terminating your program, <<abort>> raises the exception <<SIGABRT>>
(using `<<raise(SIGABRT)>>').  If you have used <<signal>> to register
(using `<<raise(SIGABRT)>>').  If you have used <<signal>> to register
an exception handler for this condition, that handler has the
an exception handler for this condition, that handler has the
opportunity to retain control, thereby avoiding program termination.
opportunity to retain control, thereby avoiding program termination.
 
 
In this implementation, <<abort>> does not perform any stream- or
In this implementation, <<abort>> does not perform any stream- or
file-related cleanup (the host environment may do so; if not, you can
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>>
arrange for your program to do its own cleanup with a <<SIGABRT>>
exception handler).
exception handler).
 
 
RETURNS
RETURNS
<<abort>> does not return to its caller.
<<abort>> does not return to its caller.
 
 
PORTABILITY
PORTABILITY
ANSI C requires <<abort>>.
ANSI C requires <<abort>>.
 
 
Supporting OS subroutines required: <<_exit>> and optionally, <<write>>.
Supporting OS subroutines required: <<_exit>> and optionally, <<write>>.
*/
*/
 
 
#include <stdlib.h>
#include <stdlib.h>
#include <unistd.h>
#include <unistd.h>
#include <signal.h>
#include <signal.h>
 
 
_VOID
_VOID
_DEFUN_VOID (abort)
_DEFUN_VOID (abort)
{
{
#ifdef ABORT_MESSAGE
#ifdef ABORT_MESSAGE
  write (2, "Abort called\n", sizeof ("Abort called\n")-1);
  write (2, "Abort called\n", sizeof ("Abort called\n")-1);
#endif
#endif
 
 
  while (1)
  while (1)
    {
    {
      raise (SIGABRT);
      raise (SIGABRT);
      _exit (1);
      _exit (1);
    }
    }
}
}
 
 
#endif
#endif
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.