mirror of git://sourceware.org/git/glibc.git
Implement __sigsetjmp instead of __setjmp; call __sigsetjmp_aux instead of
__setjmp_aux.
This commit is contained in:
parent
0df328ab41
commit
e5eb42c555
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue