Commit Graph

23 Commits

Author SHA1 Message Date
H.J. Lu
f607047668 Update HP_TIMING_NOW for _ISOMAC in sysdeps/generic/hp-timing.h
commit e9698175b0
Author: Lukasz Majewski <lukma@denx.de>
Date:   Mon Mar 16 08:31:41 2020 +0100

    y2038: Replace __clock_gettime with __clock_gettime64

breaks benchtests with sysdeps/generic/hp-timing.h:

In file included from ./bench-timing.h:23,
                 from ./bench-skeleton.c:25,
                 from
/export/build/gnu/tools-build/glibc-gitlab/build-x86_64-linux/benchtests/bench-rint.c:45:
./bench-skeleton.c: In function ‘main’:
../sysdeps/generic/hp-timing.h:37:23: error: storage size of ‘tv’ isn’t known
   37 |   struct __timespec64 tv;      \
      |                       ^~

Define HP_TIMING_NOW with clock_gettime in sysdeps/generic/hp-timing.h
if _ISOMAC is defined.  Don't define __clock_gettime in bench-timing.h
since it is no longer needed.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2020-06-05 09:44:06 -07:00
Lukasz Majewski
e9698175b0 y2038: Replace __clock_gettime with __clock_gettime64
The __clock_gettime internal function is not supporting 64 bit time on
architectures with __WORDSIZE == 32 and __TIMESIZE != 64 (like e.g. ARM 32
bit).

The __clock_gettime64 function shall be used instead in the glibc itself as
it supports 64 bit time on those systems.
This patch does not bring any changes to systems with __WORDSIZE == 64 as
for them the __clock_gettime64 is aliased to __clock_gettime (in
./include/time.h).
2020-05-20 16:45:16 +02:00
Joseph Myers
d614a75396 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Paul Eggert
5a82c74822 Prefer https to http for gnu.org and fsf.org URLs
Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:

sed -ri '
  s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
  s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
  $(find $(git ls-files) -prune -type f \
      ! -name '*.po' \
      ! -name 'ChangeLog*' \
      ! -path COPYING ! -path COPYING.LIB \
      ! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
      ! -path manual/texinfo.tex ! -path scripts/config.guess \
      ! -path scripts/config.sub ! -path scripts/install-sh \
      ! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
      ! -path INSTALL ! -path  locale/programs/charmap-kw.h \
      ! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
      ! '(' -name configure \
            -execdir test -f configure.ac -o -f configure.in ';' ')' \
      ! '(' -name preconfigure \
            -execdir test -f preconfigure.ac ';' ')' \
      -print)

and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:

  chmod a+x sysdeps/unix/sysv/linux/riscv/configure
  # Omit irrelevant whitespace and comment-only changes,
  # perhaps from a slightly-different Autoconf version.
  git checkout -f \
    sysdeps/csky/configure \
    sysdeps/hppa/configure \
    sysdeps/riscv/configure \
    sysdeps/unix/sysv/linux/csky/configure
  # Omit changes that caused a pre-commit check to fail like this:
  # remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
  git checkout -f \
    sysdeps/powerpc/powerpc64/ppc-mcount.S \
    sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
  # Omit change that caused a pre-commit check to fail like this:
  # remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
  git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
2019-09-07 02:43:31 -07:00
Wilco Dijkstra
7621e38bf3 Add generic hp-timing support
Add missing generic hp_timing support.  It uses clock_gettime (CLOCK_MONOTONIC)
which has unspecified starting time, nano-second accuracy, and should faster on
architectures that implementes the symbol as vDSO.

Checked on aarch64-linux-gnu, x86_64-linux-gnu, and i686-linux-gnu. I also
checked the builds for all afected ABIs.

	* benchtests/Makefile (USE_CLOCK_GETTIME) Remove.
	* benchtests/README: Update description.
	* benchtests/bench-timing.h: Default to hp-timing.
	* sysdeps/generic/hp-timing.h (HP_TIMING_DIFF, HP_TIMING_ACCUM_NT,
	HP_TIMING_PRINT): Remove.
	(HP_TIMING_NOW): Add generic implementation.
	(hp_timing_t): Change to uint64_t.
2019-03-22 17:30:44 -03:00
Adhemerval Zanella
1e372ded4f Refactor hp-timing rtld usage
This patch refactor how hp-timing is used on loader code for statistics
report.  The HP_TIMING_AVAIL and HP_SMALL_TIMING_AVAIL are removed and
HP_TIMING_INLINE is used instead to check for hp-timing avaliability.
For alpha, which only defines HP_SMALL_TIMING_AVAIL, the HP_TIMING_INLINE
is set iff for IS_IN(rtld).

Checked on aarch64-linux-gnu, x86_64-linux-gnu, and i686-linux-gnu. I also
checked the builds for all afected ABIs.

	* benchtests/bench-timing.h: Replace HP_TIMING_AVAIL with
	HP_TIMING_INLINE.
	* nptl/descr.h: Likewise.
	* elf/rtld.c (RLTD_TIMING_DECLARE, RTLD_TIMING_NOW, RTLD_TIMING_DIFF,
	RTLD_TIMING_ACCUM_NT, RTLD_TIMING_SET): Define.
	(dl_start_final_info, _dl_start_final, dl_main, print_statistics):
	Abstract hp-timing usage with RTLD_* macros.
	* sysdeps/alpha/hp-timing.h (HP_TIMING_INLINE): Define iff IS_IN(rtld).
	(HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL): Remove.
	* sysdeps/generic/hp-timing.h (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL,
	HP_TIMING_NONAVAIL): Likewise.
	* sysdeps/ia64/hp-timing.h (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL):
	Likewise.
	* sysdeps/powerpc/powerpc32/power4/hp-timing.h (HP_TIMING_AVAIL,
	HP_SMALL_TIMING_AVAIL): Likewise.
	* sysdeps/powerpc/powerpc64/hp-timing.h (HP_TIMING_AVAIL,
	HP_SMALL_TIMING_AVAIL): Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.h (HP_TIMING_AVAIL,
	HP_SMALL_TIMING_AVAIL): Likewise.
	* sysdeps/sparc/sparc64/hp-timing.h (HP_TIMING_AVAIL,
	HP_SMALL_TIMING_AVAIL): Likewise.
	* sysdeps/x86/hp-timing.h (HP_TIMING_AVAIL, HP_SMALL_TIMING_AVAIL):
	Likewise.
	* sysdeps/generic/hp-timing-common.h: Update comment with
	HP_TIMING_AVAIL removal.
2019-03-22 17:30:44 -03:00
Joseph Myers
04277e02d7 Update copyright dates with scripts/update-copyrights.
* All files with FSF copyright notices: Update copyright dates
	using scripts/update-copyrights.
	* locale/programs/charmap-kw.h: Regenerated.
	* locale/programs/locfile-kw.h: Likewise.
2019-01-01 00:11:28 +00:00
Joseph Myers
688903eb3e Update copyright dates with scripts/update-copyrights.
* All files with FSF copyright notices: Update copyright dates
	using scripts/update-copyrights.
	* locale/programs/charmap-kw.h: Regenerated.
	* locale/programs/locfile-kw.h: Likewise.
2018-01-01 00:32:25 +00:00
Joseph Myers
bfff8b1bec Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Joseph Myers
f7a9f785e5 Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Joseph Myers
b168057aaa Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Richard Henderson
05502548e9 Always provide HP_SMALL_TIMING_AVAIL 2014-07-03 08:38:36 -07:00
Richard Henderson
86e1a7ff92 Unify hp-timing implementations
Provide an hp-timing-common.h for ports to use.
2014-07-03 08:38:30 -07:00
Richard Henderson
428dd03f5a Remove HP_TIMING_DIFF_INIT and dl_hp_timing_overhead
Without HP_TIMING_ACCUM, dl_hp_timing_overhead is write-only.
If we remove it, there's no point in HP_TIMING_DIFF_INIT either.
2014-07-03 08:38:25 -07:00
Richard Henderson
c39323e9d2 Removing HP_TIMING_ACCUM as unused 2014-07-03 08:38:21 -07:00
Richard Henderson
850e0e032b Removing HP_TIMING_ZERO as unused 2014-07-03 08:38:18 -07:00
Allan McRae
d4697bc93d Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

	* manual/argp.texi: Remove ignored LGPL copyright notice; it's
	not appropriate for documentation anyway.
	* manual/libc-texinfo.sh: "Library General Public License" ->
	"Lesser General Public License".

2001-07-06  Andreas Jaeger  <aj@suse.de>

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Ulrich Drepper
5732c4df91 Update.
* sysdeps/generic/hp-timing.h (HP_TIMING_NONAVAIL): Define to
	signal timing is not really implemented.

2000-04-17  Andreas Jaeger  <aj@suse.de>

	* elf/rtld.c (process_dl_debug): Mention statistics in help message.

2000-04-17  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (install): Use slibdir and libdir instead of inst_slibdir
	and inst_libdir.

2000-04-17  Ulrich Drepper  <drepper@redhat.com>
2000-04-18 06:35:08 +00:00
Ulrich Drepper
118bad87bd Update.
1998-12-31  Ulrich Drepper  <drepper@cygnus.com>

	* iconvdata/Makefile: Use rpath $ORIGIN for modules which use any of
	the conversion libraries.

	* include/features.h: Mention latest extensions in _POSIX_C_SOURCE
	description.

	* libio/genops.c (list_all_lock): New variable.
	(_IO_un_link, _IO_link_in): Acquire lock before modifying _IO_list_all.
	[PR libc/911].

	* sysdeps/i386/i686/strtok.s: Add missing cld.

	* sysdeps/i386/i686/mempcpy.S: New file.

1998-12-30  Geoff Keating  <geoffk@ozemail.com.au>

	Suppress parentheses warnings:
	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
	(DL_FIND_ARG_COMPONENTS): here,
	* sysdeps/powerpc/dl-machine.c: here,
	* sysdeps/powerpc/fclrexcpt.c (feclearexcept): here,
	* sysdeps/powerpc/fesetround.c (fesetround): here,
	* sysdeps/powerpc/feupdateenv.c (feupdateenv): here,
	* sysdeps/powerpc/fraiseexcpt.c (feraiseexcept): here,
	* sysdeps/powerpc/fsetexcptflg.c (fesetexceptflag): here,
	* sysdeps/powerpc/s_rint.c (__rint): here,
	* sysdeps/powerpc/s_rintf.c (__rintf): here,
	* sysdeps/powerpc/w_sqrt.c (__sqrt): here,
	* sysdeps/powerpc/w_sqrtf.c (__sqrtf): and here.

1998-12-30  Geoff Keating  <geoffk@ozemail.com.au>

	* wcsmbs/wcstold.c [__NO_LONG_DOUBLE_MATH]: Include wchar.h.
	* wcsmbs/wcstold_l.c [__NO_LONG_DOUBLE_MATH]: Likewise.  Also define
	appropropriate prototypes, correct procedure names.

1998-12-30  Geoff Keating  <geoffk@ozemail.com.au>

	* sysdeps/generic/crypt-entry.c: Prototype __crypt_r, suppress
	warning.
	(__crypt_r): Add __restrict.
	* sysdeps/generic/crypt.h: Remove internal routine.  Add __restrict.

1998-12-31  Ulrich Drepper  <drepper@cygnus.com>

	* stdlib/longlong.h: Add missing #else in SPARC definitions.

1998-12-30  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	Patches by Ralf Baechle <ralf@gnu.org>:
	* sysdeps/unix/sysv/linux/mips/sgidefs.h: Removed.
	* sysdeps/unix/sysv/linux/mips/sys/asm.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/sys/regdef.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/sys/fpregdef.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/regdef.h:  Removed.
	* sysdeps/unix/sysv/linux/mips/fpregdef.h: Removed.

	* sysdeps/unix/sysv/linux/mips/Makefile: Remove delete files.
	* sysdeps/unix/sysv/linux/mips/Dist: Remove deleted files.

	* sysdeps/mips/sys/fpregdef.h: New files, enhanced versions of deleted
	linux specific files.
	* sysdeps/mips/sys/asm.h: Likewise.
	* sysdeps/mips/sgidefs.h: Likewise.
	* sysdeps/mips/fpregdef.h: Likewise.
	* sysdeps/mips/regdef.h: Likewise.

	* sysdeps/mips/Makefile: Add new headers.
	* sysdeps/mips/Dist: Add new files.

	* sysdeps/mips/fpu_control.h (_FPU_DEFAULT): Change value.

1998-12-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* iconvdata/Makefile: Remove variable assignments and rules that
	are now auto-generated.  Include $(objpfx)iconv-rules instead.
	Btw, that removes a few typos.
	(charmaps): New variable.
	($(objpfx)iconv-rules): New target.
	(gen-8bit-modules): Renamed from sed-generated-headers, remove .h
	suffixes.
	(gen-8bit-gap-modules): Renamed from awk-generated-headers, remove
	.h suffixes.
	(gen-special-modules): New variable.
	(generated-modules): New variable.
	(headers): Use it.
	(before-compile): Likewise.
	(generated): Likewise, and add iconv-rules.
	* iconvdata/euc-cn.c: Renamed from euccn.c.
	* iconvdata/euc-jp.c: Renamed from eucjp.c.
	* iconvdata/euc-kr.c: Renamed from euckr.c.
	* iconvdata/euc-tw.c: Renamed from euctw.c.
	* iconvdata/iso_6937.c: Renamed from iso6937.c.
	* iconvdata/iso_6937-2.c: Renamed from iso6937-2.c.
	* iconvdata/t.61.c: Renamed from t61.c.
	* iconvdata/Makefile (distribute): Adjusted for those renames.
	Remove $(objpfx) from names.

1998-12-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* sysdeps/generic/hp-timing.h: Fix comment.
	* sysdeps/generic/dl-hash.h: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.

1998-12-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* posix/fnmatch.c (fnmatch): Always pass unsigned char values to
	FOLD macro.

1998-12-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* nss/db-Makefile ($(VAR_DB)/shadow.db): Fix last change.

1998-12-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Sync with
	current Linux 2.1.132 kernel sources.

1998-12-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	Patches by Ralf Baechle <ralf@gnu.org> for Linux/MIPS:
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Add ipc, change
	pread/pwrite and llseek calls.

	* sysdeps/unix/sysv/linux/mips/sysdep.S: New file.

1998-12-29  Wolfram Gloger  <wmglo@dent.med.uni-muenchen.de>

	* malloc/thread-m.h [_LIBC] : Fix for NO_THREADS case.
1998-12-31 18:19:19 +00:00
Ulrich Drepper
db276fa11c Update.
1998-12-27  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-lookup.c (_dl_num_relocations): New variable.
	(do_lookup): Increment _dl_num_relocations for every call.
	* elf/rtld.c (print_statistics): New function.
	(_dl_debug_statistics): New variable.  Set when statistics are asked
	for.
	(rtld_total_time, relocate_time, load_time): New variables.  Used
	in print_statistics.
	(_dl_start): Record start and end time of startup.  Call
	print_statistics if needed.
	(dk_main): Record times for relocations and loading.
	(process_dl_debug): Recognize statistics.

	Low-level, low-overhead, high-precision timing funcationality.
	* sysdeps/generic/hp-timing.h: New file.
	* sysdeps/i386/i686/Makefile: New file.
	* sysdeps/i386/i686/hp-timing.h: New file.
	* sysdeps/i386/i686/hp-timing.c: New file.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Reverse order of OR
	clauses to avoid accessing global variables during rtld relocation.

	* sunrpc/rpc_main.c: Unify messages.

	* sysdeps/unix/sysv/linux/arm/Dist: Add ioperm.c and sys/io.h.
1998-12-27 17:29:47 +00:00