This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
gas -Z flag
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Mon, 10 Feb 2020 14:44:00 +1030
- Subject: 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 might 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 --git a/gas/output-file.c b/gas/output-file.c
index 1781d82f22..573598101c 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 5d9a239422..dfbbc7cb9b 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
--
Alan Modra
Australia Development Lab, IBM