Ver código fonte

more fixes for x86_64 nptl

also cleanup some PIC (should be __PIC__) that snuck in

Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Austin Foxley 14 anos atrás
pai
commit
de2101834f

+ 1 - 1
libpthread/nptl/sysdeps/pthread/Makefile.in

@@ -56,7 +56,7 @@ X64_PTHREAD_EXCLUDE_LIST = pthread_spin_unlock.c pthread_spin_init.c \
 		pthread_barrier_wait.c pthread_cond_broadcast.c	\
 		pthread_cond_signal.c pthread_rwlock_timedrdlock.c	\
 		pthread_rwlock_timedwrlock.c pthread_rwlock_unlock.c pthread_rwlock_wrlock.c \
-		pthread_rwlock_rdlock.c pthread_cond_timedwait.c
+		pthread_rwlock_rdlock.c pthread_cond_timedwait.c pthread_cond_wait.c
 
 libpthread_CSRC := $(filter-out $(X64_PTHREAD_EXCLUDE_LIST),$(libpthread_CSRC))
 endif

+ 3 - 4
libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in

@@ -61,15 +61,14 @@ libpthread_CSRC := $(filter-out $(SH_PTHREAD_SPECIFIC),$(libpthread_CSRC))
 endif
 
 ifeq ($(TARGET_ARCH),i386)
-X86_PTHREAD_SPECIFIC := sem_post.c sem_wait.c sem_timedwait.c sem_trywait.c \
-	lowlevelrobustlock.c
+X86_PTHREAD_SPECIFIC := sem_post.c sem_wait.c sem_timedwait.c sem_trywait.c
 libpthread_CSRC := $(filter-out $(X86_PTHREAD_SPECIFIC),$(libpthread_CSRC))
 endif
 
 ifeq ($(TARGET_ARCH),x86_64)
 libc_SSRC := $(filter-out waitpid.S,$(libc_SSRC))
-X86_PTHREAD_SPECIFIC := sem_post.c sem_wait.c sem_timedwait.c sem_trywait.c
-libpthread_CSRC := $(filter-out $(X86_PTHREAD_SPECIFIC),$(libpthread_CSRC))
+X64_PTHREAD_SPECIFIC := sem_post.c sem_wait.c sem_timedwait.c sem_trywait.c
+libpthread_CSRC := $(filter-out $(X64_PTHREAD_SPECIFIC),$(libpthread_CSRC))
 endif
 
 CFLAGS-pthread_getcpuclockid.c = -I$(top_srcdir)librt

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

@@ -180,7 +180,7 @@ __lll_timedlock_wait:
 	cfi_rel_offset(%ebx, 0)
 
 # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
-#  ifdef PIC
+#  ifdef __PIC__
 	LOAD_PIC_REG (bx)
 	cmpl	$0, __have_futex_clock_realtime@GOTOFF(%ebx)
 #  else

+ 1 - 1
libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S

@@ -567,7 +567,7 @@ __condvar_w_cleanup:
 	.uleb128  0
 .Lcstend:
 
-#ifdef PIC
+#ifdef __PIC__
 	.section .gnu.linkonce.t.__i686.get_pc_thunk.cx,"ax",@progbits
 	.globl	__i686.get_pc_thunk.cx
 	.hidden	__i686.get_pc_thunk.cx

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

@@ -146,7 +146,7 @@ sem_timedwait:
 .Lafter_ret:
 3:	negl	%esi
 6:
-#ifdef PIC
+#ifdef __PIC__
 	call	__x86.get_pc_thunk.bx
 #else
 	movl	$4f, %ebx

+ 2 - 2
libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S

@@ -234,7 +234,7 @@ __lll_timedlock_wait:
 
 # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
 	mov.l	.Lhave, r1
-#  ifdef PIC
+#  ifdef __PIC__
 	mova	.Lgot, r0
 	mov.l	.Lgot, r12
 	add	r0, r12
@@ -284,7 +284,7 @@ __lll_timedlock_wait:
 	 mov.l	@r15+, r12
 
 	.align	2
-# ifdef PIC
+# ifdef __PIC__
 .Lgot:
 	.long	_GLOBAL_OFFSET_TABLE_
 .Lhave:

+ 2 - 2
libpthread/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S

@@ -215,7 +215,7 @@ sem_wait_cleanup:
  	DEC (@(NWAITERS,r8), r2)
 .LcallUR:
 	mov.l	.Lresume, r1
-#ifdef PIC
+#ifdef __PIC__
 	add	r12, r1
 #endif
 	jsr	@r1
@@ -224,7 +224,7 @@ sem_wait_cleanup:
 
 	.align	2
 .Lresume:
-#ifdef PIC
+#ifdef __PIC__
 	.long	_Unwind_Resume@GOTOFF
 #else
 	.long	_Unwind_Resume

+ 1 - 1
libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch

@@ -15,7 +15,7 @@ libc_a_CSRC = fork.c
 libc_a_SSRC = clone.S vfork.S
 
 libpthread_SSRC += lowlevellock.S pthread_barrier_wait.S pthread_cond_signal.S pthread_cond_broadcast.S \
-		   sem_post.S sem_timedwait.S \
+		   sem_post.S sem_timedwait.S lowlevelrobustlock.S \
 		   sem_trywait.S sem_wait.S pthread_rwlock_rdlock.S pthread_rwlock_wrlock.S \
 		   pthread_rwlock_timedrdlock.S pthread_rwlock_timedwrlock.S pthread_rwlock_unlock.S \
 		   pthread_cond_timedwait.S pthread_cond_wait.S pthread_spin_unlock.S

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

@@ -162,7 +162,7 @@ __lll_lock_wait:
 __lll_timedlock_wait:
 	cfi_startproc
 # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
-#  ifdef PIC
+#  ifdef __PIC__
 	cmpl	$0, __have_futex_clock_realtime(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime

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

@@ -22,7 +22,7 @@
 #include <pthread-errnos.h>
 #include <lowlevellock.h>
 #include <lowlevelrobustlock.h>
-#include <kernel-features.h>
+#include <bits/kernel-features.h>
 
 	.text
 

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

@@ -22,8 +22,8 @@
 #include <lowlevelcond.h>
 #include <pthread-pi-defines.h>
 #include <pthread-errnos.h>
-
 #include <bits/kernel-features.h>
+#include <tcb-offsets.h>
 
 /* For the calculation see asm/vsyscall.h.  */
 #define VSYSCALL_ADDR_vgettimeofday	0xffffffffff600000
@@ -96,7 +96,7 @@ __pthread_cond_timedwait:
 
 22:
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
-#  ifdef PIC
+#  ifdef __PIC__
 	cmpl	$0, __have_futex_clock_realtime(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime

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

@@ -22,6 +22,7 @@
 #include <lowlevelrwlock.h>
 #include <pthread-errnos.h>
 #include <bits/kernel-features.h>
+#include <tcb-offsets.h>
 
 
 	.text

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

@@ -22,6 +22,7 @@
 #include <lowlevelrwlock.h>
 #include <pthread-errnos.h>
 #include <bits/kernel-features.h>
+#include <tcb-offsets.h>
 
 
 /* For the calculation see asm/vsyscall.h.  */
@@ -94,7 +95,7 @@ pthread_rwlock_timedrdlock:
 
 11:
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
-#  ifdef PIC
+#  ifdef __PIC__
 	cmpl	$0, __have_futex_clock_realtime(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime

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

@@ -22,6 +22,7 @@
 #include <lowlevelrwlock.h>
 #include <pthread-errnos.h>
 #include <bits/kernel-features.h>
+#include <tcb-offsets.h>
 
 
 /* For the calculation see asm/vsyscall.h.  */
@@ -91,7 +92,7 @@ pthread_rwlock_timedwrlock:
 
 11:
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
-#  ifdef PIC
+#  ifdef __PIC__
 	cmpl	$0, __have_futex_clock_realtime(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime

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

@@ -22,6 +22,7 @@
 #include <lowlevelrwlock.h>
 #include <pthread-errnos.h>
 #include <bits/kernel-features.h>
+#include <tcb-offsets.h>
 
 
 	.text

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

@@ -60,7 +60,7 @@ sem_timedwait:
 	jae	6f
 
 #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
-#  ifdef PIC
+#  ifdef __PIC__
 	cmpl	$0, __have_futex_clock_realtime(%rip)
 #  else
 	cmpl	$0, __have_futex_clock_realtime