From 28db0546beb292b42481d99505be3ff8f291dc96 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 26 Apr 2013 14:23:58 -0700 Subject: BZ#15407: Complete CFI annotations in x86_64 _start code. --- ChangeLog | 6 ++++++ sysdeps/x86_64/start.S | 3 +++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 225236c6d8..ab3ad2990f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-04-26 Roland McGrath + + [BZ #15407] + * sysdeps/x86_64/start.S (_start): Use cfi_adjust_cfa_offset for + change to the stack pointer. + 2013-04-26 Joseph Myers [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. */ -- cgit 1.4.1