* elf/sprof.c (load_profdata): If do_test provide information as
	to why loading failed.
	* elf/dl-profile.c (_dl_start_profile): Initialize all of
	hist_hdr.dimen.
This commit is contained in:
Ulrich Drepper 2002-02-23 09:20:59 +00:00
parent 557fab43bd
commit 7fec4f2f70
3 changed files with 23 additions and 2 deletions

View File

@ -1,5 +1,10 @@
2002-02-23 Ulrich Drepper <drepper@redhat.com>
* elf/sprof.c (load_profdata): If do_test provide information as
to why loading failed.
* elf/dl-profile.c (_dl_start_profile): Initialize all of
hist_hdr.dimen.
* csu/set-init.c: Moved to...
* sysdeps/mach/hurd/set-init.c: ...here. New file.
* csu/Makefile: Don't compile set-init.

View File

@ -260,7 +260,11 @@ _dl_start_profile (struct link_map *map, const char *output_dir)
*(int32_t *) hist_hdr.hist_size = kcountsize / sizeof (HISTCOUNTER);
*(int32_t *) hist_hdr.prof_rate = __profile_frequency ();
if (sizeof (hist_hdr.dimen) >= sizeof ("seconds"))
memcpy (hist_hdr.dimen, "seconds", sizeof ("seconds"));
{
memcpy (hist_hdr.dimen, "seconds", sizeof ("seconds"));
memset (hist_hdr.dimen + sizeof ("seconds"), '\0',
sizeof (hist_hdr.dimen) - sizeof ("seconds"));
}
else
strncpy (hist_hdr.dimen, "seconds", sizeof (hist_hdr.dimen));
hist_hdr.dimen_abbrev = 's';

View File

@ -752,9 +752,21 @@ load_profdata (const char *name, struct shobj *shobj)
sizeof (struct gmon_hist_hdr)) != 0
|| narcsp[-1] != GMON_TAG_CG_ARC)
{
free (result);
error (0, 0, _("`%s' is no correct profile data file for `%s'"),
name, shobj->name);
if (do_test)
{
if (memcmp (addr, &gmon_hdr, sizeof (struct gmon_hdr)) != 0)
puts ("gmon_hdr differs");
if (*(uint32_t *) result->hist != GMON_TAG_TIME_HIST)
puts ("result->hist differs");
if (memcmp (result->hist_hdr, &hist_hdr,
sizeof (struct gmon_hist_hdr)) != 0)
puts ("hist_hdr differs");
if (narcsp[-1] != GMON_TAG_CG_ARC)
puts ("narcsp[-1] differs");
}
free (result);
munmap (addr, st.st_size);
return NULL;
}