aboutsummaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog15
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S20
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S11
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S11
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S28
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h37
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sem_post.S17
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S27
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S13
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S27
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S16
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S20
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S7
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S8
14 files changed, 64 insertions, 193 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 3b94006eef..56f4d1dccc 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,20 @@
2011-09-10 Ulrich Drepper <drepper@gmail.com>
+ * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Don't handle
+ !USE___THREAD.
+ * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
+ * sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
+ * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise.
+ * sysdeps/unix/sysv/linux/sh/sem_post.S: Likewise.
+ * sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.
+ * sysdeps/unix/sysv/linux/sh/sem_trywait.S: Likewise.
+ * sysdeps/unix/sysv/linux/sh/sem_wait.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
+
* tst-tls1.c: Support for __thread is now mandatory.
* tst-tls2.c: Likewise.
* tst-tls3.c: Likewise.
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
index 86992c877e..9f3e63520f 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2002,2003,2005,2007,2008,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -81,18 +81,13 @@ __new_sem_post:
4:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ebx
-#if USE___THREAD
-# ifdef NO_TLS_DIRECT_SEG_REFS
+#ifdef NO_TLS_DIRECT_SEG_REFS
movl errno@gotntpoff(%ebx), %edx
addl %gs:0, %edx
movl $EINVAL, (%edx)
-# else
+#else
movl errno@gotntpoff(%ebx), %edx
movl $EINVAL, %gs:(%edx)
-# endif
-#else
- call __errno_location@plt
- movl $EINVAL, (%eax)
#endif
orl $-1, %eax
@@ -107,18 +102,13 @@ __new_sem_post:
5:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ebx
-#if USE___THREAD
-# ifdef NO_TLS_DIRECT_SEG_REFS
+#ifdef NO_TLS_DIRECT_SEG_REFS
movl errno@gotntpoff(%ebx), %edx
addl %gs:0, %edx
movl $EOVERFLOW, (%edx)
-# else
+#else
movl errno@gotntpoff(%ebx), %edx
movl $EOVERFLOW, %gs:(%edx)
-# endif
-#else
- call __errno_location@plt
- movl $EOVERFLOW, (%eax)
#endif
orl $-1, %eax
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
index 18013a8df4..ee46ab9363 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2005, 2007, 2009, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -154,18 +154,13 @@ sem_timedwait:
4:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ebx
-#if USE___THREAD
-# ifdef NO_TLS_DIRECT_SEG_REFS
+#ifdef NO_TLS_DIRECT_SEG_REFS
movl errno@gotntpoff(%ebx), %edx
addl %gs:0, %edx
movl %esi, (%edx)
-# else
+#else
movl errno@gotntpoff(%ebx), %edx
movl %esi, %gs:(%edx)
-# endif
-#else
- call __errno_location@plt
- movl %esi, (%eax)
#endif
movl 28(%esp), %ebx /* Load semaphore address. */
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S
index 2d49934f02..18adb9a092 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005, 2007, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -49,18 +49,13 @@ __new_sem_trywait:
3:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ecx
-#if USE___THREAD
-# ifdef NO_TLS_DIRECT_SEG_REFS
+#ifdef NO_TLS_DIRECT_SEG_REFS
movl errno@gotntpoff(%ecx), %edx
addl %gs:0, %edx
movl $EAGAIN, (%edx)
-# else
+#else
movl errno@gotntpoff(%ecx), %edx
movl $EAGAIN, %gs:(%edx)
-# endif
-#else
- call __errno_location@plt
- movl $EAGAIN, (%eax)
#endif
orl $-1, %eax
ret
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
index 93c0a64a9e..fb8a398430 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005, 2007, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -114,18 +114,13 @@ __new_sem_wait:
8:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ebx
-#if USE___THREAD
-# ifdef NO_TLS_DIRECT_SEG_REFS
+#ifdef NO_TLS_DIRECT_SEG_REFS
movl errno@gotntpoff(%ebx), %edx
addl %gs:0, %edx
movl %esi, (%edx)
-# else
+#else
movl errno@gotntpoff(%ebx), %edx
movl %esi, %gs:(%edx)
-# endif
-#else
- call __errno_location@plt
- movl %esi, (%eax)
#endif
orl $-1, %eax
@@ -228,13 +223,13 @@ sem_wait_cleanup:
.byte 14 # DW_CFA_def_cfa_offset
.uleb128 8
.byte 0x83 # DW_CFA_offset %ebx
- .uleb128 2
+ .uleb128 2
.byte 4 # DW_CFA_advance_loc4
.long .Lpush_esi-.Lpush_ebx
.byte 14 # DW_CFA_def_cfa_offset
.uleb128 12
.byte 0x86 # DW_CFA_offset %esi
- .uleb128 3
+ .uleb128 3
.byte 4 # DW_CFA_advance_loc4
.long .Lsub_esp-.Lpush_esi
.byte 14 # DW_CFA_def_cfa_offset
@@ -250,9 +245,9 @@ sem_wait_cleanup:
.byte 14 # DW_CFA_def_cfa_offset
.uleb128 16
.byte 0x83 # DW_CFA_offset %ebx
- .uleb128 2
+ .uleb128 2
.byte 0x86 # DW_CFA_offset %esi
- .uleb128 3
+ .uleb128 3
.align 4
.LENDFDE:
@@ -333,18 +328,13 @@ __old_sem_wait:
4:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ebx
-#if USE___THREAD
-# ifdef NO_TLS_DIRECT_SEG_REFS
+#ifdef NO_TLS_DIRECT_SEG_REFS
movl errno@gotntpoff(%ebx), %edx
addl %gs:0, %edx
movl %esi, (%edx)
-# else
+#else
movl errno@gotntpoff(%ebx), %edx
movl %esi, %gs:(%edx)
-# endif
-#else
- call __errno_location@plt
- movl %esi, (%eax)
#endif
orl $-1, %eax
jmp 5b
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
index c4d52860dd..8687ba46ab 100644
--- a/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2006, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
@@ -27,13 +27,12 @@
# undef PSEUDO
-# if USE___THREAD
-# ifndef NOT_IN_libc
-# define SYSDEP_CANCEL_ERRNO __libc_errno
-# else
-# define SYSDEP_CANCEL_ERRNO errno
-# endif
-# define SYSDEP_CANCEL_ERROR(args) \
+# ifndef NOT_IN_libc
+# define SYSDEP_CANCEL_ERRNO __libc_errno
+# else
+# define SYSDEP_CANCEL_ERRNO errno
+# endif
+# define SYSDEP_CANCEL_ERROR(args) \
.section .gnu.linkonce.t.__syscall_error_##args, "ax"; \
.align 32; \
.proc __syscall_error_##args; \
@@ -53,28 +52,6 @@ __syscall_error_##args: \
add loc4 = loc4, r13;; \
st4 [loc4] = loc3; \
mov ar.pfs = loc0
-# else
-# define SYSDEP_CANCEL_ERROR(args) \
-.section .gnu.linkonce.t.__syscall_error_##args, "ax"; \
- .align 32; \
- .proc __syscall_error_##args; \
- .global __syscall_error_##args; \
- .hidden __syscall_error_##args; \
- .size __syscall_error_##args, 64; \
-__syscall_error_##args: \
- .prologue; \
- .regstk args, 5, args, 0; \
- .save ar.pfs, loc0; \
- .save rp, loc1; \
- .body; \
- mov loc4 = r1;; \
- br.call.sptk.many b0 = __errno_location;; \
- st4 [r8] = loc3; \
- mov r1 = loc4; \
- mov rp = loc1; \
- mov r8 = -1; \
- mov ar.pfs = loc0
-# endif
# ifndef USE_DL_SYSINFO
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S
index 4a154fc649..c3dd6825f0 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S
+++ b/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2007, 2008, 2011 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
@@ -65,7 +65,7 @@ __new_sem_post:
3:
mov #EOVERFLOW, r2
-4:
+4:
mov.l r12, @-r15
mov.l r8, @-r15
sts.l pr, @-r15
@@ -73,7 +73,6 @@ __new_sem_post:
mov.l .Lgot3, r12
add r0, r12
-#if USE___THREAD
mov.l .Lerrno3, r0
stc gbr, r1
mov.l @(r0, r12), r0
@@ -84,14 +83,6 @@ __new_sem_post:
.long errno@GOTTPOFF
.Lexit:
mov.l r2, @r0
-#else
- mov r2, r8
- mov.l .Lerrloc3, r1
- bsrf r1
- nop
-.Lerrloc3b:
- mov r8, @r0
-#endif
lds.l @r15+, pr
mov.l @r15+, r8
mov.l @r15+, r12
@@ -103,9 +94,5 @@ __new_sem_post:
.long SEM_VALUE_MAX
.Lgot3:
.long _GLOBAL_OFFSET_TABLE_
-#if !USE___THREAD
-.Lerrloc3:
- .long __errno_location@PLT-(.Lerrloc3b-.)
-#endif
.size __new_sem_post,.-__new_sem_post
versioned_symbol(libpthread, __new_sem_post, sem_post, GLIBC_2_1)
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
index 7924e87594..d57986150c 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
+++ b/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2007, 2011 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
@@ -131,7 +131,7 @@ sem_timedwait:
mov r10, r4
bsrf r1
mov r0, r10
-.Ldisable0b:
+.Ldisable0b:
mov r10, r0
.LcleanupEND:
@@ -173,7 +173,6 @@ sem_timedwait:
mov.l .Lgot2, r12
add r0, r12
-#if USE___THREAD
mov.l .Lerrno2, r0
stc gbr, r1
mov.l @(r0, r12), r0
@@ -181,14 +180,8 @@ sem_timedwait:
add r1, r0
.align 2
.Lerrno2:
- .long errno@GOTTPOFF
+ .long errno@GOTTPOFF
.Lexit:
-#else
- mov.l .Lerrloc2, r1
- bsrf r1
- nop
-.Lerrloc2b:
-#endif
mov.l r10, @r0
DEC (@(NWAITERS,r8), r2)
bra 10b
@@ -201,10 +194,6 @@ sem_timedwait:
.long 1000000000
.Lgot2:
.long _GLOBAL_OFFSET_TABLE_
-#if !USE___THREAD
-.Lerrloc2:
- .long __errno_location@PLT-(.Lerrloc2b-.)
-#endif
.Lenable0:
.long __pthread_enable_asynccancel-.Lenable0b
.Ldisable0:
@@ -213,7 +202,7 @@ sem_timedwait:
.type sem_wait_cleanup,@function
sem_wait_cleanup:
- DEC (@(NWAITERS,r8), r2)
+ DEC (@(NWAITERS,r8), r2)
.LcallUR:
mov.l .Lresume, r1
#ifdef PIC
@@ -314,25 +303,25 @@ sem_wait_cleanup:
.byte 14 ! DW_CFA_def_cfa_offset
.uleb128 4
.byte 0x88 ! DW_CFA_offset r8
- .uleb128 1
+ .uleb128 1
.byte 4 ! DW_CFA_advance_loc4
.ualong .Lpush_r9-.Lpush_r8
.byte 14 ! DW_CFA_def_cfa_offset
.uleb128 8
.byte 0x89 ! DW_CFA_offset r9
- .uleb128 2
+ .uleb128 2
.byte 4 ! DW_CFA_advance_loc4
.ualong .Lpush_r10-.Lpush_r9
.byte 14 ! DW_CFA_def_cfa_offset
.uleb128 12
.byte 0x8a ! DW_CFA_offset r10
- .uleb128 3
+ .uleb128 3
.byte 4 ! DW_CFA_advance_loc4
.ualong .Lpush_r12-.Lpush_r10
.byte 14 ! DW_CFA_def_cfa_offset
.uleb128 16
.byte 0x8c ! DW_CFA_offset r12
- .uleb128 4
+ .uleb128 4
.byte 4 ! DW_CFA_advance_loc4
.ualong .Lpush_pr-.Lpush_r12
.byte 14 ! DW_CFA_def_cfa_offset
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S
index 835e37db9f..183aac6bc3 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S
+++ b/nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2007, 2011 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
@@ -57,7 +57,6 @@ __new_sem_trywait:
mov.l .Lgot1, r12
add r0, r12
-#if USE___THREAD
mov.l .Lerrno1, r0
stc gbr, r1
mov.l @(r0, r12), r0
@@ -67,12 +66,6 @@ __new_sem_trywait:
.Lerrno1:
.long errno@GOTTPOFF
.Lexit:
-#else
- mov.l .Lerrloc1, r1
- bsrf r1
- nop
-.Lerrloc1b:
-#endif
mov.l r8, @r0
lds.l @r15+, pr
mov.l @r15+, r8
@@ -83,9 +76,5 @@ __new_sem_trywait:
.align 2
.Lgot1:
.long _GLOBAL_OFFSET_TABLE_
-#if !USE___THREAD
-.Lerrloc1:
- .long __errno_location@PLT-(.Lerrloc1b-.)
-#endif
.size __new_sem_trywait,.-__new_sem_trywait
versioned_symbol(libpthread, __new_sem_trywait, sem_trywait, GLIBC_2_1)
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
index 6ef7fcf0cb..aed8609fd0 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
+++ b/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2007, 2011 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
@@ -68,7 +68,7 @@ __new_sem_wait:
.Lafter_ret:
1:
INC (@(NWAITERS,r8),r2)
-
+
.LcleanupSTART:
6:
mov.l .Lenable0, r1
@@ -96,7 +96,7 @@ __new_sem_wait:
mov r10, r4
bsrf r1
mov r0, r10
-.Ldisable0b:
+.Ldisable0b:
mov r10, r0
.LcleanupEND:
@@ -131,7 +131,6 @@ __new_sem_wait:
mov.l .Lgot0, r12
add r0, r12
-#if USE___THREAD
mov.l .Lerrno0, r0
stc gbr, r1
mov.l @(r0, r12), r0
@@ -141,12 +140,6 @@ __new_sem_wait:
.Lerrno0:
.long errno@GOTTPOFF
.Lexit:
-#else
- mov.l .Lerrloc0, r1
- bsrf r1
- nop
-.Lerrloc0b:
-#endif
mov.l r8, @r0
bra 9b
mov #-1, r0
@@ -154,10 +147,6 @@ __new_sem_wait:
.align 2
.Lgot0:
.long _GLOBAL_OFFSET_TABLE_
-#if !USE___THREAD
-.Lerrloc0:
- .long __errno_location@PLT-(.Lerrloc0b-.)
-#endif
.Lenable0:
.long __pthread_enable_asynccancel-.Lenable0b
.Ldisable0:
@@ -168,7 +157,7 @@ __new_sem_wait:
.type sem_wait_cleanup,@function
sem_wait_cleanup:
- DEC (@(NWAITERS,r8), r2)
+ DEC (@(NWAITERS,r8), r2)
.LcallUR:
mov.l .Lresume, r1
#ifdef PIC
@@ -269,25 +258,25 @@ sem_wait_cleanup:
.byte 14 ! DW_CFA_def_cfa_offset
.uleb128 4
.byte 0x88 ! DW_CFA_offset r8
- .uleb128 1
+ .uleb128 1
.byte 4 ! DW_CFA_advance_loc4
.ualong .Lpush_r10-.Lpush_r8
.byte 14 ! DW_CFA_def_cfa_offset
.uleb128 8
.byte 0x8a ! DW_CFA_offset r10
- .uleb128 2
+ .uleb128 2
.byte 4 ! DW_CFA_advance_loc4
.ualong .Lpush_r12-.Lpush_r10
.byte 14 ! DW_CFA_def_cfa_offset
.uleb128 12
.byte 0x8c ! DW_CFA_offset r12
- .uleb128 3
+ .uleb128 3
.byte 4 ! DW_CFA_advance_loc4
.ualong .Lpush_pr-.Lpush_r12
.byte 14 ! DW_CFA_def_cfa_offset
.uleb128 16
.byte 0x91 ! DW_CFA_offset pr
- .uleb128 4
+ .uleb128 4
.align 4
.LENDFDE:
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
index 979b1bf1d6..4691e4d683 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2002,2003,2005,2007,2008,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -62,29 +62,15 @@ sem_post:
retq
1:
-#if USE___THREAD
movl $EINVAL, %eax
-#else
- callq __errno_location@plt
- movl $EINVAL, %edx
-#endif
jmp 4f
3:
-#if USE___THREAD
movl $EOVERFLOW, %eax
-#else
- callq __errno_location@plt
- movl $EOVERFLOW, %edx
-#endif
4:
-#if USE___THREAD
movq errno@gottpoff(%rip), %rdx
movl %eax, %fs:(%rdx)
-#else
- movl %edx, (%rax)
-#endif
orl $-1, %eax
retq
.size sem_post,.-sem_post
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
index 2926b36e7b..576a494966 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
@@ -143,39 +143,24 @@ sem_timedwait:
cfi_adjust_cfa_offset(8)
3: negq %r9
-#if USE___THREAD
movq errno@gottpoff(%rip), %rdx
movl %r9d, %fs:(%rdx)
-#else
- callq __errno_location@plt
- movl %r9d, (%rax)
-#endif
orl $-1, %eax
jmp 15b
cfi_adjust_cfa_offset(-8)
6:
-#if USE___THREAD
movq errno@gottpoff(%rip), %rdx
movl $EINVAL, %fs:(%rdx)
-#else
- callq __errno_location@plt
- movl $EINVAL, (%rax)
-#endif
orl $-1, %eax
retq
16:
-#if USE___THREAD
movq errno@gottpoff(%rip), %rdx
movl $ETIMEDOUT, %fs:(%rdx)
-#else
- callq __errno_location@plt
- movl $ETIMEDOUT, (%rax)
-#endif
orl $-1, %eax
@@ -303,13 +288,8 @@ sem_timedwait:
cfi_rel_offset(%r14, STACKFRAME)
33: negq %r14
36:
-#if USE___THREAD
movq errno@gottpoff(%rip), %rdx
movl %r14d, %fs:(%rdx)
-#else
- callq __errno_location@plt
- movl %r14d, (%rax)
-#endif
orl $-1, %eax
jmp 45b
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S
index a5719cadda..64652c46f8 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005, 2007, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -41,13 +41,8 @@ sem_trywait:
retq
1:
-#if USE___THREAD
movq errno@gottpoff(%rip), %rdx
movl $EAGAIN, %fs:(%rdx)
-#else
- callq __errno_location@plt
- movl $EAGAIN, (%rax)
-#endif
orl $-1, %eax
retq
.size sem_trywait,.-sem_trywait
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S
index 2cf6ec10a4..3ea714a754 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -125,14 +125,8 @@ sem_wait:
cfi_adjust_cfa_offset(8)
4: negq %rcx
-#if USE___THREAD
movq errno@gottpoff(%rip), %rdx
movl %ecx, %fs:(%rdx)
-#else
-# error "not supported. %rcx and %rdi must be preserved"
- callq __errno_location@plt
- movl %ecx, (%rax)
-#endif
orl $-1, %eax
jmp 9b