aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S10
1 files changed, 6 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S b/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
index 2968b65633..bdd841dda3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 2001 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu).
The GNU C Library is free software; you can redistribute it and/or
@@ -17,17 +17,19 @@
Boston, MA 02111-1307, USA. */
#include <sysdep.h>
+#include "ucontext_i.h"
-
-/* void setcontext(ucontext_t *ctx); */
+/* int setcontext(ucontext_t *ctx); */
.weak setcontext
ENTRY(setcontext)
mov 1, %o1
-/* void __setcontext(ucontext_t *ctx, int restoremask); */
+/* int __setcontext(ucontext_t *ctx, int restoremask); */
ENTRY(__setcontext)
+ ldx [%o0 + UC_SIGMASK], %o2
+ stx %o2, [%o0 + __UC_SIGMASK]
ta 0x6f
END(__setcontext)