aboutsummaryrefslogtreecommitdiff
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
parent09e0389eb12491d3e9ef74b299b66efdd67adb1c (diff)
downloadglibc-649bf1332071954cbae3e9159708aea1b7c9ae31.zip
glibc-649bf1332071954cbae3e9159708aea1b7c9ae31.tar.gz
glibc-649bf1332071954cbae3e9159708aea1b7c9ae31.tar.bz2
Improve CFI in x86-64 ld.so trampoline code.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/x86_64/dl-trampoline.S3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 856689f..081d59b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-29 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Improve CFI
+ information.
+
2009-07-28 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/dl-trampoline.S: Properly restore AVX registers.
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index 5a4c6dd..20da695 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)