2006-02-08 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 9 Feb 2006 00:07:41 +0000 (00:07 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 9 Feb 2006 00:07:41 +0000 (00:07 +0000)
* as.c (close_output_file): New.
(main): Register close_output_file with xatexit before
dump_statistics. Don't call output_file_close.

gas/ChangeLog
gas/as.c

index 6877ccb35722dfc7b268ea7bc48bf3a3d37afba8..3574590ddddbfe9d038515692631e0c9245bf420 100644 (file)
@@ -1,3 +1,9 @@
+2006-02-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * as.c (close_output_file): New.
+       (main): Register close_output_file with xatexit before
+       dump_statistics. Don't call output_file_close.
+
 2006-02-07  Nathan Sidwell  <nathan@codesourcery.com>
 
        * config/tc-m68k.c (mcf5208_control_regs, mcf5213_control_regs,
index 16711b1f819682449ace023a3e2c6a6c4ea9bbdd..727a1dd40ee58e5ac1c11a4e24185bfa324a286f 100644 (file)
--- a/gas/as.c
+++ b/gas/as.c
@@ -930,6 +930,14 @@ dump_statistics (void)
 #endif
 }
 
+#ifndef OBJ_VMS
+static void
+close_output_file (void)
+{
+  output_file_close (out_file_name);
+}
+#endif
+
 /* The interface between the macro code and gas expression handling.  */
 
 static int
@@ -1081,6 +1089,11 @@ main (int argc, char ** argv)
   input_scrub_begin ();
   expr_begin ();
 
+#ifndef OBJ_VMS /* Does its own file handling.  */
+  /* It has to be called after dump_statistics ().  */
+  xatexit (close_output_file);
+#endif
+
   if (flag_print_statistics)
     xatexit (dump_statistics);
 
@@ -1169,10 +1182,6 @@ main (int argc, char ** argv)
   listing_print (listing_filename);
 #endif
 
-#ifndef OBJ_VMS /* Does its own file handling.  */
-  output_file_close (out_file_name);
-#endif
-
   if (flag_fatal_warnings && had_warnings () > 0 && had_errors () == 0)
     as_bad (_("%d warnings, treating warnings as errors"), had_warnings ());