-/* Copyright (C) 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1994, 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
#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. */
- 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
+ENTRY (__sigsetjmp)
+ ldgp $29, 0($27)
+ .prologue 1
+
+ bis $30, $30, $18 /* Pass SP as 3rd arg. */
+ bis $15, $15, $19 /* Pass FP as 4th arg. */
+ jmp $31, __sigsetjmp_aux /* Call __sigsetjmp_aux. */
+
+ END(__sigsetjmp)