update from main archive 960807
[kopensolaris-gnu/glibc.git] / sysdeps / alpha / setjmp.S
index a5de80c..59929a0 100644 (file)
@@ -1,4 +1,4 @@
-/* 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
@@ -18,11 +18,15 @@ 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.  */
-       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.  */
+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)