about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/i386/pthread_sigmask.c6
-rw-r--r--nptl/sysdeps/x86_64/pthread_sigmask.c1
-rw-r--r--nptl/sysdeps/x86_64/tls.h11
4 files changed, 11 insertions, 12 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index c8caf217a5..530d6f49eb 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,10 @@
 2002-11-27  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/x86_64/pthread_sigmask.c: New file.
+
+	* sysdeps/i386/pthread_sigmask.c (pthread_sigmask): Return correct
+	value in case of an error.
+
 	* sysdeps/x86_64/tls.h: New file.
 
 2002-11-26  Ulrich Drepper  <drepper@redhat.com>
diff --git a/nptl/sysdeps/i386/pthread_sigmask.c b/nptl/sysdeps/i386/pthread_sigmask.c
index 2ae9198c02..aa071841db 100644
--- a/nptl/sysdeps/i386/pthread_sigmask.c
+++ b/nptl/sysdeps/i386/pthread_sigmask.c
@@ -30,5 +30,9 @@ pthread_sigmask (how, newmask, oldmask)
      const sigset_t *newmask;
      sigset_t *oldmask;
 {
-  return INLINE_SYSCALL (sigprocmask, 3, how, newmask, oldmask);
+  int result = INTERNAL_SYSCALL (sigprocmask, 3, how, newmask, oldmask);
+
+  return (INTERNAL_SYSCALL_ERROR_P (result)
+	  ? INTERNAL_SYSCALL_ERRNO (result)
+	  : 0);
 }
diff --git a/nptl/sysdeps/x86_64/pthread_sigmask.c b/nptl/sysdeps/x86_64/pthread_sigmask.c
new file mode 100644
index 0000000000..802d61f819
--- /dev/null
+++ b/nptl/sysdeps/x86_64/pthread_sigmask.c
@@ -0,0 +1 @@
+#include "../i386/pthread_sigmask.c"
diff --git a/nptl/sysdeps/x86_64/tls.h b/nptl/sysdeps/x86_64/tls.h
index 2daf0328d5..8a4b718cf0 100644
--- a/nptl/sysdeps/x86_64/tls.h
+++ b/nptl/sysdeps/x86_64/tls.h
@@ -119,17 +119,6 @@ union user_desc_init
   (((tcbhead_t *) (descr))->dtv)
 
 
-/* Macros to load from and store into segment registers.  */
-# ifndef TLS_GET_GS
-#  define TLS_GET_GS() \
-  ({ int __seg; __asm ("movw %%gs, %w0" : "=q" (__seg)); __seg & 0xffff; })
-# endif
-# ifndef TLS_SET_GS
-#  define TLS_SET_GS(val) \
-  __asm ("movw %w0, %%gs" :: "q" (val))
-# endif
-
-
 # ifndef __NR_set_thread_area
 #  define __NR_set_thread_area 243
 # endif