Fix dw3gencfi.c so that it will build on targets that do not define BFD_ASSEMBLER.
authorNick Clifton <nickc@redhat.com>
Wed, 21 May 2003 11:31:07 +0000 (11:31 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 21 May 2003 11:31:07 +0000 (11:31 +0000)
gas/ChangeLog
gas/dw2gencfi.c

index 011bc5d4ba991ea266277128b86dd8826273a68b..b38f58b16dbfa0c4e18dcd990ef751310da6e326 100644 (file)
@@ -1,3 +1,11 @@
+2003-05-21  Nick Clifton  <nickc@redhat.com>
+
+       * dw2gencfi.c (cfi_get_label): Use symbol_make for non
+       BFD_ASSEMBLER targets.
+       (cfi_startproc): Change type of saved_seg and cfi_seg to segT.
+       (dot_cfi_endproc): Only call bfd_set_section_flags for targets
+       defining BFD_ASSEMBLER.
+
 2003-05-20  Michal Ludvig  <mludvig@suse.cz>
 
        * as.c (main): Remove tc_cfi_init().
index 8083e5d966bd226c38dca1dbf186c9978d1e495e..0b5059263f5b9e05131e670d5caa9fb5189bc92d 100644 (file)
@@ -351,22 +351,27 @@ cfi_get_label (void)
     {
       if ((S_GET_VALUE (symbolP) == frag_now_fix ())
          && (S_GET_SEGMENT (symbolP) == now_seg))
-       {
-         return symbolP;
-       }
+       return symbolP;
+
       snprintf (symname, sizeof (symname), "%s_0x%lx_%u",
                symbase, (long) frag_now_fix (), i++);
     }
+#ifdef BFD_ASSEMBLER
   symbolP = (symbolS *) local_symbol_make (symname, now_seg,
                                           (valueT) frag_now_fix (),
                                           frag_now);
+#else
+  symbolP = symbol_make (symname);
+#endif
   return symbolP;
 }
 
 static void
 dot_cfi_startproc (void)
 {
+#ifdef tc_cfi_frame_initial_instructions
   const char *simple = "simple";
+#endif
 
   if (cfi_info)
     {
@@ -596,7 +601,7 @@ dot_cfi_endproc (void)
   char *cie_buf, *fde_buf, *pbuf, *where;
   unsigned long buf_size, cie_size, fde_size, last_cie_offset;
   unsigned long fde_initloc_offset, fde_len_offset, fde_offset;
-  void *saved_seg, *cfi_seg;
+  segT saved_seg, cfi_seg;
   expressionS exp;
 
   if (! cfi_info)
@@ -609,8 +614,10 @@ dot_cfi_endproc (void)
   /* Open .eh_frame section.  */
   saved_seg = now_seg;
   cfi_seg = subseg_new (".eh_frame", 0);
+#ifdef BFD_ASSEMBLER
   bfd_set_section_flags (stdoutput, cfi_seg,
                         SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_DATA);
+#endif
   subseg_set (cfi_seg, 0);
 
   /* Build CIE.  */