diff options
author | Ian Lance Taylor <iant@google.com> | 2006-11-03 18:26:11 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2006-11-03 18:26:11 +0000 |
commit | 750cc302b17eff7da82db0ef4a4c2773d19a69ed (patch) | |
tree | 4e24cd2e100a1ded63548d50aae554861aac14db /gold/common.h | |
parent | 6e9890411034bc42fab32d8fa4c34541ab25e5b0 (diff) | |
download | binutils-redhat-750cc302b17eff7da82db0ef4a4c2773d19a69ed.tar.gz |
Can now do a full static link of hello, world in C or C++
Diffstat (limited to 'gold/common.h')
-rw-r--r-- | gold/common.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gold/common.h b/gold/common.h new file mode 100644 index 0000000000..75237a6a5c --- /dev/null +++ b/gold/common.h @@ -0,0 +1,49 @@ +// common.h -- handle common symbols for gold -*- C++ -*- + +#ifndef GOLD_COMMON_H +#define GOLD_COMMON_H + +#include "workqueue.h" + +namespace gold +{ + +class General_options; +class Symbol_table; + +// This task is used to allocate the common symbols. + +class Allocate_commons_task : public Task +{ + public: + Allocate_commons_task(const General_options& options, Symbol_table* symtab, + Layout* layout, Task_token* symtab_lock, + Task_token* blocker) + : options_(options), symtab_(symtab), layout_(layout), + symtab_lock_(symtab_lock), blocker_(blocker) + { } + + // The standard Task methods. + + Is_runnable_type + is_runnable(Workqueue*); + + Task_locker* + locks(Workqueue*); + + void + run(Workqueue*); + + private: + class Allocate_commons_locker; + + const General_options& options_; + Symbol_table* symtab_; + Layout* layout_; + Task_token* symtab_lock_; + Task_token* blocker_; +}; + +} // End namespace gold. + +#endif // !defined(GOLD_COMMON_H) |