mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 20:14:06 +08:00
[GOLD] Fix spurious "plugin needed to handle lto object" warnings
lto_slim_object_ was unitialized. I also thought it worth adding a sanity check on the .gnu.lto_.lto.* section size, and made some other tidies. PR 24768 * layout.cc (Layout::Layout): Init lto_slim_object_. * object.cc (Sized_relobj_file::do_layout): Wrap overlong line. Don't use C cast. Validate section size. Don't copy contents.
This commit is contained in:
parent
e59a100122
commit
4c51dacacf
@ -1,3 +1,10 @@
|
||||
2019-09-20 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 24768
|
||||
* layout.cc (Layout::Layout): Init lto_slim_object_.
|
||||
* object.cc (Sized_relobj_file::do_layout): Wrap overlong line.
|
||||
Don't use C cast. Validate section size. Don't copy contents.
|
||||
|
||||
2019-09-20 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* powerpc.cc (Target_powerpc::Scan::check_non_pic): Move REL24
|
||||
|
@ -466,6 +466,7 @@ Layout::Layout(int number_of_input_files, Script_options* script_options)
|
||||
unique_segment_for_sections_specified_(false),
|
||||
incremental_inputs_(NULL),
|
||||
record_output_section_data_from_script_(false),
|
||||
lto_slim_object_(false),
|
||||
script_output_section_data_list_(),
|
||||
segment_states_(NULL),
|
||||
relaxation_debug_check_(NULL),
|
||||
|
@ -1884,10 +1884,15 @@ Sized_relobj_file<size, big_endian>::do_layout(Symbol_table* symtab,
|
||||
if (strncmp (name, lto_section_name, strlen (lto_section_name)) == 0)
|
||||
{
|
||||
section_size_type contents_len;
|
||||
const unsigned char* pcontents = this->section_contents(i, &contents_len, false);
|
||||
struct lto_section lsection = *(const lto_section*)pcontents;
|
||||
if (lsection.slim_object)
|
||||
layout->set_lto_slim_object ();
|
||||
const unsigned char* pcontents
|
||||
= this->section_contents(i, &contents_len, false);
|
||||
if (contents_len >= sizeof(lto_section))
|
||||
{
|
||||
const lto_section* lsection
|
||||
= reinterpret_cast<const lto_section*>(pcontents);
|
||||
if (lsection->slim_object)
|
||||
layout->set_lto_slim_object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user