From 2285a61069d360fc56b6cf7371a6fe3ac4e240b7 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 13 Mar 2008 01:46:17 +0000 Subject: From Craig Silverstein: Implement --debug=files to track file opens, and implement --verbose as a synonym. --- gold/dirsearch.cc | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'gold/dirsearch.cc') diff --git a/gold/dirsearch.cc b/gold/dirsearch.cc index 960c8eb4e5..93808899d7 100644 --- a/gold/dirsearch.cc +++ b/gold/dirsearch.cc @@ -27,6 +27,7 @@ #include #include +#include "debug.h" #include "gold-threads.h" #include "options.h" #include "workqueue.h" @@ -235,6 +236,9 @@ Dirsearch::initialize(Workqueue* workqueue, } } +// NOTE: we only log failed file-lookup attempts here. Successfully +// lookups will eventually get logged in File_read::open. + std::string Dirsearch::find(const std::string& n1, const std::string& n2, bool *is_in_sysroot) const @@ -253,10 +257,20 @@ Dirsearch::find(const std::string& n1, const std::string& n2, *is_in_sysroot = p->is_in_sysroot(); return p->name() + '/' + n1; } - if (!n2.empty() && pdc->find(n2)) - { - *is_in_sysroot = p->is_in_sysroot(); - return p->name() + '/' + n2; + else + gold_debug(DEBUG_FILES, "Attempt to open %s/%s failed", + p->name().c_str(), n1.c_str()); + + if (!n2.empty()) + { + if (pdc->find(n2)) + { + *is_in_sysroot = p->is_in_sysroot(); + return p->name() + '/' + n2; + } + else + gold_debug(DEBUG_FILES, "Attempt to open %s/%s failed", + p->name().c_str(), n2.c_str()); } } -- cgit v1.2.3