aboutsummaryrefslogtreecommitdiff
path: root/elf/rtld.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-12-18 21:09:20 +0000
committerUlrich Drepper <drepper@redhat.com>2005-12-18 21:09:20 +0000
commit7725f8749a850972980349ca05259ea09d0b514f (patch)
treec7f9f3722de34955f71bab07249e6082d43e61ed /elf/rtld.c
parentd87921ee19b8c228490345fe2375b216fb7b0edd (diff)
downloadglibc-7725f8749a850972980349ca05259ea09d0b514f.zip
glibc-7725f8749a850972980349ca05259ea09d0b514f.tar.gz
glibc-7725f8749a850972980349ca05259ea09d0b514f.tar.bz2
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (PTR_MANGLE): Define C
version for inside ld.so. * elf/rtld.c (dl_main): Don't use hp timing code unless it's available.
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index 9ef58bb..aee3ea9 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -1837,10 +1837,12 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
if (GLRO(dl_pointer_guard))
{
// XXX If it is cheap, we should use a separate value.
- uintptr_t pointer_chk_guard;
+ uintptr_t pointer_chk_guard = stack_chk_guard;
+#ifndef HP_TIMING_NONAVAIL
hp_timing_t now;
HP_TIMING_NOW (now);
- pointer_chk_guard = stack_chk_guard ^ now;
+ pointer_chk_guard ^= now;
+#endif
#ifdef THREAD_SET_POINTER_GUARD
THREAD_SET_POINTER_GUARD (pointer_chk_guard);
#endif