This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
PATCH: Use LP_OP(op), LP_SIZE and ASM_ADDR in sem_timedwait.S
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 15 May 2012 12:16:29 -0700
- Subject: PATCH: Use LP_OP(op), LP_SIZE and ASM_ADDR in sem_timedwait.S
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Hi,
This patch does
1. Use LP_OP(op) on NWAITERS.
2. Replace 8-byte data alignment with LP_SIZE alignment.
3. Replace .quad with ASM_ADDR.
Tested on Linux/x86-64. OK to install?
Thanks.
H.J.
--
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Use LP_OP(op)
on NWAITERS.
(__gcc_personality_v0): Replace 8-byte data alignment with
LP_SIZE alignment and .quad with ASM_ADDR.
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
index a600238..acb79db 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
@@ -83,7 +83,7 @@ sem_timedwait:
movq %rsi, %r10
LOCK
- addq $1, NWAITERS(%rdi)
+ LP_OP(add) $1, NWAITERS(%rdi)
.LcleanupSTART:
13: call __pthread_enable_asynccancel
@@ -134,7 +134,7 @@ sem_timedwait:
xorl %eax, %eax
15: LOCK
- subq $1, NWAITERS(%rdi)
+ LP_OP(sub) $1, NWAITERS(%rdi)
leaq 8(%rsp), %rsp
cfi_adjust_cfa_offset(-8)
@@ -189,7 +189,7 @@ sem_timedwait:
movq %rsi, %r13
LOCK
- addq $1, NWAITERS(%r12)
+ LP_OP(add) $1, NWAITERS(%r12)
7: xorl %esi, %esi
movq %rsp,%rdi
@@ -266,7 +266,7 @@ sem_timedwait:
xorl %eax, %eax
45: LOCK
- subq $1, NWAITERS(%r12)
+ LP_OP(sub) $1, NWAITERS(%r12)
addq $STACKFRAME, %rsp
cfi_adjust_cfa_offset(-STACKFRAME)
@@ -304,7 +304,7 @@ sem_timedwait_cleanup:
movq (%rsp), %rdi
LOCK
- subq $1, NWAITERS(%rdi)
+ LP_OP(sub) $1, NWAITERS(%rdi)
movq %rax, %rdi
.LcallUR:
call _Unwind_Resume@PLT
@@ -324,7 +324,7 @@ sem_timedwait_cleanup2:
cfi_rel_offset(%r14, STACKFRAME)
LOCK
- subq $1, NWAITERS(%r12)
+ LP_OP(sub) $1, NWAITERS(%r12)
movq %rax, %rdi
movq STACKFRAME(%rsp), %r14
movq STACKFRAME+8(%rsp), %r13
@@ -372,9 +372,9 @@ sem_timedwait_cleanup2:
.hidden DW.ref.__gcc_personality_v0
.weak DW.ref.__gcc_personality_v0
.section .gnu.linkonce.d.DW.ref.__gcc_personality_v0,"aw",@progbits
- .align 8
+ .align LP_SIZE
.type DW.ref.__gcc_personality_v0, @object
- .size DW.ref.__gcc_personality_v0, 8
+ .size DW.ref.__gcc_personality_v0, LP_SIZE
DW.ref.__gcc_personality_v0:
- .quad __gcc_personality_v0
+ ASM_ADDR __gcc_personality_v0
#endif