about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-07-30 20:09:30 -0700
committerUlrich Drepper <drepper@redhat.com>2009-07-30 20:09:30 -0700
commit07df80996944b95a238be755eb4957a83a5e4762 (patch)
treea3289076c92d4bea338750bacfd4c2fff342a710 /sysdeps
parent85d9d2f3a089f747177895b115ca2186f34b0122 (diff)
downloadglibc-07df80996944b95a238be755eb4957a83a5e4762.tar.gz
glibc-07df80996944b95a238be755eb4957a83a5e4762.tar.xz
glibc-07df80996944b95a238be755eb4957a83a5e4762.zip
Optimize ____longjmp_chk for x86-64 a bit.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/x86_64/____longjmp_chk.S8
1 files changed, 3 insertions, 5 deletions
diff --git a/sysdeps/x86_64/____longjmp_chk.S b/sysdeps/x86_64/____longjmp_chk.S
index 50d2fca2c3..23aa0cb775 100644
--- a/sysdeps/x86_64/____longjmp_chk.S
+++ b/sysdeps/x86_64/____longjmp_chk.S
@@ -66,14 +66,12 @@ ENTRY(____longjmp_chk)
 	cmpq	%r8, %rsp
 	jbe	.Lok
 
-	subq	$32, %rsp
-	cfi_adjust_cfa_offset(32)
-	movq	%r10, 24(%rsp)
+	subq	$24, %rsp
+	cfi_adjust_cfa_offset(24)
 	xorl	%edi, %edi
 	movq	%rsp, %rsi
 	movl	$__NR_sigaltstack, %eax
 	syscall
-	movq	24(%rsp), %r10
 	testl	%eax, %eax
 	movl	$0, %eax
 	jne	.Lok
@@ -127,7 +125,7 @@ ENTRY(____longjmp_chk)
 
 .Lfail:	xchgq	%r8, %rsp
 	/* We want the stack trace to show that of the caller.  */
-	cfi_def_cfa(%rsp, 40)
+	cfi_def_cfa(%rsp, 32)
 	cfi_restore(%rsp)
 	cfi_register(%rbp, %r9)
 	cfi_restore(%rip)