about summary refs log tree commit diff
path: root/sysdeps/x86_64/dl-trampoline.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-07-29 08:50:03 -0700
committerUlrich Drepper <drepper@redhat.com>2009-07-29 08:50:03 -0700
commit649bf1332071954cbae3e9159708aea1b7c9ae31 (patch)
tree9bbcc65483680119bb8d10a7d6088a5692e0b272 /sysdeps/x86_64/dl-trampoline.S
parent09e0389eb12491d3e9ef74b299b66efdd67adb1c (diff)
downloadglibc-649bf1332071954cbae3e9159708aea1b7c9ae31.tar.gz
glibc-649bf1332071954cbae3e9159708aea1b7c9ae31.tar.xz
glibc-649bf1332071954cbae3e9159708aea1b7c9ae31.zip
Improve CFI in x86-64 ld.so trampoline code.
Diffstat (limited to 'sysdeps/x86_64/dl-trampoline.S')
-rw-r--r--sysdeps/x86_64/dl-trampoline.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index 5a4c6ddecd..20da6956f1 100644
--- a/sysdeps/x86_64/dl-trampoline.S
+++ b/sysdeps/x86_64/dl-trampoline.S
@@ -61,6 +61,7 @@ _dl_runtime_resolve:
 	cfi_startproc
 
 _dl_runtime_profile:
+	cfi_adjust_cfa_offset(16) # Incorporate PLT
 	/* The La_x86_64_regs data structure pointed to by the
 	   fourth paramater must be 16-byte aligned.  This must
 	   be explicitly enforced.  We have the set up a dynamically
@@ -68,7 +69,7 @@ _dl_runtime_profile:
 	   has a fixed size and preserves the original stack pointer.  */
 
 	subq $32, %rsp		# Allocate the local storage.
-	cfi_adjust_cfa_offset(48) # Incorporate PLT
+	cfi_adjust_cfa_offset(32)
 	movq %rbx, (%rsp)
 	cfi_rel_offset(%rbx, 0)