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.
This commit is contained in:
Ulrich Drepper 2009-07-31 12:57:45 -07:00
parent 6f6f1215f6
commit 66ae9e50a3
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2009-07-31 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S (longjmp_msg): Get
ss_flags from the correct location.
2009-07-31 H.J. Lu <hongjiu.lu@intel.com> 2009-07-31 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i686/Makefile (sysdep_routines): Add cacheinfo. * sysdeps/i386/i686/Makefile (sysdep_routines): Add cacheinfo.

View File

@ -77,7 +77,7 @@ ENTRY(____longjmp_chk)
leaq 24(%rsp), %rsp leaq 24(%rsp), %rsp
cfi_adjust_cfa_offset(-24) cfi_adjust_cfa_offset(-24)
jne .Lok jne .Lok
movl 8(%rsp), %eax movl -16(%rsp), %eax
andl $1, %eax andl $1, %eax
.Lok: .Lok:
@ -122,7 +122,7 @@ ENTRY(____longjmp_chk)
syscall syscall
addq $24, %rsp addq $24, %rsp
cfi_adjust_cfa_offset(-24) cfi_adjust_cfa_offset(-24)
testl $1, 8(%rsp) testl $1, -16(%rsp)
je .Lout je .Lout
.Lfail: xchgq %r8, %rsp .Lfail: xchgq %r8, %rsp