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.
This commit is contained in:
Alan Modra 2020-02-10 11:27:16 +10:30
parent e1f85e11f5
commit 821948744f
3 changed files with 9 additions and 2 deletions

View File

@ -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

View File

@ -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);

View File

@ -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