This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]