diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/x86_64/start.S | 3 |
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. */ |