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.
The GNU C Library is free software; you can redistribute it and/or
@ -18,12 +18,12 @@ Cambridge, MA 02139, USA. */
#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
extra arguments. */
ENTRY (__setjmp)
lda $27, __setjmp_aux /* Load address to jump to. */
ENTRY (__sigsetjmp)
lda $27, __sigsetjmp_aux/* Load address to jump to. */
bis $15, $15, $17 /* Pass FP as 2nd arg. */
bis $30, $30, $18 /* Pass SP as 3nd arg. */
jmp $31, ($27), __setjmp_aux /* Call __setjmp_aux. */
.end __setjmp
jmp $31, ($27), __sigsetjmp_aux /* Call __sigsetjmp_aux. */
.end __sigsetjmp

View File

@ -18,15 +18,14 @@ Cambridge, MA 02139, USA. */
#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
extra arguments. */
ENTRY (__setjmp)
ENTRY (__sigsetjmp)
move a1, sp
#ifdef __sgi__
move a2, fp
#else
move a2, $fp
#endif
j __setjmp_aux
j __sigsetjmp_aux