summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--elf/dl-profile.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8632fbac12..09e1265c0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2002-02-02  Ulrich Drepper  <drepper@redhat.com>
 
+	* elf/dl-profile.c (_dl_start_profile): Help the compiler to avoid
+	strncpy if possible.
+
 	* sysdeps/generic/dl-environ.c (unsetenv): Optimize.  Don't use
 	strncmp.
 	* elf/dl-load.c (is_dst): Optimize.  Don't call strncmp twice.
diff --git a/elf/dl-profile.c b/elf/dl-profile.c
index 6abdb1b76d..163a841d6f 100644
--- a/elf/dl-profile.c
+++ b/elf/dl-profile.c
@@ -244,7 +244,10 @@ _dl_start_profile (struct link_map *map, const char *output_dir)
   *(char **) hist_hdr.high_pc = (char *) mapend;
   *(int32_t *) hist_hdr.hist_size = kcountsize / sizeof (HISTCOUNTER);
   *(int32_t *) hist_hdr.prof_rate = __profile_frequency ();
-  strncpy (hist_hdr.dimen, "seconds", sizeof (hist_hdr.dimen));
+  if (sizeof (hist_hdr.dimen) >= sizeof ("seconds"))
+    memcpy (hist_hdr.dimen, "seconds", sizeof ("seconds"));
+  else
+    strncpy (hist_hdr.dimen, "seconds", sizeof (hist_hdr.dimen));
   hist_hdr.dimen_abbrev = 's';
 
   /* First determine the output name.  We write in the directory