1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00
2002-02-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/ldsodefs.h (_dl_load_lock): Remove duplicate
	definition.
	* sysdeps/ia64/hp-timing.h: Move _dl_hp_timing_overhead in
	_rtld_global struct.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc64/Makefile: Make hp-timing static only.
	* sysdeps/unix/sysv/aix/init-first.c (_dl_fpu_control,
	_dl_fpu_control_set): Remove unused externs.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Move procinfo
	related variables in _rtld_global struct.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c (_dl_fpu_control_set): Remove
	unused extern.
This commit is contained in:
Ulrich Drepper
2002-02-01 19:06:42 +00:00
parent a3a4f24951
commit 27ef89fbdc
13 changed files with 171 additions and 61 deletions

View File

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

View File

@@ -3,4 +3,5 @@ long-double-fcts = yes
ifeq ($(subdir),csu)
sysdep_routines += hp-timing
static-only-routines += hp-timing
endif

View File

@@ -1,5 +1,5 @@
/* Support for high precision, low overhead timing functions. sparc64 version.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@redhat.com>, 2001.
@@ -21,4 +21,4 @@
#include <hp-timing.h>
/* We have to define the variable for the overhead. */
hp_timing_t __libc_hp_timing_overhead;
hp_timing_t _dl_hp_timing_overhead;

View File

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