From: Ulrich Drepper Date: Fri, 31 Jul 2009 19:57:45 +0000 (-0700) Subject: Fix ____longjmp_chk on x86-64. X-Git-Tag: fedora/glibc-2.10.90-12~1^2~4^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=66ae9e50a336d87f943cc6314a0d405820fcdf8b;p=thirdparty%2Fglibc.git Fix ____longjmp_chk on x86-64. After a recent change to fix CFI in ____longjmp_chk the test of the ss_flags used the wrong memory location. --- diff --git a/ChangeLog b/ChangeLog index 8759b2c08dc..fb046fe4c45 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-07-31 Ulrich Drepper + + * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S (longjmp_msg): Get + ss_flags from the correct location. + 2009-07-31 H.J. Lu * sysdeps/i386/i686/Makefile (sysdep_routines): Add cacheinfo. diff --git a/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S index 80e4aff36d0..4e53ea63c9b 100644 --- a/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S +++ b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S @@ -77,7 +77,7 @@ ENTRY(____longjmp_chk) leaq 24(%rsp), %rsp cfi_adjust_cfa_offset(-24) jne .Lok - movl 8(%rsp), %eax + movl -16(%rsp), %eax andl $1, %eax .Lok: @@ -122,7 +122,7 @@ ENTRY(____longjmp_chk) syscall addq $24, %rsp cfi_adjust_cfa_offset(-24) - testl $1, 8(%rsp) + testl $1, -16(%rsp) je .Lout .Lfail: xchgq %r8, %rsp