Seen on arm-elf, where ELFOSABI_ARM is set too late to get a warning
when processing ifunc related directives on their source line.
../gas/as-new ifunc.s -o tmpdir/ifunc.o
../gas/as-new: symbol type STT_GNU_IFUNC is supported only by GNU and FreeBSD targets
ifunc.s: Assembler messages:
ifunc.s: Fatal error: can't close tmpdir/ifunc.o: sorry, cannot handle this file
This patch doesn't fix the real underlying problem, just the late
error message where "can't close" is a misdirection in this case.
* output-file.c (output_file_close): Remove "can't close" from
error message.
* testsuite/gas/mips/reginfo-2.l: Update expected output.
-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.
2011-08-04 H.J. Lu <hongjiu.lu@intel.com>
PR gas/13056
* output-file.c (output_file_close): Call bfd_cache_close_all
on error.
* write.c (write_object_file): Revert the last change.
final period or newline, don't say "ignored" or "zero assumed" for
as_bad messages. In some cases, change the wording to that used
elsewhere for similar messages.
* app.c, as.c, atof-generic.c, cgen.c, cond.c, depend.c, dwarf2dbg.c,
ecoff.c, expr.c, frags.c, input-file.c, input-scrub.c, listing.c,
output-file.c, stabs.c, subsegs.c, symbols.c, write.c: Likewise.
* ecoff.c (ecoff_directive_end): Test for missing name by
comparing input line pointers rather than reading string.
(ecoff_directive_ent): Likewise.
* read.c (s_set): Likewise.
(s_align): Report a warning rather than an error for
alignment too large.
(s_comm): Check for missing symbol name.
(s_lcomm_internal): Likewise.
(s_lsym): Likewise.
(s_globl): Use is_end_of_line instead of looking for '\n'.
(s_lcomm_internal): Likewise.
(ignore_rest_of_line): Report a warning rather than an error.
next_set_end even if the end symbol is being discarded.
* gasp.c: Add ATTRIBUTE_UNUSED as needed for non-BFD_ASSEMBLER.
* output-file.c, symbols.c, config/tc-i386.c: Likewise.
* config/obj-coff.c: Likewise.
(seg_info_type): Remove.
(seg_info_off_by_4): Change to array of segT.
(s_get_segment): Adjust accordingly.
(obj_pseudo_table): Fully initialize sentinel entry.