glibc/sysdeps/stub/exc2signal.c

72 lines
1.9 KiB
C
Raw Normal View History

1995-02-18 09:27:10 +08:00
/* Translate Mach exception codes into signal numbers. Stub version.
Thu Apr 27 01:24:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * configure.in: Unless --without-fp, prepend */fpu before each machine dir in $mach; don't prepend FPU dirs at end. If --with-elf, prepend MACHINE/elf directories at end; don't insert them into $mach. * Makerules (dist): Filter out *.[cSs] from $(distribute) in deps. * sysdeps/stub/clock.c: Added stub warning. * sysdeps/stub/dirfd.c: Likewise. * sysdeps/stub/exc2signal.c: Likewise. * sysdeps/stub/fdopen.c: Likewise. * sysdeps/stub/flock.c: Likewise. * sysdeps/stub/fpathconf.c: Likewise. * sysdeps/stub/ftruncate.c: Likewise. * sysdeps/stub/gtty.c: Likewise. * sysdeps/stub/isatty.c: Likewise. * sysdeps/stub/killpg.c: Likewise. * sysdeps/stub/madvise.c: Likewise. * sysdeps/stub/mkstemp.c: Likewise. * sysdeps/stub/mktemp.c: Likewise. * sysdeps/stub/mprotect.c: Likewise. * sysdeps/stub/msync.c: Likewise. * sysdeps/stub/pathconf.c: Likewise. * sysdeps/stub/poll.c: Likewise. * sysdeps/stub/raise.c: Likewise. * sysdeps/stub/readv.c: Likewise. * sysdeps/stub/setenv.c: Likewise. * sysdeps/stub/setlogin.c: Likewise. * sysdeps/stub/sigaltstack.c: Likewise. * sysdeps/stub/sigintr.c: Likewise. * sysdeps/stub/sigstack.c: Likewise. * sysdeps/stub/sleep.c: Likewise. * sysdeps/stub/sstk.c: Likewise. * sysdeps/stub/stime.c: Likewise. * sysdeps/stub/stty.c: Likewise. * sysdeps/stub/syscall.c: Likewise. * sysdeps/stub/sysconf.c: Likewise. * sysdeps/stub/truncate.c: Likewise. * sysdeps/stub/ualarm.c: Likewise. * sysdeps/stub/usleep.c: Likewise. * sysdeps/stub/utimes.c: Likewise. * sysdeps/stub/writev.c: Likewise. * sysdeps/stub/libc_fatal.c: Remove __NORETURN keyword. Wed Apr 26 16:06:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * locale/loadlocale.c (_nl_free_locale): Do nothing if DATA is null. Tue Apr 25 17:17:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * posix/glob.c (glob): If GLOB_MARK set, stat names to find directories and append slashes to them in final pass before sorting. (glob_in_dir): If GLOB_MARK set, just allocate the extra char for the slash; never append it here.
1995-04-27 13:47:52 +08:00
Copyright (C) 1991, 1992, 1994, 1995 Free Software Foundation, Inc.
1995-02-18 09:27:10 +08:00
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <hurd.h>
Thu Apr 27 01:24:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * configure.in: Unless --without-fp, prepend */fpu before each machine dir in $mach; don't prepend FPU dirs at end. If --with-elf, prepend MACHINE/elf directories at end; don't insert them into $mach. * Makerules (dist): Filter out *.[cSs] from $(distribute) in deps. * sysdeps/stub/clock.c: Added stub warning. * sysdeps/stub/dirfd.c: Likewise. * sysdeps/stub/exc2signal.c: Likewise. * sysdeps/stub/fdopen.c: Likewise. * sysdeps/stub/flock.c: Likewise. * sysdeps/stub/fpathconf.c: Likewise. * sysdeps/stub/ftruncate.c: Likewise. * sysdeps/stub/gtty.c: Likewise. * sysdeps/stub/isatty.c: Likewise. * sysdeps/stub/killpg.c: Likewise. * sysdeps/stub/madvise.c: Likewise. * sysdeps/stub/mkstemp.c: Likewise. * sysdeps/stub/mktemp.c: Likewise. * sysdeps/stub/mprotect.c: Likewise. * sysdeps/stub/msync.c: Likewise. * sysdeps/stub/pathconf.c: Likewise. * sysdeps/stub/poll.c: Likewise. * sysdeps/stub/raise.c: Likewise. * sysdeps/stub/readv.c: Likewise. * sysdeps/stub/setenv.c: Likewise. * sysdeps/stub/setlogin.c: Likewise. * sysdeps/stub/sigaltstack.c: Likewise. * sysdeps/stub/sigintr.c: Likewise. * sysdeps/stub/sigstack.c: Likewise. * sysdeps/stub/sleep.c: Likewise. * sysdeps/stub/sstk.c: Likewise. * sysdeps/stub/stime.c: Likewise. * sysdeps/stub/stty.c: Likewise. * sysdeps/stub/syscall.c: Likewise. * sysdeps/stub/sysconf.c: Likewise. * sysdeps/stub/truncate.c: Likewise. * sysdeps/stub/ualarm.c: Likewise. * sysdeps/stub/usleep.c: Likewise. * sysdeps/stub/utimes.c: Likewise. * sysdeps/stub/writev.c: Likewise. * sysdeps/stub/libc_fatal.c: Remove __NORETURN keyword. Wed Apr 26 16:06:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * locale/loadlocale.c (_nl_free_locale): Do nothing if DATA is null. Tue Apr 25 17:17:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * posix/glob.c (glob): If GLOB_MARK set, stat names to find directories and append slashes to them in final pass before sorting. (glob_in_dir): If GLOB_MARK set, just allocate the extra char for the slash; never append it here.
1995-04-27 13:47:52 +08:00
/* This file must be modified with machine-dependent details. */
#error "need to write sysdeps/mach/hurd/MACHINE/exc2signal.c"
1995-02-18 09:27:10 +08:00
/* Translate the Mach exception codes, as received in an `exception_raise' RPC,
into a signal number and signal subcode. */
void
_hurd_exception2signal (int exception, int code, int subcode,
int *signo, int *sigcode, int *error)
{
*error = 0;
switch (exception)
{
default:
*signo = SIGIOT;
*sigcode = exception;
break;
case EXC_BAD_ACCESS:
if (code == KERN_PROTECTION_FAILURE)
*signo = SIGSEGV;
else
*signo = SIGBUS;
*sigcode = subcode;
*error = code;
break;
case EXC_BAD_INSTRUCTION:
*signo = SIGILL;
*sigcode = 0;
break;
case EXC_ARITHMETIC:
*signo = SIGFPE;
*sigcode = 0;
break;
case EXC_EMULATION:
case EXC_SOFTWARE:
*signo = SIGEMT;
*sigcode = 0;
break;
case EXC_BREAKPOINT:
*signo = SIGTRAP;
*sigcode = 0;
break;
}
}