From 612a8d3dbf065f5fbaf7d9fe094a252ea6eb6c17 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 9 Feb 2010 20:29:44 +0000 Subject: * output.h (Output_data_dynamic::add_section_size): New method that takes two Output_data objects. (Output_data_dynamic::Dynamic_entry): Create storage for secondary entry param. Handle it in initializers. * output.cc (Output_data_dynamic::Dynamic_entry::write): For DYNAMIC_SECTION_SIZE, add in second object size if non-NULL. * layout.h (Layout::add_target_dynamic_tags): Add dynrel_includes_plt arg. * layout.cc (Layout::add_target_dynamic_tags): If dynrel_includes_plt, and .rela.plt exists, set DT_REL{,A}SZ to sum of .rela.dyn and .rela.plt * arm.cc (Target_arm::do_finalize_sections): Update to pass false for dynrel_includes_plt. * i386.cc (Target_i386::do_finalize_sections): Likewise. * x86_64.cc (Target_x86_64::do_finalize_sections): Likewise. * sparc.cc (Target_sparc::make_plt_entry): Force .rela.dyn to be output before .rela.plt (Target_sparc::do_finalize_sections): Update to pass true for dynrel_includes_plt. * powerpc.cc (Target_powerpc::make_plt_entry): Force .rela.dyn to be output before .rela.plt (Target_powerpc::do_finalize_sections): Update to pass true for dynrel_includes_plt when 32-bit. --- gold/i386.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gold/i386.cc') diff --git a/gold/i386.cc b/gold/i386.cc index 2eab3f8..f2a7b53 100644 --- a/gold/i386.cc +++ b/gold/i386.cc @@ -1609,7 +1609,7 @@ Target_i386::do_finalize_sections( ? NULL : this->plt_->rel_plt()); layout->add_target_dynamic_tags(true, this->got_plt_, rel_plt, - this->rel_dyn_, true); + this->rel_dyn_, true, false); // Emit any relocs we saved in an attempt to avoid generating COPY // relocs. -- cgit v1.1