summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2013-04-26 14:23:58 -0700
committerRoland McGrath <roland@hack.frob.com>2013-04-26 14:23:58 -0700
commit28db0546beb292b42481d99505be3ff8f291dc96 (patch)
tree1b3971368aa5c8def49c9d635a3f02226add2f60
parent9457fd952cafc701375fc9fae575a4aca1374de3 (diff)
downloadglibc-roland/x86_64-crt1-cfi.tar.gz
BZ#15407: Complete CFI annotations in x86_64 _start code.roland/x86_64-crt1-cfi
-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. */