mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Update.
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:
@@ -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" \
|
||||
|
||||
@@ -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" \
|
||||
|
||||
Reference in New Issue
Block a user