* output.cc (Output_segment::add_output_section): Remove front
parameter. * output.h (class Output_segment): Remove add_initial_output_section and overloaded add_output_section. Update declaration of remaining add_output_section. * layout.cc (Layout::create_interp): Call add_output_section rather than add_initial_output_section. (Layout::finish_dynamic_section): Likewise.
This commit is contained in:
parent
497897f98c
commit
01676dcd51
4 changed files with 15 additions and 23 deletions
|
@ -1,5 +1,14 @@
|
|||
2008-05-16 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* output.cc (Output_segment::add_output_section): Remove front
|
||||
parameter.
|
||||
* output.h (class Output_segment): Remove
|
||||
add_initial_output_section and overloaded add_output_section.
|
||||
Update declaration of remaining add_output_section.
|
||||
* layout.cc (Layout::create_interp): Call add_output_section
|
||||
rather than add_initial_output_section.
|
||||
(Layout::finish_dynamic_section): Likewise.
|
||||
|
||||
* i386.cc (Target_i386::Relocate::relocate_tls): Set dynamic type
|
||||
for TLS_GOTDESC and TLS_DESC_CALL. Only optimize TLS_LDO_32 if we
|
||||
know the dynamic type.
|
||||
|
|
|
@ -2479,7 +2479,7 @@ Layout::create_interp(const Target* target)
|
|||
{
|
||||
Output_segment* oseg = this->make_output_segment(elfcpp::PT_INTERP,
|
||||
elfcpp::PF_R);
|
||||
oseg->add_initial_output_section(osec, elfcpp::PF_R);
|
||||
oseg->add_output_section(osec, elfcpp::PF_R);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2494,8 +2494,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects,
|
|||
Output_segment* oseg = this->make_output_segment(elfcpp::PT_DYNAMIC,
|
||||
(elfcpp::PF_R
|
||||
| elfcpp::PF_W));
|
||||
oseg->add_initial_output_section(this->dynamic_section_,
|
||||
elfcpp::PF_R | elfcpp::PF_W);
|
||||
oseg->add_output_section(this->dynamic_section_,
|
||||
elfcpp::PF_R | elfcpp::PF_W);
|
||||
}
|
||||
|
||||
Output_data_dynamic* const odyn = this->dynamic_data_;
|
||||
|
|
|
@ -2579,8 +2579,7 @@ Output_segment::Output_segment(elfcpp::Elf_Word type, elfcpp::Elf_Word flags)
|
|||
|
||||
void
|
||||
Output_segment::add_output_section(Output_section* os,
|
||||
elfcpp::Elf_Word seg_flags,
|
||||
bool front)
|
||||
elfcpp::Elf_Word seg_flags)
|
||||
{
|
||||
gold_assert((os->flags() & elfcpp::SHF_ALLOC) != 0);
|
||||
gold_assert(!this->is_max_align_known_);
|
||||
|
@ -2615,7 +2614,6 @@ Output_segment::add_output_section(Output_section* os,
|
|||
--p;
|
||||
if ((*p)->is_section_type(elfcpp::SHT_NOTE))
|
||||
{
|
||||
// We don't worry about the FRONT parameter.
|
||||
++p;
|
||||
pdl->insert(p, os);
|
||||
return;
|
||||
|
@ -2660,7 +2658,6 @@ Output_segment::add_output_section(Output_section* os,
|
|||
|
||||
if (insert)
|
||||
{
|
||||
// We don't worry about the FRONT parameter.
|
||||
++p;
|
||||
pdl->insert(p, os);
|
||||
return;
|
||||
|
@ -2672,10 +2669,7 @@ Output_segment::add_output_section(Output_section* os,
|
|||
// location in the section list.
|
||||
}
|
||||
|
||||
if (front)
|
||||
pdl->push_front(os);
|
||||
else
|
||||
pdl->push_back(os);
|
||||
pdl->push_back(os);
|
||||
}
|
||||
|
||||
// Remove an Output_section from this segment. It is an error if it
|
||||
|
|
|
@ -2682,13 +2682,7 @@ class Output_segment
|
|||
|
||||
// Add an Output_section to this segment.
|
||||
void
|
||||
add_output_section(Output_section* os, elfcpp::Elf_Word seg_flags)
|
||||
{ this->add_output_section(os, seg_flags, false); }
|
||||
|
||||
// Add an Output_section to the start of this segment.
|
||||
void
|
||||
add_initial_output_section(Output_section* os, elfcpp::Elf_Word seg_flags)
|
||||
{ this->add_output_section(os, seg_flags, true); }
|
||||
add_output_section(Output_section* os, elfcpp::Elf_Word seg_flags);
|
||||
|
||||
// Remove an Output_section from this segment. It is an error if it
|
||||
// is not present.
|
||||
|
@ -2787,11 +2781,6 @@ class Output_segment
|
|||
|
||||
typedef std::list<Output_data*> Output_data_list;
|
||||
|
||||
// Add an Output_section to this segment, specifying front or back.
|
||||
void
|
||||
add_output_section(Output_section*, elfcpp::Elf_Word seg_flags,
|
||||
bool front);
|
||||
|
||||
// Find the maximum alignment in an Output_data_list.
|
||||
static uint64_t
|
||||
maximum_alignment_list(const Output_data_list*);
|
||||
|
|
Loading…
Add table
Reference in a new issue