Browse Source

nptl: fix compilation on x86_64

This commit gives us a fully functioning NPTL on x86-64 by using the GOTOFF macro
as needed.

Signed-off-by: William Pitcock <nenolod@dereferenced.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
William Pitcock 13 years ago
parent
commit
526af41956

+ 1 - 1
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S

@@ -163,7 +163,7 @@ __lll_timedlock_wait:
 	cfi_startproc
 # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
 #  ifdef __PIC__
-	cmpl	$0, __have_futex_clock_realtime(%rip)
+	cmpl	$0, __have_futex_clock_realtime@GOTOFF(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime
 #  endif

+ 1 - 1
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S

@@ -118,7 +118,7 @@ __lll_robust_timedlock_wait:
 	cfi_startproc
 # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
 #  ifdef __PIC__
-	cmpl	$0, __have_futex_clock_realtime(%rip)
+	cmpl	$0, __have_futex_clock_realtime@GOTOFF(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime
 #  endif

+ 1 - 9
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S

@@ -98,7 +98,7 @@ __pthread_cond_timedwait:
 22:
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
 #  ifdef __PIC__
-	cmpl	$0, __have_futex_clock_realtime(%rip)
+	cmpl	$0, __have_futex_clock_realtime@GOTOFF(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime
 #  endif
@@ -437,14 +437,6 @@ __pthread_cond_timedwait:
 	/* Only clocks 0 and 1 are allowed so far.  Both are handled in the
 	   kernel.  */
 	leaq	32(%rsp), %rsi
-#  ifdef SHARED
-	movq	__vdso_clock_gettime@GOTPCREL(%rip), %rax
-	movq	(%rax), %rax
-	PTR_DEMANGLE (%rax)
-	jz	26f
-	call	*%rax
-	jmp	27f
-#  endif
 26:	movl	$__NR_clock_gettime, %eax
 	syscall
 27:

+ 1 - 1
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S

@@ -96,7 +96,7 @@ pthread_rwlock_timedrdlock:
 11:
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
 #  ifdef __PIC__
-	cmpl	$0, __have_futex_clock_realtime(%rip)
+	cmpl	$0, __have_futex_clock_realtime@GOTOFF(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime
 #  endif

+ 1 - 1
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S

@@ -93,7 +93,7 @@ pthread_rwlock_timedwrlock:
 11:
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
 #  ifdef __PIC__
-	cmpl	$0, __have_futex_clock_realtime(%rip)
+	cmpl	$0, __have_futex_clock_realtime@GOTOFF(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime
 #  endif

+ 1 - 1
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S

@@ -61,7 +61,7 @@ sem_timedwait:
 
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
 #  ifdef __PIC__
-	cmpl	$0, __have_futex_clock_realtime(%rip)
+	cmpl	$0, __have_futex_clock_realtime@GOTOFF(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime
 #  endif