]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Change code a bit to correct CFI.
authorUlrich Drepper <drepper@redhat.com>
Fri, 31 Jul 2009 04:29:27 +0000 (21:29 -0700)
committerUlrich Drepper <drepper@redhat.com>
Fri, 31 Jul 2009 04:29:27 +0000 (21:29 -0700)
sysdeps/x86_64/____longjmp_chk.S

index 23aa0cb775b57f24c1ead6690366bd43a2366cc5..80e4aff36d0408d3a3511fa42c71b17299100e4a 100644 (file)
@@ -74,6 +74,8 @@ ENTRY(____longjmp_chk)
        syscall
        testl   %eax, %eax
        movl    $0, %eax
+       leaq    24(%rsp), %rsp
+       cfi_adjust_cfa_offset(-24)
        jne     .Lok
        movl    8(%rsp), %eax
        andl    $1, %eax
@@ -125,7 +127,7 @@ ENTRY(____longjmp_chk)
 
 .Lfail:        xchgq   %r8, %rsp
        /* We want the stack trace to show that of the caller.  */
-       cfi_def_cfa(%rsp, 32)
+       cfi_def_cfa(%rsp, 8)
        cfi_restore(%rsp)
        cfi_register(%rbp, %r9)
        cfi_restore(%rip)