summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2011-03-08 02:12:11 -0600
committerKhem Raj <raj.khem@gmail.com>2011-03-08 22:47:49 -0800
commit526af41956be03b56e1bf33ec144e797256c1255 (patch)
tree169f4076bfe3d3afec5309336ecec83a088f9fda /libpthread/nptl/sysdeps/unix/sysv
parenteb68c5d7a4e76ab06443d42aaf2d9a72dd059a04 (diff)
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>
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv')
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S10
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S2
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S2
6 files changed, 6 insertions, 14 deletions
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
index f87532359..e59bdda44 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+++ b/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
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
index 2eb8e29fa..5cc4256a5 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
+++ b/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
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
index 3a965ad0b..645436f99 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+++ b/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:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
index 3629ffbe5..15edd6149 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
+++ b/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
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
index 23e1ee155..3c4a27912 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
+++ b/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
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
index 704a2223a..3ff34120c 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
+++ b/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