Remove use of a GCC extension when allocating local arrays.
authorNick Clifton <nickc@redhat.com>
Mon, 24 Jan 2000 19:38:04 +0000 (19:38 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 24 Jan 2000 19:38:04 +0000 (19:38 +0000)
bfd/ChangeLog
bfd/coffcode.h

index c37eee2ba5db9b6e81eaffa8024335b8e1f4bc28..97b85422e35efbeb253d923f927643a293173653 100644 (file)
@@ -1,3 +1,8 @@
+2000-01-24  Robert Lipe  (robertl@sco.com)
+
+        * coffcode.h (coff_write_object_contents): Get buff via bfd_malloc
+       instead of using GNU C extension.
+
 2000-01-21  Nick Clifton  <nickc@cygnus.com>
 
        * libbfd.c (bfd_read): Do not attempt to get a negativly sized
index 222089f16dafe4c45e6429fe14f14e922da9a44e..ace39e1d1149ec3b5bbff9d70adbdb9352a814b7 100644 (file)
@@ -3680,20 +3680,41 @@ coff_write_object_contents (abfd)
   /* now write them */
   if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
     return false;
+  
   {
-    char buff[bfd_coff_filhsz (abfd)];
+    char * buff;
+    bfd_size_type amount;
+    
+    buff = bfd_malloc (bfd_coff_filhsz (abfd));
+    if (buff == NULL) 
+      return false;
+    
     coff_swap_filehdr_out (abfd, (PTR) & internal_f, (PTR) buff);
-    if (bfd_write ((PTR) buff, 1, bfd_coff_filhsz (abfd), abfd)
-       != bfd_coff_filhsz (abfd))
+    amount = bfd_write ((PTR) buff, 1, bfd_coff_filhsz (abfd), abfd);
+    
+    free (buff);
+    
+    if (amount != bfd_coff_filhsz (abfd))
       return false;
   }
+  
   if (abfd->flags & EXEC_P)
     {
       /* Note that peicode.h fills in a PEAOUTHDR, not an AOUTHDR. 
         include/coff/pe.h sets AOUTSZ == sizeof(PEAOUTHDR)) */
-      char buff[bfd_coff_aoutsz (abfd)];
+      char * buff;
+      bfd_size_type amount;
+
+      buff = bfd_malloc (bfd_coff_aoutsz (abfd));
+      if (buff == NULL) 
+       return false;
+      
       coff_swap_aouthdr_out (abfd, (PTR) & internal_a, (PTR) buff);
-      if (bfd_write ((PTR) buff, 1, bfd_coff_aoutsz (abfd), abfd) != bfd_coff_aoutsz (abfd))
+      amount = bfd_write ((PTR) buff, 1, bfd_coff_aoutsz (abfd), abfd);
+      
+      free (buff);
+      
+      if (amount != bfd_coff_aoutsz (abfd))
        return false;
     }
 #ifdef RS6000COFF_C