From d98bc257cffa804406c40b84ecfc8801c2ee90e2 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 6 May 2008 05:03:15 +0000 Subject: 2008-05-05 Ian Lance Taylor * options.h (DEFINE_bool): For DASH_Z, create the negative option as noVARNAME rather than no-VARNAME. (class General_options): Add option -z combreloc. * output.h (class Output_reloc) [SHT_REL]: Declare compare and get_address. (Output_reloc::sort_before) [SHT_REL]: New function. (Output_reloc::sort_before) [SHT_RELA]: New function. (class Output_data_reloc_base): Add sort_relocs_ field. Define Sort_relocs_comparison. (Output_data_reloc_base::Output_data_reloc_base): Add sort_relocs parameter. Change all callers. (Output_data_reloc::Output_data_reloc) [both versions]: Add sort_relocs parameter. Change all callers. * output.cc (Output_reloc::get_address): New function, broken out of write_rel. (Output_reloc::write_rel): Call it. (Output_reloc::compare): New function. (Output_data_reloc_base::do_write): Optionally sort relocs. --- gold/sparc.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gold/sparc.cc') diff --git a/gold/sparc.cc b/gold/sparc.cc index 60e8524..0472fa1 100644 --- a/gold/sparc.cc +++ b/gold/sparc.cc @@ -1026,7 +1026,7 @@ Target_sparc::rela_dyn_section(Layout* layout) if (this->rela_dyn_ == NULL) { gold_assert(layout != NULL); - this->rela_dyn_ = new Reloc_section(); + this->rela_dyn_ = new Reloc_section(parameters->options().combreloc()); layout->add_output_section_data(".rela.dyn", elfcpp::SHT_RELA, elfcpp::SHF_ALLOC, this->rela_dyn_); } @@ -1123,7 +1123,7 @@ template Output_data_plt_sparc::Output_data_plt_sparc(Layout* layout) : Output_section_data(size == 32 ? 4 : 8), count_(0) { - this->rel_ = new Reloc_section(); + this->rel_ = new Reloc_section(false); layout->add_output_section_data(".rela.plt", elfcpp::SHT_RELA, elfcpp::SHF_ALLOC, this->rel_); } -- cgit v1.1