Loading...
--- 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