output.h (force_data_section): New prototype.
authorAndrew MacLeod <amacleod@cygnus.com>
Mon, 14 Dec 1998 14:19:48 +0000 (14:19 +0000)
committerAndrew Macleod <amacleod@gcc.gnu.org>
Mon, 14 Dec 1998 14:19:48 +0000 (14:19 +0000)
* output.h (force_data_section): New prototype.
* varasm.c (force_data_section): New function to force the
data section, regardless of what in_section thinks.
* dwarf2out.c (output_call_frame_info): Call force_data_section
since varasm may not realize we've changes sections.

From-SVN: r24311

gcc/ChangeLog
gcc/dwarf2out.c
gcc/output.h
gcc/varasm.c

index bb45298682cc33fd41b6aed12fa08a92b071bf00..526c5394242011b08c8e315056f8b8ef2f6c550d 100644 (file)
@@ -1,3 +1,11 @@
+Mon Dec 14 17:13:36 EST 1998  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * output.h (force_data_section): New prototype.
+       * varasm.c (force_data_section): New function to force the
+       data section, regardless of what in_section thinks.
+       * dwarf2out.c (output_call_frame_info): Call force_data_section
+       since varasm may not realize we've changes sections.
+
 Mon Dec 14 14:09:34 1998  Nick Clifton  <nickc@cygnus.com>
 
        * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
index 866108022af884d5094afc7b29fcde390c824d91..8f99206f1339bfe540c1b68fd926e4afb102dad2 100644 (file)
@@ -1691,7 +1691,7 @@ output_call_frame_info (for_eh)
 #else
       tree label = get_file_function_name ('F');
 
-      data_section ();
+      force_data_section ();
       ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE));
       ASM_GLOBALIZE_LABEL (asm_out_file, IDENTIFIER_POINTER (label));
       ASM_OUTPUT_LABEL (asm_out_file, IDENTIFIER_POINTER (label));
index 4082e629cfc8363ce9f965d1704d6ef025f23f4c..4fcce0b22eefab5f76f8d51a63545ffa1112343a 100644 (file)
@@ -142,6 +142,9 @@ extern void text_section            PROTO((void));
 /* Tell assembler to switch to data section.  */
 extern void data_section               PROTO((void));
 
+/* Tell assembler to make sure its in the data section.  */
+extern void force_data_section         PROTO((void));
+
 /* Tell assembler to switch to read-only data section.  This is normally
    the text section.  */
 extern void readonly_data_section      PROTO((void));
index e47a0cda419b32bf3a2a8a24f9d489716712c963..343c60364c6e4351e4d5f49d91dd05ae4391ebee 100644 (file)
@@ -216,6 +216,15 @@ data_section ()
       in_section = in_data;
     }
 }
+/* Tell assembler to ALWAYS switch to data section, in case
+   it's not sure where it it.  */
+
+void
+force_data_section ()
+{
+  in_section = no_section;
+  data_section ();
+}
 
 /* Tell assembler to switch to read-only data section.  This is normally
    the text section.  */