Patchwork Use ENTRY/END in sysdeps/x86_64/nptl/pthread_spin*.S

login
register
mail settings
Submitter Paul Pluzhnikov
Date Jan. 18, 2016, 11:44 p.m.
Message ID <CALoOobNiMZrxQ2WfpPDeLHRRsHO+URLx=eL_2Mv6k2Fg0aapPw@mail.gmail.com>
Download mbox | patch
Permalink /patch/10444/
State New
Headers show

Comments

Paul Pluzhnikov - Jan. 18, 2016, 11:44 p.m.
On Mon, Jan 18, 2016 at 3:22 PM, Paul Pluzhnikov <ppluzhnikov@google.com> wrote:
> On Mon, Jan 18, 2016 at 2:18 PM, Carlos O'Donell <carlos@redhat.com> wrote:
>
>> It needs a public bug though.
>
> I opened https://sourceware.org/bugzilla/show_bug.cgi?id=19490

Updated patch with fixed ChangeLog, pthread_cond_{broadcast,signal}
and BZ entry added.


2016-01-18  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
Carlos O'Donell - Jan. 20, 2016, 8:36 p.m.
On 01/18/2016 06:44 PM, Paul Pluzhnikov wrote:
> On Mon, Jan 18, 2016 at 3:22 PM, Paul Pluzhnikov <ppluzhnikov@google.com> wrote:
>> On Mon, Jan 18, 2016 at 2:18 PM, Carlos O'Donell <carlos@redhat.com> wrote:
>>
>>> It needs a public bug though.
>>
>> I opened https://sourceware.org/bugzilla/show_bug.cgi?id=19490
> 
> Updated patch with fixed ChangeLog, pthread_cond_{broadcast,signal}
> and BZ entry added.
> 
> 
> 2016-01-18  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

Looks good to me.

Cheers,
Carlos.

Patch

diff --git a/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S b/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
index b32397ca..de455dd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
+++ b/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
@@ -28,10 +28,7 @@ 
 	.text
 
 	/* int pthread_cond_broadcast (pthread_cond_t *cond) */
-	.globl	__pthread_cond_broadcast
-	.type	__pthread_cond_broadcast, @function
-	.align	16
-__pthread_cond_broadcast:
+ENTRY(__pthread_cond_broadcast)
 
 	LIBC_PROBE (cond_broadcast, 1, %rdi)
 
@@ -174,6 +171,7 @@  __pthread_cond_broadcast:
 	movl	$SYS_futex, %eax
 	syscall
 	jmp	10b
-	.size	__pthread_cond_broadcast, .-__pthread_cond_broadcast
+END(__pthread_cond_broadcast)
+
 versioned_symbol (libpthread, __pthread_cond_broadcast, pthread_cond_broadcast,
 		  GLIBC_2_3_2)
diff --git a/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S b/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
index 84665d7..da14bc3 100644
--- a/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
+++ b/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
@@ -28,11 +28,7 @@ 
 
 	.text
 
-	/* int pthread_cond_signal (pthread_cond_t *cond) */
-	.globl	__pthread_cond_signal
-	.type	__pthread_cond_signal, @function
-	.align	16
-__pthread_cond_signal:
+ENTRY(__pthread_cond_signal)
 
 	LIBC_PROBE (cond_signal, 1, %rdi)
 
@@ -159,6 +155,7 @@  __pthread_cond_signal:
 	cmovne	%eax, %esi
 	callq	__lll_unlock_wake
 	jmp	6b
-	.size	__pthread_cond_signal, .-__pthread_cond_signal
+END(__pthread_cond_signal)
+
 versioned_symbol (libpthread, __pthread_cond_signal, pthread_cond_signal,
 		  GLIBC_2_3_2)
diff --git a/sysdeps/x86_64/nptl/pthread_spin_lock.S b/sysdeps/x86_64/nptl/pthread_spin_lock.S
index c9b9424..b871241 100644
--- a/sysdeps/x86_64/nptl/pthread_spin_lock.S
+++ b/sysdeps/x86_64/nptl/pthread_spin_lock.S
@@ -16,11 +16,9 @@ 
    <http://www.gnu.org/licenses/>.  */
 
 #include <lowlevellock.h>
+#include <sysdep.h>
 
-	.globl	pthread_spin_lock
-	.type	pthread_spin_lock,@function
-	.align	16
-pthread_spin_lock:
+ENTRY(pthread_spin_lock)
 1:	LOCK
 	decl	0(%rdi)
 	jne	2f
@@ -33,4 +31,4 @@  pthread_spin_lock:
 	cmpl	$0, 0(%rdi)
 	jg	1b
 	jmp	2b
-	.size	pthread_spin_lock,.-pthread_spin_lock
+END(pthread_spin_lock)
diff --git a/sysdeps/x86_64/nptl/pthread_spin_trylock.S b/sysdeps/x86_64/nptl/pthread_spin_trylock.S
index fc74d77..c9c5317 100644
--- a/sysdeps/x86_64/nptl/pthread_spin_trylock.S
+++ b/sysdeps/x86_64/nptl/pthread_spin_trylock.S
@@ -17,6 +17,7 @@ 
    <http://www.gnu.org/licenses/>.  */
 
 #include <pthread-errnos.h>
+#include <sysdep.h>
 
 
 #ifdef UP
@@ -25,10 +26,7 @@ 
 # define LOCK lock
 #endif
 
-	.globl	pthread_spin_trylock
-	.type	pthread_spin_trylock,@function
-	.align	16
-pthread_spin_trylock:
+ENTRY(pthread_spin_trylock)
 	movl	$1, %eax
 	xorl	%ecx, %ecx
 	LOCK
@@ -36,4 +34,4 @@  pthread_spin_trylock:
 	movl	$EBUSY, %eax
 	cmovel	%ecx, %eax
 	retq
-	.size	pthread_spin_trylock,.-pthread_spin_trylock
+END(pthread_spin_trylock)
diff --git a/sysdeps/x86_64/nptl/pthread_spin_unlock.S b/sysdeps/x86_64/nptl/pthread_spin_unlock.S
index e341018..188de2e 100644
--- a/sysdeps/x86_64/nptl/pthread_spin_unlock.S
+++ b/sysdeps/x86_64/nptl/pthread_spin_unlock.S
@@ -16,14 +16,13 @@ 
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-	.globl	pthread_spin_unlock
-	.type	pthread_spin_unlock,@function
-	.align	16
-pthread_spin_unlock:
+#include <sysdep.h>
+
+ENTRY(pthread_spin_unlock)
 	movl	$1, (%rdi)
 	xorl	%eax, %eax
 	retq
-	.size	pthread_spin_unlock,.-pthread_spin_unlock
+END(pthread_spin_unlock)
 
 	/* The implementation of pthread_spin_init is identical.  */
 	.globl	pthread_spin_init