diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-07-12 14:40:25 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-08-05 07:32:50 -0700 |
commit | 979f79467407fcf2537b53a168a1a18f3b540fdd (patch) | |
tree | f5ffad34c4f0c9433ffee28d4d08103ec840db43 | |
parent | 04d16c095375e902063b3ef356826569ef06543a (diff) | |
download | glibc-979f79467407fcf2537b53a168a1a18f3b540fdd.zip glibc-979f79467407fcf2537b53a168a1a18f3b540fdd.tar.gz glibc-979f79467407fcf2537b53a168a1a18f3b540fdd.tar.bz2 |
Align stack to 16 bytes when calling __gettimeofday
Subtract stack by 24 bytes instead of 16 bytes so that stack is aligned
to 16 bytes when calling __gettimeofday.
[BZ #18661]
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
(__lll_timedwait_tid): Align stack to 16 bytes when calling
__gettimeofday.
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/lowlevellock.S | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S index 0935db5..8e1a39d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S +++ b/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S @@ -394,8 +394,9 @@ __lll_timedwait_tid: movq %rdi, %r12 movq %rsi, %r13 - subq $16, %rsp - cfi_adjust_cfa_offset(16) + /* Align stack to 16 bytes when calling __gettimeofday. */ + subq $24, %rsp + cfi_adjust_cfa_offset(24) /* Get current time. */ 2: movq %rsp, %rdi @@ -441,8 +442,8 @@ __lll_timedwait_tid: jne 1f 4: xorl %eax, %eax -8: addq $16, %rsp - cfi_adjust_cfa_offset(-16) +8: addq $24, %rsp + cfi_adjust_cfa_offset(-24) popq %r13 cfi_adjust_cfa_offset(-8) cfi_restore(%r13) |