about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-04-19 16:31:12 +0000
committerUlrich Drepper <drepper@redhat.com>2001-04-19 16:31:12 +0000
commit9bab980687708a6038f894aab30f303084aefa86 (patch)
tree02e4fca7778b3dd3c38288bd8004586cc0e0f816 /sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
parent0b35a2da19eb7b598a88cc6daf4ad06d6c5615dd (diff)
downloadglibc-9bab980687708a6038f894aab30f303084aefa86.tar.gz
glibc-9bab980687708a6038f894aab30f303084aefa86.tar.xz
glibc-9bab980687708a6038f894aab30f303084aefa86.zip
Update.
2001-04-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.
	* sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S (__setcontext):
	Copy first word of uc_sigmask into __uc_sigmask.
	* sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S (__getcontext):
	Save uc_link around trap. Copy __uc_sigmask into first word of
	uc_sigmask, clear the rest. Make sure setcontext to the created
	context doesn't do this though.
	* sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Add
	uc_stack and uc_sigmask, rename old uc_sigmask to __uc_sigmask in the
	64bit version, make uc_sigmask __sigset_t in the 32bit version.

	* rt/Makefile (otherlibs): Added for static NSS.
	* glibcbug.in (BUGGLIBC): Send to new alias.
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)