[Lldb-commits] [lldb] r277789 - Change the indexing done for kernel/kext directories to be recursive.

2016-08-04 Thread Jason Molenda via lldb-commits
Author: jmolenda
Date: Thu Aug  4 19:44:34 2016
New Revision: 277789

URL: http://llvm.org/viewvc/llvm-project?rev=277789&view=rev
Log:
Change the indexing done for kernel/kext directories to be recursive.
Also re-write how most of the directory indexing is done - as it has 
grown over the years, it has become a bit of a mess and was overdue
for a cleanup.

Most importantly, this allows you to specify a directory with the 
platform.plugin.darwin-kernel.kext-directories setting and now lldb
will search for kexts and kernels in those directories recursively.

 

Modified:
lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h

Modified: lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp?rev=277789&r1=277788&r2=277789&view=diff
==
--- lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp 
(original)
+++ lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp Thu Aug  
4 19:44:34 2016
@@ -288,6 +288,7 @@ PlatformDarwinKernel::PlatformDarwinKern
 m_name_to_kext_path_map_with_dsyms(),
 m_name_to_kext_path_map_without_dsyms(),
 m_search_directories(),
+m_search_directories_no_recursing(),
 m_kernel_binaries_with_dsyms(),
 m_kernel_binaries_without_dsyms(),
 m_ios_debug_session(is_ios_debug_session)
@@ -296,8 +297,7 @@ PlatformDarwinKernel::PlatformDarwinKern
 if (GetGlobalProperties()->GetSearchForKexts())
 {
 CollectKextAndKernelDirectories ();
-IndexKextsInDirectories ();
-IndexKernelsInDirectories ();
+SearchForKextsAndKernelsRecursively ();
 }
 }
 
@@ -322,17 +322,53 @@ PlatformDarwinKernel::GetStatus (Stream
 else if (m_ios_debug_session == eLazyBoolNo)
 strm.Printf ("Mac OS X kernel debugging\n");
 else
-strm.Printf ("unknown kernel debugging\n");
+strm.Printf ("unknown kernel debugging\n");
+
+strm.Printf ("Directories searched recursively:\n");
 const uint32_t num_kext_dirs = m_search_directories.size();
 for (uint32_t i=0; iPrintf("\nkexts with dSYMs");
+for (auto pos : m_name_to_kext_path_map_with_dsyms)
+{
+log->Printf ("%s", pos.second.GetPath().c_str());
+}
+log->Printf("\nkexts without dSYMs");
+
+for (auto pos : m_name_to_kext_path_map_without_dsyms)
+{
+log->Printf ("%s", pos.second.GetPath().c_str());
+}
+log->Printf("\nkernels with dSYMS");
+for (auto fs : m_kernel_binaries_with_dsyms)
+{
+log->Printf ("%s", fs.GetPath().c_str());
+}
+log->Printf("\nkernels without dSYMS");
+for (auto fs : m_kernel_binaries_without_dsyms)
+{
+log->Printf ("%s", fs.GetPath().c_str());
+}
+log->Printf("\n");
+}
 }
 
 // Populate the m_search_directories vector with directories we should search
@@ -345,367 +381,276 @@ PlatformDarwinKernel::CollectKextAndKern
 // kext bundles that won't be used in this debug session.  If this is an 
ios kext debug
 // session, looking in /System/Library/Extensions is a waste of stat()s, 
for example.
 
-// Build up a list of all SDKs we'll be searching for directories of 
kexts/kernels
-// e.g. 
/Applications/Xcode.app//Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.Internal.sdk
-std::vector sdk_dirs;
+// DeveloperDirectory is something like 
"/Applications/Xcode.app/Contents/Developer"
+std::string developer_dir = GetDeveloperDirectory();
+if (developer_dir.empty())
+developer_dir = "/Applications/Xcode.app/Contents/Developer";
+
 if (m_ios_debug_session != eLazyBoolNo)
 {
-GetiOSSDKDirectoriesToSearch (sdk_dirs);
-GetAppleTVOSSDKDirectoriesToSearch (sdk_dirs);
-GetWatchOSSDKDirectoriesToSearch (sdk_dirs);
+AddSDKSubdirsToSearchPaths (developer_dir + 
"/Platforms/iPhoneOS.platform/Developer/SDKs");
+AddSDKSubdirsToSearchPaths (developer_dir + 
"/Platforms/AppleTVOS.platform/Developer/SDKs");
+AddSDKSubdirsToSearchPaths (developer_dir + 
"/Platforms/WatchOS.platform/Developer/SDKs");
 }
 if (m_ios_debug_session != eLazyBoolYes)
-GetMacSDKDirectoriesToSearch (sdk_dirs);
-
-GetGenericSDKDirectoriesToSearch (sdk_dirs);
-
-// Build up a list of directories that hold may kext bundles & kernels
-//
-// e.g. given 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
-// find 
-// 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.Internal.sdk/
-// and
-// 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.

[Lldb-commits] Buildbot numbers for the last week of 7/24/2016 - 7/30/2016

2016-08-04 Thread Galina Kistanova via lldb-commits
Hello everyone,

Below are some buildbot numbers for the last week of 7/24/2016 - 7/30/2016.

Please see the same data in attached csv files:

The longest time each builder was red during the last week;
"Status change ratio" by active builder (percent of builds that changed the
builder status from greed to red or from red to green);
Count of commits by project;
Number of completed builds, failed builds and average build time for
successful builds per active builder;
Average waiting time for a revision to get build result per active builder
(response time);

Thanks

Galina


The longest time each builder was red during the last week:

 buildername|  was_red
+---
 clang-x86-win2008-selfhost | 65:04:13
 clang-native-aarch64-full  | 32:17:43
 perf-x86_64-penryn-O3  | 32:06:30
 clang-x64-ninja-win7   | 30:35:37
 libcxx-libcxxabi-x86_64-linux-debian   | 29:08:09
 llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast   | 20:44:14
 lld-x86_64-win7| 20:31:04
 libcxx-libcxxabi-x86_64-linux-ubuntu-gcc49-cxx11   | 19:17:28
 llvm-clang-lld-x86_64-debian-fast  | 18:23:22
 lld-x86_64-freebsd | 18:10:27
 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx03 | 17:57:58
 llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast | 17:53:22
 lldb-x86_64-ubuntu-14.04-android   | 15:26:47
 libcxx-libcxxabi-x86_64-linux-debian-noexceptions  | 15:20:21
 lldb-x86_64-darwin-13.4| 15:07:43
 lldb-windows7-android  | 12:59:23
 clang-ppc64le-linux-multistage | 10:30:19
 sanitizer-x86_64-linux | 09:40:30
 perf-x86_64-penryn-O3-polly-fast   | 09:28:05
 llvm-mips-linux| 09:26:47
 clang-atom-d525-fedora-rel | 08:53:20
 clang-cmake-armv7-a15-selfhost | 07:09:52
 clang-cmake-thumbv7-a15-full-sh| 07:05:54
 clang-ppc64le-linux-lnt| 06:51:03
 clang-cmake-armv7-a15-selfhost-neon| 06:05:33
 clang-cmake-armv7-a15  | 05:59:25
 clang-cmake-thumbv7-a15| 05:58:57
 sanitizer-ppc64le-linux| 05:43:18
 clang-cmake-armv7-a15-full | 05:41:43
 sanitizer-ppc64be-linux| 05:00:52
 clang-cmake-mips   | 04:51:16
 clang-cmake-aarch64-quick  | 04:45:22
 clang-hexagon-elf  | 04:44:38
 clang-cmake-aarch64-42vma  | 04:28:43
 clang-ppc64be-linux-multistage | 04:03:31
 clang-ppc64le-linux| 03:58:07
 polly-amd64-linux  | 03:57:58
 clang-cmake-aarch64-full   | 03:41:03
 clang-native-arm-lnt   | 03:37:04
 clang-ppc64be-linux-lnt| 03:32:31
 sanitizer-x86_64-linux-bootstrap   | 03:15:29
 sanitizer-windows  | 03:02:02
 clang-ppc64be-linux| 02:40:31
 clang-s390x-linux  | 02:37:17
 sanitizer-x86_64-linux-fuzzer  | 02:00:06
 sanitizer-x86_64-linux-autoconf| 01:42:53
 perf-x86_64-penryn-O3-polly-unprofitable   | 01:42:25
 clang-3stage-ubuntu| 01:41:38
 lldb-amd64-ninja-netbsd7   | 01:37:19
 lld-x86_64-darwin13| 01:37:01
 lldb-x86_64-ubuntu-14.04-cmake | 01:36:00
 clang-x86_64-debian-fast   | 01:35:57
 llvm-sphinx-docs   | 01:34:55
 clang-sphinx-docs  | 01:34:55
 lld-sphinx-docs| 01:34:54
 sanitizer-x86_64-linux-fast| 01:32:42
 lldb-x86_64-ubuntu-14.04-buildserver   | 01:26:20
 libcxx-libcxxabi-x86_64-linux-ubuntu-unstable-abi  | 01:24:14
 perf-x86_64-penryn-O3-polly-before-vectorizer-unprofitable | 01:19:03
 libcxx-libcxxabi-libunw