diff options
-rw-r--r-- | gold/ChangeLog | 9 | ||||
-rw-r--r-- | gold/layout.cc | 6 | ||||
-rw-r--r-- | gold/output.cc | 10 | ||||
-rw-r--r-- | gold/output.h | 13 |
4 files changed, 15 insertions, 23 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index c282214..1012610 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -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. diff --git a/gold/layout.cc b/gold/layout.cc index 85648d3..07e9056 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -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_; diff --git a/gold/output.cc b/gold/output.cc index ce29b53..5459a57 100644 --- a/gold/output.cc +++ b/gold/output.cc @@ -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 diff --git a/gold/output.h b/gold/output.h index 7c24372..b4dbbd1 100644 --- a/gold/output.h +++ b/gold/output.h @@ -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*); |