1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

2016-01-20 Paul Pluzhnikov <ppluzhnikov@google.com>

[BZ #19490]
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S (pthread_cond_broadcast): Use ENTRY/END
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S (pthread_cond_signal): Likewise
* sysdeps/x86_64/nptl/pthread_spin_lock.S (pthread_spin_lock): Likewise
* sysdeps/x86_64/nptl/pthread_spin_trylock.S (pthread_spin_trylock): Likewise
* sysdeps/x86_64/nptl/pthread_spin_unlock.S (pthread_spin_unlock): Likewise
This commit is contained in:
Paul Pluzhnikov
2016-01-20 13:39:20 -08:00
parent dcb133b7a4
commit b274130206
6 changed files with 30 additions and 26 deletions

View File

@ -1,3 +1,17 @@
2016-01-20 Paul Pluzhnikov <ppluzhnikov@google.com>
[BZ #19490]
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
(pthread_cond_broadcast): Use ENTRY/END
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
(pthread_cond_signal): Likewise
* sysdeps/x86_64/nptl/pthread_spin_lock.S (pthread_spin_lock):
Likewise
* sysdeps/x86_64/nptl/pthread_spin_trylock.S (pthread_spin_trylock):
Likewise
* sysdeps/x86_64/nptl/pthread_spin_unlock.S (pthread_spin_unlock):
Likewise
2016-01-20 Joseph Myers <joseph@codesourcery.com> 2016-01-20 Joseph Myers <joseph@codesourcery.com>
* sysdeps/ieee754/dbl-64/s_finite.c * sysdeps/ieee754/dbl-64/s_finite.c

View File

@ -28,10 +28,7 @@
.text .text
/* int pthread_cond_broadcast (pthread_cond_t *cond) */ /* int pthread_cond_broadcast (pthread_cond_t *cond) */
.globl __pthread_cond_broadcast ENTRY(__pthread_cond_broadcast)
.type __pthread_cond_broadcast, @function
.align 16
__pthread_cond_broadcast:
LIBC_PROBE (cond_broadcast, 1, %rdi) LIBC_PROBE (cond_broadcast, 1, %rdi)
@ -174,6 +171,7 @@ __pthread_cond_broadcast:
movl $SYS_futex, %eax movl $SYS_futex, %eax
syscall syscall
jmp 10b jmp 10b
.size __pthread_cond_broadcast, .-__pthread_cond_broadcast END(__pthread_cond_broadcast)
versioned_symbol (libpthread, __pthread_cond_broadcast, pthread_cond_broadcast, versioned_symbol (libpthread, __pthread_cond_broadcast, pthread_cond_broadcast,
GLIBC_2_3_2) GLIBC_2_3_2)

View File

@ -28,11 +28,7 @@
.text .text
/* int pthread_cond_signal (pthread_cond_t *cond) */ ENTRY(__pthread_cond_signal)
.globl __pthread_cond_signal
.type __pthread_cond_signal, @function
.align 16
__pthread_cond_signal:
LIBC_PROBE (cond_signal, 1, %rdi) LIBC_PROBE (cond_signal, 1, %rdi)
@ -159,6 +155,7 @@ __pthread_cond_signal:
cmovne %eax, %esi cmovne %eax, %esi
callq __lll_unlock_wake callq __lll_unlock_wake
jmp 6b jmp 6b
.size __pthread_cond_signal, .-__pthread_cond_signal END(__pthread_cond_signal)
versioned_symbol (libpthread, __pthread_cond_signal, pthread_cond_signal, versioned_symbol (libpthread, __pthread_cond_signal, pthread_cond_signal,
GLIBC_2_3_2) GLIBC_2_3_2)

View File

@ -16,11 +16,9 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <lowlevellock.h> #include <lowlevellock.h>
#include <sysdep.h>
.globl pthread_spin_lock ENTRY(pthread_spin_lock)
.type pthread_spin_lock,@function
.align 16
pthread_spin_lock:
1: LOCK 1: LOCK
decl 0(%rdi) decl 0(%rdi)
jne 2f jne 2f
@ -33,4 +31,4 @@ pthread_spin_lock:
cmpl $0, 0(%rdi) cmpl $0, 0(%rdi)
jg 1b jg 1b
jmp 2b jmp 2b
.size pthread_spin_lock,.-pthread_spin_lock END(pthread_spin_lock)

View File

@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <pthread-errnos.h> #include <pthread-errnos.h>
#include <sysdep.h>
#ifdef UP #ifdef UP
@ -25,10 +26,7 @@
# define LOCK lock # define LOCK lock
#endif #endif
.globl pthread_spin_trylock ENTRY(pthread_spin_trylock)
.type pthread_spin_trylock,@function
.align 16
pthread_spin_trylock:
movl $1, %eax movl $1, %eax
xorl %ecx, %ecx xorl %ecx, %ecx
LOCK LOCK
@ -36,4 +34,4 @@ pthread_spin_trylock:
movl $EBUSY, %eax movl $EBUSY, %eax
cmovel %ecx, %eax cmovel %ecx, %eax
retq retq
.size pthread_spin_trylock,.-pthread_spin_trylock END(pthread_spin_trylock)

View File

@ -16,14 +16,13 @@
License along with the GNU C Library; if not, see License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
.globl pthread_spin_unlock #include <sysdep.h>
.type pthread_spin_unlock,@function
.align 16 ENTRY(pthread_spin_unlock)
pthread_spin_unlock:
movl $1, (%rdi) movl $1, (%rdi)
xorl %eax, %eax xorl %eax, %eax
retq retq
.size pthread_spin_unlock,.-pthread_spin_unlock END(pthread_spin_unlock)
/* The implementation of pthread_spin_init is identical. */ /* The implementation of pthread_spin_init is identical. */
.globl pthread_spin_init .globl pthread_spin_init