about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/x86_64/start.S3
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 225236c6d8..ab3ad2990f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-04-26  Roland McGrath  <roland@hack.frob.com>
+
+	[BZ #15407]
+	* sysdeps/x86_64/start.S (_start): Use cfi_adjust_cfa_offset for
+	change to the stack pointer.
+
 2013-04-26  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #15406]
diff --git a/sysdeps/x86_64/start.S b/sysdeps/x86_64/start.S
index 7cbc157662..e50b33cfd9 100644
--- a/sysdeps/x86_64/start.S
+++ b/sysdeps/x86_64/start.S
@@ -88,6 +88,7 @@ _start:
 #else
 	popq %rsi		/* Pop the argument count.  */
 #endif
+	cfi_adjust_cfa_offset (LP_SIZE)
 	/* argv starts just at the current stack top.  */
 	mov %RSP_LP, %RDX_LP
 	/* Align the stack to a 16 byte boundary to follow the ABI.  */
@@ -95,10 +96,12 @@ _start:
 
 	/* Push garbage because we push 8 more bytes.  */
 	pushq %rax
+	cfi_adjust_cfa_offset (-8)
 
 	/* Provide the highest stack address to the user code (for stacks
 	   which grow downwards).  */
 	pushq %rsp
+	cfi_adjust_cfa_offset (-8)
 
 #ifdef SHARED
 	/* Pass address of our own entry points to .fini and .init.  */