summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-07-31 12:57:45 -0700
committerUlrich Drepper <drepper@redhat.com>2009-07-31 12:57:45 -0700
commit66ae9e50a336d87f943cc6314a0d405820fcdf8b (patch)
treed57e6527d77a44c66c7cf62efc70bb14e41c160a /sysdeps/unix/sysv
parent6f6f1215f68e5ae15ad18373234815fe7b2acc9e (diff)
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.
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
index 80e4aff36d..4e53ea63c9 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