This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Support .gnu.lto_.lto section in ELF files (PR 24768).


Hi Martin,

> bfd/ChangeLog:
> 2019-07-22  Martin Liska  <mliska@suse.cz>
> 
> 	PR 24768
> 	* archive.c (_bfd_compute_and_write_armap): Come up with
> 	report_plugin_err variable.
> 	* bfd-in2.h (struct bfd): Add lto_slim_object flag.
> 	* elf.c (struct lto_section): New.
> 	(_bfd_elf_make_section_from_shdr): Parse content of
> 	.gnu_lto_.lto section.
> 	* elflink.c: Report error for a missing LTO plugin.
> 	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
> 
> binutils/ChangeLog:
> 2019-07-22  Martin Liska  <mliska@suse.cz>
> 
> 	PR 24768
> 	* nm.c (filter_symbols): Set report_plugin_err if
> 	error is reported.
> 	(display_rel_file): Report error for a missing LTO plugin.
> 
> gold/ChangeLog:
> 2019-07-22  Martin Liska  <mliska@suse.cz>
> 
> 	PR 24768
> 	* layout.h (class Layout): Add is_lto_slim_object and
> 	set_lto_slim_object.
> 	* object.cc (struct lto_section): Add lto_slim_object_.
> 	(big_endian>::do_layout): Parse content of
> 	.gnu_lto_.lto section.
> 	(big_endian>::do_add_symbols): Report error for a missing
> 	LTO plugin.

Approved - please apply.  However ...

+	  if (current->lto_slim_object && report_plugin_err)
+	    {
+	      report_plugin_err = FALSE;
+	      _bfd_error_handler
+		(_("%pB: plugin needed to handle lto object"),
+		 current);
+	    }

This piece of code is duplicated in several places.  It might be
worthwhile creating a new function for it, and calling it from
wherever it is currently being triggered.  (You might need to extend
the function to allow for the variation in the calls from nm.c, but
that is up to you).

Cheers
  Nick




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]