1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-24 17:51:17 +03:00
2004-03-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/ldsodefs.h: Move _dl_initial_searclist,
	_dl_hp_timing_overhead, _dl_init_all_dirs, and the content of
	dl-procinfo.c from _rtld_global to _rtld_global_ro.
	* elf/rtld.c: Adjust initializer for _rtld_global_ro.
	* elf/dl-close.c: Use GLRO instead of GL where appropriate.
	* elf/dl-libc.c: Likewise.
	* elf/dl-load.c: Likewise.
	* sysdeps/i386/dl-procinfo.h: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.
	* sysdeps/ia64/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
This commit is contained in:
Ulrich Drepper
2004-03-07 08:39:57 +00:00
parent 021723ab78
commit c31e278f86
15 changed files with 90 additions and 65 deletions

View File

@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. sparcv9 version.
Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@redhat.com>, 2001.
@@ -40,14 +40,14 @@ typedef unsigned long long int hp_timing_t;
#define HP_TIMING_DIFF_INIT() \
do { \
int __cnt = 5; \
GL(dl_hp_timing_overhead) = ~0ull; \
GLRO(dl_hp_timing_overhead) = ~0ull; \
do \
{ \
hp_timing_t __t1, __t2; \
HP_TIMING_NOW (__t1); \
HP_TIMING_NOW (__t2); \
if (__t2 - __t1 < GL(dl_hp_timing_overhead)) \
GL(dl_hp_timing_overhead) = __t2 - __t1; \
if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
} \
while (--__cnt > 0); \
} while (0)
@@ -56,7 +56,7 @@ typedef unsigned long long int hp_timing_t;
#define HP_TIMING_ACCUM(Sum, Diff) \
do { \
hp_timing_t __diff = (Diff) - GL(dl_hp_timing_overhead); \
hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
__asm__ __volatile__("srl %L0, 0, %%g1\n\t" \
"sllx %H0, 32, %%g6\n\t" \
"or %%g1, %%g6, %%g1\n\t" \

View File

@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. sparc64 version.
Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@redhat.com>, 2001.
@@ -37,14 +37,14 @@ typedef unsigned long int hp_timing_t;
#define HP_TIMING_DIFF_INIT() \
do { \
int __cnt = 5; \
GL(dl_hp_timing_overhead) = ~0ull; \
GLRO(dl_hp_timing_overhead) = ~0ull; \
do \
{ \
hp_timing_t __t1, __t2; \
HP_TIMING_NOW (__t1); \
HP_TIMING_NOW (__t2); \
if (__t2 - __t1 < GL(dl_hp_timing_overhead)) \
GL(dl_hp_timing_overhead) = __t2 - __t1; \
if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
} \
while (--__cnt > 0); \
} while (0)
@@ -53,7 +53,7 @@ typedef unsigned long int hp_timing_t;
#define HP_TIMING_ACCUM(Sum, Diff) \
do { \
hp_timing_t __diff = (Diff) - GL(dl_hp_timing_overhead); \
hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
hp_timing_t tmp1, tmp2; \
__asm__ __volatile__("1: ldx [%3], %0\n\t" \
"add %0, %2, %1\n\t" \