diff options
author | Alan Modra <amodra@gmail.com> | 2013-03-10 23:08:18 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2013-03-10 23:08:18 +0000 |
commit | dc3714f31f5b15f9c078dcf7ddaa705dacd313c0 (patch) | |
tree | 29717f9ed43f8fa606369975acac03a8e719c056 /gold/layout.cc | |
parent | 3bcc5422890014bfa8f8602d3c680c29a3384c29 (diff) | |
download | gdb-dc3714f31f5b15f9c078dcf7ddaa705dacd313c0.zip gdb-dc3714f31f5b15f9c078dcf7ddaa705dacd313c0.tar.gz gdb-dc3714f31f5b15f9c078dcf7ddaa705dacd313c0.tar.bz2 |
* gold.cc (queue_middle_tasks): Move detect_odr_violations..
* layout.cc (Layout_task_runner::run): ..to here.
* symtab.h (struct Symbol_location): Extract from..
(class Symbol_table): ..here.
* symtab.cc (Symbol_table::linenos_from_loc): Invoke function_location.
* target.h (class Target): Add function_location and
do_function_location functions.
(class Sized_target): Add do_function_location.
* object.h (class Sized_relobj_file): Move find_shdr..
(class Object): ..to here.
* object.cc: Likewise. Update to suit. Instantiate.
(Sized_relobj_file::find_eh_frame): Update find_shdr call.
* powerpc.cc (class Powerpc_dynobj): New.
(Target_powerpc::do_function_location): New function.
(Powerpc_relobj::do_find_special_sections): Update find_shdr call.
(Powerpc_dynobj::do_read_symbols): New function.
(Target_powerpc::do_make_elf_object): Make a Powerpc_dynobj.
Diffstat (limited to 'gold/layout.cc')
-rw-r--r-- | gold/layout.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gold/layout.cc b/gold/layout.cc index 1eb2cc0..faa8f71 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -317,6 +317,10 @@ Layout::Relaxation_debug_check::verify_sections( void Layout_task_runner::run(Workqueue* workqueue, const Task* task) { + // See if any of the input definitions violate the One Definition Rule. + // TODO: if this is too slow, do this as a task, rather than inline. + this->symtab_->detect_odr_violations(task, this->options_.output_file_name()); + Layout* layout = this->layout_; off_t file_size = layout->finalize(this->input_objects_, this->symtab_, |