* arm.cc (Target_arm::do_finalize_sections): Don't add dynamic
	tags if data is discarded by linker script.
	* i386.cc (Target_i386::do_finalize_sections): Likewise.
	* powerpc.cc (Target_powerpc::do_finalize_sections): Likewise.
	* sparc.cc (Target_sparc::do_finalize_sections): Likewise.
	* x86_64.cc (Target_x86_64::do_finalize_sections): Likewise.
This commit is contained in:
Ian Lance Taylor
2009-11-04 16:35:51 +00:00
parent f5c870d25d
commit 22b127cceb
6 changed files with 36 additions and 13 deletions

View File

@@ -1558,10 +1558,12 @@ Target_i386::do_finalize_sections(Layout* layout, const Input_objects*)
Output_data_dynamic* const odyn = layout->dynamic_data();
if (odyn != NULL)
{
if (this->got_plt_ != NULL)
if (this->got_plt_ != NULL
&& this->got_plt_->output_section() != NULL)
odyn->add_section_address(elfcpp::DT_PLTGOT, this->got_plt_);
if (this->plt_ != NULL)
if (this->plt_ != NULL
&& this->plt_->output_section() != NULL)
{
const Output_data* od = this->plt_->rel_plt();
odyn->add_section_size(elfcpp::DT_PLTRELSZ, od);
@@ -1569,7 +1571,8 @@ Target_i386::do_finalize_sections(Layout* layout, const Input_objects*)
odyn->add_constant(elfcpp::DT_PLTREL, elfcpp::DT_REL);
}
if (this->rel_dyn_ != NULL)
if (this->rel_dyn_ != NULL
&& this->rel_dyn_->output_section() != NULL)
{
const Output_data* od = this->rel_dyn_;
odyn->add_section_address(elfcpp::DT_REL, od);