diff options
author | Cary Coutant <ccoutant@google.com> | 2010-08-20 00:35:13 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2010-08-20 00:35:13 +0000 |
commit | 97b4be1cc0a42ea9964a912bb1513974e7aa7613 (patch) | |
tree | 21785a33b0d689d1d2a245321021d88e8131c86c /gold/archive.h | |
parent | 02bfaba5bea6a44973c2eb6513f842ef5109b628 (diff) | |
download | fsf-binutils-gdb-97b4be1cc0a42ea9964a912bb1513974e7aa7613.zip fsf-binutils-gdb-97b4be1cc0a42ea9964a912bb1513974e7aa7613.tar.gz fsf-binutils-gdb-97b4be1cc0a42ea9964a912bb1513974e7aa7613.tar.bz2 |
* gold/archive.h (Add_lib_group_symbols): Add readsyms_blocker_, adjust
constructor, and set_blocker.
* gold/archive.cc (Add_lib_group_symbols::is_runnable): Also check
readsyms_blocker_.
* gold/readsyms.cc (Read_symbols::do_lib_group): Also pass
this->this_blocker_ to Add_lib_group_symbols::set_blocker.
* testsuite/Makefile.am (start_lib_test): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/start_lib_test_main.c: New file.
* testsuite/start_lib_test_1.c: New file.
* testsuite/start_lib_test_2.c: New file.
* testsuite/start_lib_test_3.c: New file.
Diffstat (limited to 'gold/archive.h')
-rw-r--r-- | gold/archive.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gold/archive.h b/gold/archive.h index 9107d1e..1cc5ea8 100644 --- a/gold/archive.h +++ b/gold/archive.h @@ -495,7 +495,8 @@ class Add_lib_group_symbols : public Task Input_objects* input_objects, Lib_group* lib, Task_token* next_blocker) : symtab_(symtab), layout_(layout), input_objects_(input_objects), - lib_(lib), this_blocker_(NULL), next_blocker_(next_blocker) + lib_(lib), readsyms_blocker_(NULL), this_blocker_(NULL), + next_blocker_(next_blocker) { } ~Add_lib_group_symbols(); @@ -513,9 +514,10 @@ class Add_lib_group_symbols : public Task // Set the blocker to use for this task. void - set_blocker(Task_token* this_blocker) + set_blocker(Task_token* readsyms_blocker, Task_token* this_blocker) { - gold_assert(this->this_blocker_ == NULL); + gold_assert(this->readsyms_blocker_ == NULL && this->this_blocker_ == NULL); + this->readsyms_blocker_ = readsyms_blocker; this->this_blocker_ = this_blocker; } @@ -530,6 +532,7 @@ class Add_lib_group_symbols : public Task Layout* layout_; Input_objects* input_objects_; Lib_group * lib_; + Task_token* readsyms_blocker_; Task_token* this_blocker_; Task_token* next_blocker_; }; |