about summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S17
1 files changed, 3 insertions, 14 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
index 65e39e7829..27275e3158 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
@@ -18,6 +18,7 @@
    02111-1307 USA.  */
 
 #include <sysdep.h>
+#include <tls.h>
 
 	.text
 
@@ -48,13 +49,7 @@ __lll_lock_wait:
 
 	orl	$-1, %eax	/* Load -1.  */
 #ifndef UP
-# ifdef PIC
-	call	__i686.get_pc_thunk.dx
-	addl	$_GLOBAL_OFFSET_TABLE_, %edx
-	cmpl	$0, __libc_locking_needed@GOTOFF(%edx)
-# else
-	cmpl	$0, __libc_locking_needed
-# endif
+	cmpl	$0, %gs:MULTIPLE_THREADS_OFFSET
 	je,pt	0f
 	lock
 0:
@@ -83,13 +78,7 @@ lll_unlock_wake_cb:
 
 	movl	20(%esp), %ebx
 #ifndef UP
-# ifdef PIC
-	call	__i686.get_pc_thunk.dx
-	addl	$_GLOBAL_OFFSET_TABLE_, %edx
-	cmpl	$0, __libc_locking_needed@GOTOFF(%edx)
-# else
-	cmpl	$0, __libc_locking_needed
-# endif
+	cmpl	$0, %gs:MULTIPLE_THREADS_OFFSET
 	je,pt	0f
 	lock
 0: