aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-05-31 21:20:31 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-05-31 21:20:31 -0400
commit06bb02f78eaaee12e4e8b44ed3b6fae8e9e661a1 (patch)
tree1f3613ea8bb0ae810f0d08734efdb200349045f6
parent02db8dd0e3f0938e080e82bae41a582b2cfc16e8 (diff)
downloadgcc-06bb02f78eaaee12e4e8b44ed3b6fae8e9e661a1.zip
gcc-06bb02f78eaaee12e4e8b44ed3b6fae8e9e661a1.tar.gz
gcc-06bb02f78eaaee12e4e8b44ed3b6fae8e9e661a1.tar.bz2
(assemble_start_function, assemble_variable):
Make sure first_global_object_name is in permanent obstack. From-SVN: r9862
-rw-r--r--gcc/varasm.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 3876a72..ace5ba6 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -801,7 +801,14 @@ assemble_start_function (decl, fnname)
if (TREE_PUBLIC (decl))
{
if (!first_global_object_name)
- STRIP_NAME_ENCODING (first_global_object_name, fnname);
+ {
+ char *p;
+
+ STRIP_NAME_ENCODING (p, fnname);
+ first_global_object_name = permalloc (strlen (p) + 1);
+ strcpy (first_global_object_name, p);
+ }
+
#ifdef ASM_WEAKEN_LABEL
if (DECL_WEAK (decl))
ASM_WEAKEN_LABEL (asm_out_file, fnname);
@@ -1176,7 +1183,14 @@ assemble_variable (decl, top_level, at_end, dont_output_data)
if (TREE_PUBLIC (decl) && DECL_NAME (decl))
{
if (!first_global_object_name)
- STRIP_NAME_ENCODING(first_global_object_name, name);
+ {
+ char *p;
+
+ STRIP_NAME_ENCODING (p, name);
+ first_global_object_name = permalloc (strlen (p) + 1);
+ strcpy (first_global_object_name, p);
+ }
+
#ifdef ASM_WEAKEN_LABEL
if (DECL_WEAK (decl))
ASM_WEAKEN_LABEL (asm_out_file, name);