From 12e14209f0834b6d3d9884a586b558c32eb2607c Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 6 Oct 2006 20:40:16 +0000 Subject: Lay out object file sections when we add the symbols to the symbol table. --- gold/readsyms.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gold/readsyms.cc') diff --git a/gold/readsyms.cc b/gold/readsyms.cc index ee0e0638c62..adc8fac6e91 100644 --- a/gold/readsyms.cc +++ b/gold/readsyms.cc @@ -74,8 +74,10 @@ Read_symbols::run(Workqueue* workqueue) this->input_objects_->add_object(obj); - Read_symbols_data sd = obj->read_symbols(); - workqueue->queue(new Add_symbols(this->symtab_, obj, sd, + Read_symbols_data* sd = new Read_symbols_data; + obj->read_symbols(sd); + workqueue->queue(new Add_symbols(this->symtab_, this->layout_, + obj, sd, this->this_blocker_, this->next_blocker_)); @@ -94,6 +96,7 @@ Read_symbols::run(Workqueue* workqueue) Archive* arch = new Archive(this->input_.name(), input_file); arch->setup(); workqueue->queue(new Add_archive_symbols(this->symtab_, + this->layout_, this->input_objects_, arch, this->this_blocker_, @@ -155,7 +158,10 @@ Add_symbols::locks(Workqueue* workqueue) void Add_symbols::run(Workqueue*) { + this->object_->layout(this->layout_, this->sd_); this->object_->add_symbols(this->symtab_, this->sd_); + delete this->sd_; + this->sd_ = NULL; } } // End namespace gold. -- cgit v1.2.1