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:
14
ChangeLog
14
ChangeLog
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user