summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 83cffdea1b9..455fcd94743 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-10-21 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/35485
+ * tree.c (get_file_function_name): Copy first_global_object_name.
+ Centralize call to clean_symbol_name.
+
2008-10-21 Sandra Loosemore <sandra@codesourcery.com>
* config.gcc (powerpc-*): Make t-ppcgas imply usegas.h.
diff --git a/gcc/tree.c b/gcc/tree.c
index 7064e06bcec..925eafe0506 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -6923,7 +6923,7 @@ get_file_function_name (const char *type)
/* If we already have a name we know to be unique, just use that. */
if (first_global_object_name)
- p = first_global_object_name;
+ p = q = ASTRDUP (first_global_object_name);
/* If the target is handling the constructors/destructors, they
will be local to this file and the name is only necessary for
debugging purposes. */
@@ -6940,7 +6940,6 @@ get_file_function_name (const char *type)
else
p = file;
p = q = ASTRDUP (p);
- clean_symbol_name (q);
}
else
{
@@ -6959,7 +6958,6 @@ get_file_function_name (const char *type)
len = strlen (file);
q = (char *) alloca (9 * 2 + len + 1);
memcpy (q, file, len + 1);
- clean_symbol_name (q);
sprintf (q + len, "_%08X_%08X", crc32_string (0, name),
crc32_string (0, get_random_seed (false)));
@@ -6967,6 +6965,7 @@ get_file_function_name (const char *type)
p = q;
}
+ clean_symbol_name (q);
buf = (char *) alloca (sizeof (FILE_FUNCTION_FORMAT) + strlen (p)
+ strlen (type));
OpenPOWER on IntegriCloud