[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