* 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:
Ian Lance Taylor 2008-05-16 22:29:04 +00:00
parent 497897f98c
commit 01676dcd51
4 changed files with 15 additions and 23 deletions

View file

@ -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.

View file

@ -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_;

View file

@ -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

View file

@ -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*);