OSDN Git Service

Temporary fix for partitioning problems; real fix coming soon.
authorctice <ctice@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Apr 2005 22:38:06 +0000 (22:38 +0000)
committerctice <ctice@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Apr 2005 22:38:06 +0000 (22:38 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98051 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/passes.c
gcc/varasm.c

index 5febe1d..bbc317e 100644 (file)
@@ -1,3 +1,13 @@
+2005-04-12  Caroline Tice  <ctice@apple.com>
+
+       Temporary fix for partitioning problems.
+       * passes.c (rest_of_handle_final): Remove code that 
+       frees unlikely_text_section_name,
+       * varasm.c (assemble_start_function): Test for partitioning
+       flag before writing out section labels.
+       (assemble_end_function): Test for partitioning flag before
+       writing out section labels.
+       
 2005-04-12  Steven Bosscher  <stevenb@suse.de>
            Stuart Hastings <stuart@apple.com>
            Jan Hubicka  <jh@suse.cz>
index 8ae8b31..c2cbefb 100644 (file)
@@ -328,8 +328,7 @@ rest_of_handle_final (void)
 
   timevar_push (TV_SYMOUT);
   (*debug_hooks->function_decl) (current_function_decl);
-  if (unlikely_text_section_name)
-    free (unlikely_text_section_name);
+
   timevar_pop (TV_SYMOUT);
 
   ggc_collect ();
index b8c9826..16f6d3b 100644 (file)
@@ -1303,7 +1303,8 @@ assemble_start_function (tree decl, const char *fnname)
   /* Switch to the correct text section for the start of the function.  */
 
   function_section (decl);
-  if (!hot_label_written)
+  if (flag_reorder_blocks_and_partition 
+      && !hot_label_written)
     ASM_OUTPUT_LABEL (asm_out_file, hot_section_label);
 
   /* Tell assembler to move to target machine's alignment for functions.  */
@@ -1377,13 +1378,16 @@ assemble_end_function (tree decl, const char *fnname)
     }
   /* Output labels for end of hot/cold text sections (to be used by
      debug info.)  */
-  save_text_section = in_section;
-  unlikely_text_section ();
-  ASM_OUTPUT_LABEL (asm_out_file, cold_section_end_label);
-  text_section ();
-  ASM_OUTPUT_LABEL (asm_out_file, hot_section_end_label);
-  if (save_text_section == in_unlikely_executed_text)
-    unlikely_text_section ();
+  if (flag_reorder_blocks_and_partition)
+    {
+      save_text_section = in_section;
+      unlikely_text_section ();
+      ASM_OUTPUT_LABEL (asm_out_file, cold_section_end_label);
+      text_section ();
+      ASM_OUTPUT_LABEL (asm_out_file, hot_section_end_label);
+      if (save_text_section == in_unlikely_executed_text)
+       unlikely_text_section ();
+    }
 }
 \f
 /* Assemble code to leave SIZE bytes of zeros.  */