* hurd/hurdfault.c (_hurdsig_fault_init): Set qlimit on
FORWARD_SIGEXC to one. Uncomment setting of thread exc port, and move it to last thing.
This commit is contained in:
parent
808c413c90
commit
63f8940402
@ -35,6 +35,10 @@ Mon Feb 12 03:10:41 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
|
||||
* sysdeps/unix/sysv/sysv4/sigaltstack.S: File removed.
|
||||
* sysdeps/unix/sysv/sysv4/solaris2/utimes.S: File removed.
|
||||
|
||||
* hurd/hurdfault.c (_hurdsig_fault_init): Set qlimit on
|
||||
FORWARD_SIGEXC to one. Uncomment setting of thread exc port, and
|
||||
move it to last thing.
|
||||
|
||||
Sat Feb 10 05:57:08 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
|
||||
|
||||
* sysdeps/generic/make_siglist.c: #undef _SIGNAL_H before defining it.
|
||||
|
@ -113,6 +113,8 @@ _hurdsig_fault_init (void)
|
||||
struct machine_thread_state state;
|
||||
mach_port_t sigexc;
|
||||
|
||||
/* Allocate a port to receive signal thread exceptions.
|
||||
We will move this receive right to the proc server. */
|
||||
err = __mach_port_allocate (__mach_task_self (),
|
||||
MACH_PORT_RIGHT_RECEIVE, &sigexc);
|
||||
assert_perror (err);
|
||||
@ -120,16 +122,20 @@ _hurdsig_fault_init (void)
|
||||
MACH_PORT_RIGHT_RECEIVE, &forward_sigexc);
|
||||
assert_perror (err);
|
||||
|
||||
/* Allocate a port to receive the exception msgs forwarded
|
||||
from the proc server. */
|
||||
err = __mach_port_insert_right (__mach_task_self (), sigexc,
|
||||
sigexc, MACH_MSG_TYPE_MAKE_SEND);
|
||||
assert_perror (err);
|
||||
#if 0 /* XXX gdb bites */
|
||||
err = __thread_set_special_port (_hurd_msgport_thread,
|
||||
THREAD_EXCEPTION_PORT, sigexc);
|
||||
#endif
|
||||
__mach_port_deallocate (__mach_task_self (), sigexc);
|
||||
|
||||
/* Set the queue limit for this port to just one. The proc server will
|
||||
notice if we ever get a second exception while one remains queued and
|
||||
unreceived, and decide we are hopelessly buggy. */
|
||||
err = __mach_port_set_qlimit (__mach_task_self (), forward_sigexc, 1);
|
||||
assert_perror (err);
|
||||
|
||||
/* This state will be restored when we fault.
|
||||
It runs the function above. */
|
||||
memset (&state, 0, sizeof state);
|
||||
MACHINE_THREAD_STATE_SET_PC (&state, faulted);
|
||||
MACHINE_THREAD_STATE_SET_SP (&state, faultstack, sizeof faultstack);
|
||||
@ -143,5 +149,11 @@ _hurdsig_fault_init (void)
|
||||
(natural_t *) &state,
|
||||
MACHINE_THREAD_STATE_COUNT));
|
||||
assert_perror (err);
|
||||
|
||||
/* Direct signal thread exceptions to the proc server. */
|
||||
err = __thread_set_special_port (_hurd_msgport_thread,
|
||||
THREAD_EXCEPTION_PORT, sigexc);
|
||||
__mach_port_deallocate (__mach_task_self (), sigexc);
|
||||
assert_perror (err);
|
||||
}
|
||||
|
||||
|
@ -1,23 +0,0 @@
|
||||
/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
|
||||
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 <sysdep.h>
|
||||
|
||||
/* XXX: not 0 args */
|
||||
SYSCALL (sstk, 0)
|
||||
ret
|
@ -1,26 +0,0 @@
|
||||
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
|
||||
Contributed by Brendan Kehoe (brendan@zen.org).
|
||||
|
||||
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 <sysdep.h>
|
||||
|
||||
SYSCALL__ (getdirentries, 4)
|
||||
ret
|
||||
.end __getdirentries
|
||||
|
||||
weak_alias (__getdirentries, getdirentries)
|
||||
|
@ -1,26 +0,0 @@
|
||||
/* Copyright (C) 1992 Free Software Foundation, Inc.
|
||||
Contributed by Ian Lance Taylor (ian@airs.com).
|
||||
|
||||
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. */
|
||||
|
||||
/* Get various sorts of information about the system.
|
||||
This is an Ultrix only call. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
SYSCALL__ (getsysinfo, 5)
|
||||
ret
|
||||
.end __getsysinfo
|
@ -1,25 +0,0 @@
|
||||
/* Copyright (C) 1991, 1992, 1995 Free Software Foundation, Inc.
|
||||
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 <sysdep.h>
|
||||
|
||||
/* __sigvec is defined by sigtramp.c. */
|
||||
|
||||
PSEUDO (__raw_sigvec, sigvec, 3)
|
||||
ret
|
||||
.end __raw_sigvec
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1992 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1992, 1996 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -36,7 +36,6 @@ Cambridge, MA 02139, USA. */
|
||||
/* The user's signal handler is called with three arguments. */
|
||||
typedef void (*handler_type) (int sig, int code, struct sigcontext *);
|
||||
|
||||
/* Defined in __raw_sigvec.S. */
|
||||
extern int EXFUN(__raw_sigvec, (int sig, CONST struct sigvec *vec,
|
||||
struct sigvec *ovec,
|
||||
void (*)(int sig, int code,
|
@ -1,3 +1,3 @@
|
||||
# File name Caller Syscall name # args Strong name Weak names
|
||||
|
||||
getdents - getdirentries 4 __getdirentries getdirentries
|
||||
raw-sigvec sigvec sigvec 4 __raw_sigvec
|
@ -1,25 +0,0 @@
|
||||
/* Copyright (C) 1992, 1995 Free Software Foundation, Inc.
|
||||
Contributed by Brendan Kehoe (brendan@zen.org).
|
||||
|
||||
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 <sysdep.h>
|
||||
|
||||
SYSCALL__ (waitpid, 3)
|
||||
ret
|
||||
.end __waitpid
|
||||
|
||||
weak_alias (__waitpid, waitpid)
|
@ -1 +0,0 @@
|
||||
#include <sysdeps/unix/bsd/ultrix4/wait3.S>
|
@ -1,25 +0,0 @@
|
||||
/* Copyright (C) 1993 Free Software Foundation, Inc.
|
||||
Contributed by Brendan Kehoe (brendan@zen.org).
|
||||
|
||||
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 <sysdep.h>
|
||||
|
||||
/* XXX */
|
||||
#define SYS_waitid SYS_waitsys
|
||||
|
||||
SYSCALL__ (waitid, 3)
|
||||
ret
|
@ -1,2 +0,0 @@
|
||||
/* SVR4 uses the BSD 4.4 fchdir(2) syscall. */
|
||||
#include <sysdeps/unix/bsd/bsd4.4/fchdir.S>
|
@ -1,2 +0,0 @@
|
||||
/* SVR4 uses the BSD 4.4 setegid() system call. */
|
||||
#include <sysdeps/unix/bsd/bsd4.4/setegid.S>
|
@ -1,2 +0,0 @@
|
||||
/* SVR4 uses the BSD 4.4 seteuid() system call. */
|
||||
#include <sysdeps/unix/bsd/bsd4.4/seteuid.S>
|
@ -1,2 +0,0 @@
|
||||
/* SVR4 uses the BSD 4.4 sigaltstack syscall. */
|
||||
#include <sysdeps/unix/bsd/bsd4.4/sigaltstack.S>
|
@ -1,2 +0,0 @@
|
||||
/* Solaris has the BSD `utimes' function. */
|
||||
#include <sysdeps/unix/bsd/utimes.S>
|
Loading…
Reference in New Issue
Block a user