aboutsummaryrefslogtreecommitdiff
path: root/gold/gold.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2006-08-18 22:29:20 +0000
committerIan Lance Taylor <iant@google.com>2006-08-18 22:29:20 +0000
commit14bfc3f55540e60253cc4aae73261325309f750a (patch)
treecb74fe438b44c7aa6e02f05e14f13ba1ae0b508a /gold/gold.cc
parent476308bf9bd077b87791da50a13a74b2698c01c7 (diff)
downloadgdb-14bfc3f55540e60253cc4aae73261325309f750a.zip
gdb-14bfc3f55540e60253cc4aae73261325309f750a.tar.gz
gdb-14bfc3f55540e60253cc4aae73261325309f750a.tar.bz2
Another snapshot of the current state of the sources. Gets to the
point of symbol resolution and can now issue a multiple definition error. Also added target selection infrastructure.
Diffstat (limited to 'gold/gold.cc')
-rw-r--r--gold/gold.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/gold/gold.cc b/gold/gold.cc
index fd349dd..e419f9c 100644
--- a/gold/gold.cc
+++ b/gold/gold.cc
@@ -11,6 +11,7 @@
#include "workqueue.h"
#include "dirsearch.h"
#include "readsyms.h"
+#include "symtab.h"
namespace gold
{
@@ -65,7 +66,7 @@ void
queue_initial_tasks(const General_options& options,
const Dirsearch& search_path,
const Command_line::Input_argument_list& inputs,
- Workqueue* workqueue)
+ Workqueue* workqueue, Symbol_table* symtab)
{
if (inputs.empty())
gold_fatal(_("no input files"), false);
@@ -81,8 +82,8 @@ queue_initial_tasks(const General_options& options,
{
Task_token* next_blocker = new Task_token();
next_blocker->add_blocker();
- workqueue->queue(new Read_symbols(options, search_path, *p, this_blocker,
- next_blocker));
+ workqueue->queue(new Read_symbols(options, symtab, search_path,
+ *p, this_blocker, next_blocker));
this_blocker = next_blocker;
}
@@ -113,6 +114,7 @@ main(int argc, char** argv)
gold::Workqueue workqueue(command_line.options());
// The symbol table.
+ Symbol_table symtab;
// Get the search path from the -L options.
Dirsearch search_path;
@@ -120,7 +122,7 @@ main(int argc, char** argv)
// Queue up the first set of tasks.
queue_initial_tasks(command_line.options(), search_path,
- command_line.inputs(), &workqueue);
+ command_line.inputs(), &workqueue, &symtab);
// Run the main task processing loop.
workqueue.process();