diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e0af9816a2196f4a5d571721141f1471db29e15e..e618801979485aa59e49dae29ffbbea553d668bb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-05-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
+	is needed.
+
 2005-05-11  Kazu Hirata  <kazu@cs.umass.edu>
 
 	* fold-const.c, libgcov.c: Fix comment typos.
diff --git a/gcc/libgcov.c b/gcc/libgcov.c
index 6a41097afb0ccc877af6a774478a9800b6f5c44d..3731a9ec9b79bebdd4ba4bf80a94ad1932e35cc5 100644
--- a/gcc/libgcov.c
+++ b/gcc/libgcov.c
@@ -212,6 +212,8 @@ gcov_exit (void)
       if (IS_DIR_SEPARATOR (gcov_prefix[prefix_length - 1]))
 	prefix_length--;
     }
+  else
+    prefix_length = 0;
   
   /* Allocate and initialize the filename scratch space.  */
   gi_filename = alloca (prefix_length + gcov_max_filename + 1);