Loading...
pthreads/lock.s Libc-391.5.22 Libc-391
--- Libc/Libc-391.5.22/pthreads/lock.s
+++ Libc/Libc-391/pthreads/lock.s
@@ -95,9 +95,11 @@
         TEXT
 	ALIGN
 
+.globl _spin_lock_try
 LEAF(__spin_lock_try, 0)
+_spin_lock_try:
 	movl    $(_COMM_PAGE_SPINLOCK_TRY), %eax
-	jmpl	*%eax
+	jmpl	%eax
 
 	ALIGN
 
@@ -105,7 +107,7 @@
 LEAF(__spin_lock, 0)
 _spin_lock:
 	movl    $(_COMM_PAGE_SPINLOCK_LOCK), %eax
-	jmpl	*%eax
+	jmpl	%eax
 
 /*
  * void
@@ -120,49 +122,7 @@
 LEAF(__spin_unlock, 0)
 _spin_unlock:
 	movl    $(_COMM_PAGE_SPINLOCK_UNLOCK), %eax
-	jmpl	*%eax
-
-#elif defined(__x86_64__)
-
-#include <architecture/i386/asm_help.h>  
-
-/*    
- * void
- * _spin_lock(p)
- *      int *p;
- *
- * Lock the lock pointed to by p.  Spin (possibly forever) until the next
- * lock is available.
- */
-        TEXT
-	ALIGN
-
-LEAF(__spin_lock_try, 0)
-	movq	$(_COMM_PAGE_SPINLOCK_TRY), %rax
-	jmp		*%rax
-
-	ALIGN
-
-.globl _spin_lock
-LEAF(__spin_lock, 0)
-_spin_lock:
-	movq	$(_COMM_PAGE_SPINLOCK_LOCK), %rax
-	jmp		*%rax
-
-/*
- * void
- * _spin_unlock(p)
- *      int *p;
- *
- * Unlock the lock pointed to by p.
- */
-	ALIGN
-
-.globl _spin_unlock
-LEAF(__spin_unlock, 0)
-_spin_unlock:
-	movl	$0, (%rdi)
-	ret
+	jmpl	%eax
 
 #else
 #error spin_locks not defined for this architecture