This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.22-18-g72354ab
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 5 Aug 2015 15:50:12 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.22-18-g72354ab
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 72354ab5e1d61dec7606a8851f0eb1bb016f7af7 (commit)
via b4425b95ad64e5945ea9674f888561d725747128 (commit)
via 8e1f346462d8c1b238a7c6bb501c45b381a45e4d (commit)
from 3b8d2eb7f8435c73692f55f95e9a0ef27015b6c3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=72354ab5e1d61dec7606a8851f0eb1bb016f7af7
commit 72354ab5e1d61dec7606a8851f0eb1bb016f7af7
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Jul 12 14:41:20 2015 -0700
Align stack to 16 bytes when calling __errno_location
We should align stack to 16 bytes when calling __errno_location.
[BZ #18661]
* sysdeps/x86_64/fpu/s_cosf.S (__cosf): Align stack to 16 bytes
when calling __errno_location.
* sysdeps/x86_64/fpu/s_sincosf.S (__sincosf): Likewise.
* sysdeps/x86_64/fpu/s_sinf.S (__sinf): Likewise.
diff --git a/ChangeLog b/ChangeLog
index 763771e..4f985f1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,14 @@
2015-08-05 H.J. Lu <hongjiu.lu@intel.com>
[BZ #18661]
+ * sysdeps/x86_64/fpu/s_cosf.S (__cosf): Align stack to 16 bytes
+ when calling __errno_location.
+ * sysdeps/x86_64/fpu/s_sincosf.S (__sincosf): Likewise.
+ * sysdeps/x86_64/fpu/s_sinf.S (__sinf): Likewise.
+
+2015-08-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #18661]
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
(__lll_timedwait_tid): Align stack to 16 bytes when calling
__gettimeofday.
diff --git a/NEWS b/NEWS
index 0eef939..a47687e 100644
--- a/NEWS
+++ b/NEWS
@@ -8,7 +8,7 @@ using `glibc' in the "product" field.
Version 2.23
* The following bugs are resolved with this release:
- 18265, 18525, 18647.
+ 18265, 18525, 18647, 18661.
Version 2.22
diff --git a/sysdeps/x86_64/fpu/s_cosf.S b/sysdeps/x86_64/fpu/s_cosf.S
index b7868ce..bea10ef 100644
--- a/sysdeps/x86_64/fpu/s_cosf.S
+++ b/sysdeps/x86_64/fpu/s_cosf.S
@@ -310,8 +310,14 @@ L(arg_inf_or_nan):
/* Here if |x| is Inf or NAN */
jne L(skip_errno_setting) /* in case of x is NaN */
+ /* Align stack to 16 bytes. */
+ subq $8, %rsp
+ cfi_adjust_cfa_offset (8)
/* Here if x is Inf. Set errno to EDOM. */
call JUMPTARGET(__errno_location)
+ addq $8, %rsp
+ cfi_adjust_cfa_offset (-8)
+
movl $EDOM, (%rax)
.p2align 4
diff --git a/sysdeps/x86_64/fpu/s_sincosf.S b/sysdeps/x86_64/fpu/s_sincosf.S
index 21db70a..a2f3133 100644
--- a/sysdeps/x86_64/fpu/s_sincosf.S
+++ b/sysdeps/x86_64/fpu/s_sincosf.S
@@ -354,8 +354,14 @@ L(arg_inf_or_nan):
/* Here if |x| is Inf or NAN */
jne L(skip_errno_setting) /* in case of x is NaN */
+ /* Align stack to 16 bytes. */
+ subq $8, %rsp
+ cfi_adjust_cfa_offset (8)
/* Here if x is Inf. Set errno to EDOM. */
call JUMPTARGET(__errno_location)
+ addq $8, %rsp
+ cfi_adjust_cfa_offset (-8)
+
movl $EDOM, (%rax)
.p2align 4
diff --git a/sysdeps/x86_64/fpu/s_sinf.S b/sysdeps/x86_64/fpu/s_sinf.S
index dc92164..90afbe8 100644
--- a/sysdeps/x86_64/fpu/s_sinf.S
+++ b/sysdeps/x86_64/fpu/s_sinf.S
@@ -336,8 +336,14 @@ L(arg_inf_or_nan):
/* Here if |x| is Inf or NAN */
jne L(skip_errno_setting) /* in case of x is NaN */
+ /* Align stack to 16 bytes. */
+ subq $8, %rsp
+ cfi_adjust_cfa_offset (8)
/* Here if x is Inf. Set errno to EDOM. */
call JUMPTARGET(__errno_location)
+ addq $8, %rsp
+ cfi_adjust_cfa_offset (-8)
+
movl $EDOM, (%rax)
.p2align 4
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b4425b95ad64e5945ea9674f888561d725747128
commit b4425b95ad64e5945ea9674f888561d725747128
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Jul 12 14:40:25 2015 -0700
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.
diff --git a/ChangeLog b/ChangeLog
index 8a47768..763771e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,13 @@
2015-08-05 H.J. Lu <hongjiu.lu@intel.com>
[BZ #18661]
+ * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+ (__lll_timedwait_tid): Align stack to 16 bytes when calling
+ __gettimeofday.
+
+2015-08-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #18661]
* sysdeps/unix/sysv/linux/x86_64/__start_context.S
(__start_context): Don't use pop to restore %rdi so that stack
is aligned to 16 bytes when calling __setcontext.
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)
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8e1f346462d8c1b238a7c6bb501c45b381a45e4d
commit 8e1f346462d8c1b238a7c6bb501c45b381a45e4d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Jul 12 14:38:58 2015 -0700
Align stack to 16 bytes when calling __setcontext
Don't use pop to restore %rdi so that stack is aligned to 16 bytes
when calling __setcontext.
[BZ #18661]
* sysdeps/unix/sysv/linux/x86_64/__start_context.S
(__start_context): Don't use pop to restore %rdi so that stack
is aligned to 16 bytes when calling __setcontext.
diff --git a/ChangeLog b/ChangeLog
index cec13dc..8a47768 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2015-08-05 H.J. Lu <hongjiu.lu@intel.com>
+ [BZ #18661]
+ * sysdeps/unix/sysv/linux/x86_64/__start_context.S
+ (__start_context): Don't use pop to restore %rdi so that stack
+ is aligned to 16 bytes when calling __setcontext.
+
+2015-08-05 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: Compile
only for libc.
* sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: Likewise.
diff --git a/sysdeps/unix/sysv/linux/x86_64/__start_context.S b/sysdeps/unix/sysv/linux/x86_64/__start_context.S
index 52a5afa..96366e0 100644
--- a/sysdeps/unix/sysv/linux/x86_64/__start_context.S
+++ b/sysdeps/unix/sysv/linux/x86_64/__start_context.S
@@ -31,8 +31,8 @@ ENTRY(__start_context)
on the stack pointer for the next context. */
movq %rbx, %rsp
- popq %rdi /* This is the next context. */
- cfi_adjust_cfa_offset(-8)
+ /* Don't use pop here so that stack is aligned to 16 bytes. */
+ movq (%rsp), %rdi /* This is the next context. */
testq %rdi, %rdi
je 2f /* If it is zero exit. */
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 22 ++++++++++++++++++++++
NEWS | 2 +-
sysdeps/unix/sysv/linux/x86_64/__start_context.S | 4 ++--
sysdeps/unix/sysv/linux/x86_64/lowlevellock.S | 9 +++++----
sysdeps/x86_64/fpu/s_cosf.S | 6 ++++++
sysdeps/x86_64/fpu/s_sincosf.S | 6 ++++++
sysdeps/x86_64/fpu/s_sinf.S | 6 ++++++
7 files changed, 48 insertions(+), 7 deletions(-)
hooks/post-receive
--
GNU C Library master sources