aboutsummaryrefslogtreecommitdiff
path: root/elf/rtld.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/rtld.c')
-rw-r--r--elf/rtld.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index fe52117..a01594a 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -121,14 +121,20 @@ struct link_map _dl_rtld_map;
struct libname_list _dl_rtld_libname;
struct libname_list _dl_rtld_libname2;
+/* We expect less than a second for relocation. */
+#ifdef HP_SMALL_TIMING_AVAIL
+# undef HP_TIMING_AVAIL
+# define HP_TIMING_AVAIL HP_SMALL_TIMING_AVAIL
+#endif
+
/* Variable for statistics. */
#ifndef HP_TIMING_NONAVAIL
static hp_timing_t rtld_total_time;
static hp_timing_t relocate_time;
static hp_timing_t load_time;
#endif
-extern unsigned long int _dl_num_relocations; /* in dl-lookup.c */
-extern unsigned long int _dl_num_cache_relocations; /* in dl-lookup.c */
+extern unsigned long int _dl_num_relocations; /* in dl-lookup.c */
+extern unsigned long int _dl_num_cache_relocations; /* in dl-reloc.c */
static ElfW(Addr) _dl_start_final (void *arg, struct link_map *bootstrap_map_p,
hp_timing_t start_time);
@@ -136,7 +142,7 @@ static ElfW(Addr) _dl_start_final (void *arg, struct link_map *bootstrap_map_p,
#ifdef RTLD_START
RTLD_START
#else
-#error "sysdeps/MACHINE/dl-machine.h fails to define RTLD_START"
+# error "sysdeps/MACHINE/dl-machine.h fails to define RTLD_START"
#endif
static ElfW(Addr)
@@ -1506,7 +1512,7 @@ print_statistics (void)
{
char pbuf[30];
HP_TIMING_PRINT (buf, sizeof (buf), relocate_time);
- cp = _itoa_word ((1000 * relocate_time) / rtld_total_time,
+ cp = _itoa_word ((1000ULL * relocate_time) / rtld_total_time,
pbuf + sizeof (pbuf), 10, 0);
wp = pbuf;
switch (pbuf + sizeof (pbuf) - cp)
@@ -1535,7 +1541,7 @@ print_statistics (void)
{
char pbuf[30];
HP_TIMING_PRINT (buf, sizeof (buf), load_time);
- cp = _itoa_word ((1000 * load_time) / rtld_total_time,
+ cp = _itoa_word ((1000ULL * load_time) / rtld_total_time,
pbuf + sizeof (pbuf), 10, 0);
wp = pbuf;
switch (pbuf + sizeof (pbuf) - cp)