diff options
author | samuel <samuel@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-22 05:51:44 +0000 |
---|---|---|
committer | samuel <samuel@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-22 05:51:44 +0000 |
commit | 0f4dbfb982e350a2585bd8416ad8740661abebb2 (patch) | |
tree | d77f393f094055cf54780770525095be9da9ac8a /gcc/profile.c | |
parent | 711575e5dabfc53f14d875185e1111e9073f0199 (diff) | |
download | gcc-0f4dbfb982e350a2585bd8416ad8740661abebb2.tar.gz |
Various fixes for problems discovered stress-testing GC.
* config/i386/i386.c (pic_label_name): Change to char pointer.
(global_offset_table): New variable.
(load_pic_register): Fill global_offset_table if it hasn't
already been done. Allocate pic_label_name dynamically.
* ggc.h (empty_string): New variable.
* ggc-simple.c (empty_string): Likewise.
(init_ggc): Allocate empty_string and add as root.
* stmt.c (digit_strings): New variable.
(init_stmt): Add last_block_end_note as root. Allocate and
initialize digit_strings.
(expand_asm_operands): Use empty_string and digit_string instead
of string constants.
* profile.c (init_arc_profiler): Allocate with ggc_alloc_string
instead of xmalloc.
(output_func_start_profiler): Likewise.
* c-typeck.c (digest_init): Check if init is error_mark_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29575 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/profile.c')
-rw-r--r-- | gcc/profile.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/profile.c b/gcc/profile.c index 871f55789cd..9e7cece72d0 100644 --- a/gcc/profile.c +++ b/gcc/profile.c @@ -1540,7 +1540,7 @@ static void init_arc_profiler () { /* Generate and save a copy of this so it can be shared. */ - char *name = xmalloc (20); + char *name = ggc_alloc_string (NULL, 20); ASM_GENERATE_INTERNAL_LABEL (name, "LPBX", 2); profiler_label = gen_rtx_SYMBOL_REF (Pmode, name); ggc_add_rtx_root (&profiler_label, 1); @@ -1678,10 +1678,11 @@ output_func_start_profiler () expand_function_start (fndecl, 0); /* Actually generate the code to call __bb_init_func. */ - name = xmalloc (20); + name = ggc_alloc_string (NULL, 20); ASM_GENERATE_INTERNAL_LABEL (name, "LPBX", 0); table_address = force_reg (Pmode, gen_rtx_SYMBOL_REF (Pmode, name)); - emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__bb_init_func"), 0, + emit_library_call (gen_rtx_SYMBOL_REF + (Pmode, ggc_alloc_string ("__bb_init_func", 14)), 0, mode, 1, table_address, Pmode); expand_function_end (input_filename, lineno, 0); |