about summary refs log tree commit diff
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.tar.gz
glibc-7725f8749a850972980349ca05259ea09d0b514f.tar.xz
glibc-7725f8749a850972980349ca05259ea09d0b514f.zip
* 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 9ef58bb328..aee3ea9a2a 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