aboutsummaryrefslogtreecommitdiff
path: root/gold/x86_64.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2009-11-04 15:56:03 +0000
committerIan Lance Taylor <ian@airs.com>2009-11-04 15:56:03 +0000
commitf5c870d25d59bc1e6fcb6a836b6bd1981788982c (patch)
tree5f0302e3a7df3fabd48233a453fdeca714c8116d /gold/x86_64.cc
parentc7cbc7a8c26acd91b498167e3a2b8625d5eaa109 (diff)
downloadgdb-f5c870d25d59bc1e6fcb6a836b6bd1981788982c.zip
gdb-f5c870d25d59bc1e6fcb6a836b6bd1981788982c.tar.gz
gdb-f5c870d25d59bc1e6fcb6a836b6bd1981788982c.tar.bz2
* layout.cc (Layout::get_output_section): Add is_interp and
is_dynamic_linker_section parameters. Change all callers. (Layout::choose_output_section): Likewise. (Layout::make_output_section): Likewise. (Layout::add_output_section_data): Add is_dynamic_linker_section parameter. Change all callers. * layout.h (class Layout): Update declarations. * output.h (class Output_section): Add is_interp, set_is_interp, is_dynamic_linker_section, set_is_dynamic_linker_section methods. Add is_interp_, is_dynamic_linker_section_ fields. Change generate_code_fills_at_write_ to a bitfield. * output.cc (Output_section::Output_sections): Initialize new fields. (Output_segment::add_output_section): Add do_sort parameter. Change all callers.
Diffstat (limited to 'gold/x86_64.cc')
-rw-r--r--gold/x86_64.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/gold/x86_64.cc b/gold/x86_64.cc
index 249d1f4..c325fc0 100644
--- a/gold/x86_64.cc
+++ b/gold/x86_64.cc
@@ -467,7 +467,7 @@ Target_x86_64::got_section(Symbol_table* symtab, Layout* layout)
os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- this->got_);
+ this->got_, false);
os->set_is_relro();
// The old GNU linker creates a .got.plt section. We just
@@ -478,7 +478,7 @@ Target_x86_64::got_section(Symbol_table* symtab, Layout* layout)
os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- this->got_plt_);
+ this->got_plt_, false);
os->set_is_relro();
// The first three entries are reserved.
@@ -506,7 +506,7 @@ Target_x86_64::rela_dyn_section(Layout* layout)
gold_assert(layout != NULL);
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_);
+ elfcpp::SHF_ALLOC, this->rela_dyn_, true);
}
return this->rela_dyn_;
}
@@ -606,7 +606,7 @@ Output_data_plt_x86_64::Output_data_plt_x86_64(Layout* layout,
{
this->rel_ = new Reloc_section(false);
layout->add_output_section_data(".rela.plt", elfcpp::SHT_RELA,
- elfcpp::SHF_ALLOC, this->rel_);
+ elfcpp::SHF_ALLOC, this->rel_, true);
}
void
@@ -802,7 +802,7 @@ Target_x86_64::make_plt_section(Symbol_table* symtab, Layout* layout)
layout->add_output_section_data(".plt", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_EXECINSTR),
- this->plt_);
+ this->plt_, false);
}
}