]> git.ipfire.org Git - thirdparty/glibc.git/commit
Refactor hp-timing rtld usage
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 24 Jan 2019 12:46:59 +0000 (12:46 +0000)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 22 Mar 2019 20:30:44 +0000 (17:30 -0300)
commit1e372ded4f83362509c8672ff501cba871bb1edc
tree67094500df64f46c4fb95aaa46aba700f304e345
parent359653aaacad463d916323f03c0ac3c47405aafa
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.
13 files changed:
ChangeLog
benchtests/bench-timing.h
elf/rtld.c
nptl/descr.h
sysdeps/alpha/hp-timing.h
sysdeps/generic/hp-timing-common.h
sysdeps/generic/hp-timing.h
sysdeps/ia64/hp-timing.h
sysdeps/powerpc/powerpc32/power4/hp-timing.h
sysdeps/powerpc/powerpc64/hp-timing.h
sysdeps/sparc/sparc32/sparcv9/hp-timing.h
sysdeps/sparc/sparc64/hp-timing.h
sysdeps/x86/hp-timing.h