mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Thu Apr 20 22:23:58 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): Point the return address for sigreturn's frame at a "hlt" insn so it will definitely crash if sigreturn returns. HAVE_WEAK_SYMBOLS for doing weak_alias.
This commit is contained in:
parent
67be1ecfe5
commit
11d90def8c
@ -1,7 +1,13 @@
|
||||
Thu Apr 20 22:23:58 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
||||
|
||||
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
|
||||
Point the return address for sigreturn's frame at a "hlt" insn so
|
||||
it will definitely crash if sigreturn returns.
|
||||
|
||||
Wed Apr 19 18:40:11 1995 Brendan Kehoe (brendan@zen.org)
|
||||
|
||||
* time/tzset.c (__tzname, __daylight, __timezone): Don't check
|
||||
HAVE_WEAK_SYBMOLS for doing weak_alias.
|
||||
HAVE_WEAK_SYMBOLS for doing weak_alias.
|
||||
|
||||
Wed Apr 19 18:12:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
||||
|
||||
|
@ -44,7 +44,7 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
|
||||
volatile int rpc_wait,
|
||||
struct machine_thread_all_state *state)
|
||||
{
|
||||
__label__ trampoline, rpc_wait_trampoline;
|
||||
__label__ trampoline, rpc_wait_trampoline, firewall;
|
||||
void *volatile sigsp;
|
||||
struct sigcontext *scp;
|
||||
struct
|
||||
@ -143,6 +143,7 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
|
||||
stackframe->sigcode = sigcode;
|
||||
stackframe->scp = stackframe->return_scp = scp = &stackframe->ctx;
|
||||
stackframe->sigreturn_addr = &__sigreturn;
|
||||
stackframe->sigreturn_returns_here = &&firewall; /* Crash on return. */
|
||||
|
||||
/* Set up the sigcontext from the current state of the thread. */
|
||||
|
||||
@ -255,6 +256,9 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
|
||||
__sigreturn (SCP); this call never returns. */
|
||||
"ret");
|
||||
|
||||
firewall:
|
||||
asm volatile ("hlt");
|
||||
|
||||
/* NOTREACHED */
|
||||
return NULL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user