mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 10:43:34 +08:00
Minimal unwind section size reduction.
This commit is contained in:
parent
424bea69fb
commit
62616842ec
@ -1,5 +1,8 @@
|
||||
2009-11-17 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Minimally
|
||||
reduce size of unwind info.
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Convert to use
|
||||
cfi directives.
|
||||
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
|
||||
|
@ -69,6 +69,7 @@ __pthread_cond_timedwait:
|
||||
#endif
|
||||
subq $FRAME_SIZE, %rsp
|
||||
cfi_adjust_cfa_offset(FRAME_SIZE)
|
||||
cfi_remember_state
|
||||
|
||||
cmpq $1000000000, 8(%rdx)
|
||||
movl $EINVAL, %eax
|
||||
@ -77,19 +78,19 @@ __pthread_cond_timedwait:
|
||||
/* Stack frame:
|
||||
|
||||
rsp + 48
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 32 | timeout value |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 24 | old wake_seq value |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 16 | mutex pointer |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 8 | condvar pointer |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 4 | old broadcast_seq value |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 0 | old cancellation mode |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
*/
|
||||
|
||||
cmpq $-1, dep_mutex(%rdi)
|
||||
@ -317,11 +318,7 @@ __pthread_cond_timedwait:
|
||||
|
||||
retq
|
||||
|
||||
cfi_adjust_cfa_offset(4 * 8 + FRAME_SIZE)
|
||||
cfi_rel_offset(%r12, FRAME_SIZE + 24)
|
||||
cfi_rel_offset(%r13, FRAME_SIZE + 16)
|
||||
cfi_rel_offset(%r14, FRAME_SIZE + 8)
|
||||
cfi_rel_offset(%r15, FRAME_SIZE)
|
||||
cfi_restore_state
|
||||
|
||||
64: callq __pthread_mutex_cond_lock_adjust
|
||||
movq %r14, %rax
|
||||
@ -650,15 +647,15 @@ __condvar_cleanup2:
|
||||
rsp + 48 | %r14 |
|
||||
+--------------------------+
|
||||
rsp + 24 | unused |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 16 | mutex pointer |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 8 | condvar pointer |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 4 | old broadcast_seq value |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
rsp + 0 | old cancellation mode |
|
||||
+--------------------------+
|
||||
+--------------------------+
|
||||
*/
|
||||
|
||||
movq %rax, 24(%rsp)
|
||||
|
Loading…
Reference in New Issue
Block a user