diff --git a/nptl/ChangeLog b/nptl/ChangeLog index a17ebc7cb0..6d61b901ff 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,10 @@ +2012-05-15 H.J. Lu + + * 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. + 2012-05-15 H.J. Lu * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Use LP_OP(cmp) on 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 a60023809b..acb79dbd18 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