Implement __sigsetjmp instead of __setjmp; call __sigsetjmp_aux instead of

__setjmp_aux.
This commit is contained in:
Roland McGrath 1994-12-04 18:07:13 +00:00
parent 0df328ab41
commit e5eb42c555
2 changed files with 9 additions and 10 deletions

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1992 Free Software Foundation, Inc. /* Copyright (C) 1992, 1994 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -18,12 +18,12 @@ Cambridge, MA 02139, USA. */
#include <sysdep.h> #include <sysdep.h>
/* The function __setjmp_aux saves all the registers, but it can't /* The function __sigsetjmp_aux saves all the registers, but it can't
reliably access the stack or frame pointers, so we pass them in as reliably access the stack or frame pointers, so we pass them in as
extra arguments. */ extra arguments. */
ENTRY (__setjmp) ENTRY (__sigsetjmp)
lda $27, __setjmp_aux /* Load address to jump to. */ lda $27, __sigsetjmp_aux/* Load address to jump to. */
bis $15, $15, $17 /* Pass FP as 2nd arg. */ bis $15, $15, $17 /* Pass FP as 2nd arg. */
bis $30, $30, $18 /* Pass SP as 3nd arg. */ bis $30, $30, $18 /* Pass SP as 3nd arg. */
jmp $31, ($27), __setjmp_aux /* Call __setjmp_aux. */ jmp $31, ($27), __sigsetjmp_aux /* Call __sigsetjmp_aux. */
.end __setjmp .end __sigsetjmp

View File

@ -18,15 +18,14 @@ Cambridge, MA 02139, USA. */
#include <sysdep.h> #include <sysdep.h>
/* The function __setjmp_aux saves all the registers, but it can't /* The function __sigsetjmp_aux saves all the registers, but it can't
reliably access the stack or frame pointers, so we pass them in as reliably access the stack or frame pointers, so we pass them in as
extra arguments. */ extra arguments. */
ENTRY (__setjmp) ENTRY (__sigsetjmp)
move a1, sp move a1, sp
#ifdef __sgi__ #ifdef __sgi__
move a2, fp move a2, fp
#else #else
move a2, $fp move a2, $fp
#endif #endif
j __setjmp_aux j __sigsetjmp_aux