This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] Support .gnu.lto_.lto section in ELF files (PR 24768).
On 7/25/19 3:56 PM, Nick Clifton wrote:
> 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 ...
Thanks, I've just installed the patch.
>
> + 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).
Sure, that will be a nice improvement. Can you please point me to a header/source file
which is already shared among gold, bfd and binutils folders?
Thanks,
Martin
>
> Cheers
> Nick
>
>
>