From 97b4be1cc0a42ea9964a912bb1513974e7aa7613 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Fri, 20 Aug 2010 00:35:13 +0000 Subject: * 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. --- gold/archive.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gold/archive.h') 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_; }; -- cgit v1.1