aboutsummaryrefslogtreecommitdiff
path: root/gold/archive.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2010-08-20 00:35:13 +0000
committerCary Coutant <ccoutant@google.com>2010-08-20 00:35:13 +0000
commit97b4be1cc0a42ea9964a912bb1513974e7aa7613 (patch)
tree21785a33b0d689d1d2a245321021d88e8131c86c /gold/archive.cc
parent02bfaba5bea6a44973c2eb6513f842ef5109b628 (diff)
downloadgdb-97b4be1cc0a42ea9964a912bb1513974e7aa7613.zip
gdb-97b4be1cc0a42ea9964a912bb1513974e7aa7613.tar.gz
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.cc')
-rw-r--r--gold/archive.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/gold/archive.cc b/gold/archive.cc
index 8c34d55..68a674d 100644
--- a/gold/archive.cc
+++ b/gold/archive.cc
@@ -1118,6 +1118,8 @@ Lib_group::print_stats()
Task_token*
Add_lib_group_symbols::is_runnable()
{
+ if (this->readsyms_blocker_ != NULL && this->readsyms_blocker_->is_blocked())
+ return this->readsyms_blocker_;
if (this->this_blocker_ != NULL && this->this_blocker_->is_blocked())
return this->this_blocker_;
return NULL;