[binutils-gdb] gas -Z flag

Alan Modra amodra@sourceware.org
Mon Feb 10 04:59:00 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=821948744f578be38aade35ae6db7deecb4ee7be

commit 821948744f578be38aade35ae6db7deecb4ee7be
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 10 11:27:16 2020 +1030

    gas -Z flag
    
    -Z is supposed to "generate object file even after errors".  It
    doesn't do so at the moment, unless you count a zero length object
    file as useful output.  Fixed for most targets as follows.
    I suspect avr and pru need target patches.
    
    	* output-file.c (output_file_close): Do a normal close when
    	flag_always_generate_output.
    	* write.c (write_object_file): Don't stop output when
    	flag_always_generate_output.

Diff:
---
 gas/ChangeLog     | 7 +++++++
 gas/output-file.c | 2 +-
 gas/write.c       | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1cc473b..4c60d86 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2020-02-10  Alan Modra  <amodra@gmail.com>
+
+	* output-file.c (output_file_close): Do a normal close when
+	flag_always_generate_output.
+	* write.c (write_object_file): Don't stop output when
+	flag_always_generate_output.
+
 2020-02-07  Sergey Belyashov  <sergey.belyashov@gmail.com>
 
 	PR 25469
diff --git a/gas/output-file.c b/gas/output-file.c
index 1781d82..5735981 100644
--- a/gas/output-file.c
+++ b/gas/output-file.c
@@ -58,7 +58,7 @@ output_file_close (const char *filename)
     return;
 
   /* Close the bfd.  */
-  if (had_errors ())
+  if (!flag_always_generate_output && had_errors ())
     res = bfd_cache_close_all ();
   else
     res = bfd_close (stdoutput);
diff --git a/gas/write.c b/gas/write.c
index 5d9a239..dfbbc7c 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -2429,7 +2429,7 @@ write_object_file (void)
 #endif
 
   /* Stop if there is an error.  */
-  if (had_errors ())
+  if (!flag_always_generate_output && had_errors ())
     return;
 
   /* Now that all the sizes are known, and contents correct, we can



More information about the Binutils-cvs mailing list