diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-05-31 21:20:31 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-05-31 21:20:31 -0400 |
commit | 06bb02f78eaaee12e4e8b44ed3b6fae8e9e661a1 (patch) | |
tree | 1f3613ea8bb0ae810f0d08734efdb200349045f6 | |
parent | 02db8dd0e3f0938e080e82bae41a582b2cfc16e8 (diff) | |
download | gcc-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.c | 18 |
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); |