mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-18 08:38:10 +08:00
* layout.cc (Layout::get_output_section): Add is_interp and
is_dynamic_linker_section parameters. Change all callers. (Layout::choose_output_section): Likewise. (Layout::make_output_section): Likewise. (Layout::add_output_section_data): Add is_dynamic_linker_section parameter. Change all callers. * layout.h (class Layout): Update declarations. * output.h (class Output_section): Add is_interp, set_is_interp, is_dynamic_linker_section, set_is_dynamic_linker_section methods. Add is_interp_, is_dynamic_linker_section_ fields. Change generate_code_fills_at_write_ to a bitfield. * output.cc (Output_section::Output_sections): Initialize new fields. (Output_segment::add_output_section): Add do_sort parameter. Change all callers.
This commit is contained in:
@ -3094,7 +3094,7 @@ Script_sections::create_segments(Layout* layout)
|
||||
is_current_seg_readonly = true;
|
||||
}
|
||||
|
||||
current_seg->add_output_section(*p, seg_flags);
|
||||
current_seg->add_output_section(*p, seg_flags, false);
|
||||
|
||||
if (((*p)->flags() & elfcpp::SHF_WRITE) != 0)
|
||||
is_current_seg_readonly = false;
|
||||
@ -3173,7 +3173,7 @@ Script_sections::create_note_and_tls_segments(
|
||||
Layout::section_flags_to_segment((*p)->flags());
|
||||
Output_segment* oseg = layout->make_output_segment(elfcpp::PT_NOTE,
|
||||
seg_flags);
|
||||
oseg->add_output_section(*p, seg_flags);
|
||||
oseg->add_output_section(*p, seg_flags, false);
|
||||
|
||||
// Incorporate any subsequent SHT_NOTE sections, in the
|
||||
// hopes that the script is sensible.
|
||||
@ -3182,7 +3182,7 @@ Script_sections::create_note_and_tls_segments(
|
||||
&& (*pnext)->type() == elfcpp::SHT_NOTE)
|
||||
{
|
||||
seg_flags = Layout::section_flags_to_segment((*pnext)->flags());
|
||||
oseg->add_output_section(*pnext, seg_flags);
|
||||
oseg->add_output_section(*pnext, seg_flags, false);
|
||||
p = pnext;
|
||||
++pnext;
|
||||
}
|
||||
@ -3197,14 +3197,14 @@ Script_sections::create_note_and_tls_segments(
|
||||
Layout::section_flags_to_segment((*p)->flags());
|
||||
Output_segment* oseg = layout->make_output_segment(elfcpp::PT_TLS,
|
||||
seg_flags);
|
||||
oseg->add_output_section(*p, seg_flags);
|
||||
oseg->add_output_section(*p, seg_flags, false);
|
||||
|
||||
Layout::Section_list::const_iterator pnext = p + 1;
|
||||
while (pnext != sections->end()
|
||||
&& ((*pnext)->flags() & elfcpp::SHF_TLS) != 0)
|
||||
{
|
||||
seg_flags = Layout::section_flags_to_segment((*pnext)->flags());
|
||||
oseg->add_output_section(*pnext, seg_flags);
|
||||
oseg->add_output_section(*pnext, seg_flags, false);
|
||||
p = pnext;
|
||||
++pnext;
|
||||
}
|
||||
@ -3358,7 +3358,7 @@ Script_sections::attach_sections_using_phdrs_clause(Layout* layout)
|
||||
|
||||
elfcpp::Elf_Word seg_flags =
|
||||
Layout::section_flags_to_segment(os->flags());
|
||||
r->second->add_output_section(os, seg_flags);
|
||||
r->second->add_output_section(os, seg_flags, false);
|
||||
|
||||
if (r->second->type() == elfcpp::PT_LOAD)
|
||||
{
|
||||
|
Reference in New Issue
Block a user