PR32662, segv in _bfd_generic_link_output_symbols

asymbol flags zero can result from certain combinations of ELF st_info
binding and type.  asymbol section is set to bfd_abs_section for
genuine absolute symbols and also ones with a bogus st_shndx.  A
fuzzed ELF object with such a symbol can tickle a bug in generic
linker code added by commit d3a65d4dea to avoid an abort, resulting
in a segfault.  This patch fixes the segfault by removing the
sym->section->owner->flags test.  I think it should be OK to exclude
all symbols without any BSF flags set, not just IR symbols.

	PR 32662
	* linker.c (_bfd_generic_link_output_symbols): Exclude all
	symbols with zero flags.  Replace abort with assertion.
	Tidy logic.
1 file changed