Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Jul 2017 13:24:59 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r320543 - in vendor/lldb/dist: include/lldb include/lldb/Breakpoint include/lldb/Core include/lldb/DataFormatters include/lldb/Host include/lldb/Host/common include/lldb/Host/linux incl...
Message-ID:  <201707011324.v61DOxu8022540@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Sat Jul  1 13:24:58 2017
New Revision: 320543
URL: https://svnweb.freebsd.org/changeset/base/320543

Log:
  Vendor import of lldb trunk r306956:
  https://llvm.org/svn/llvm-project/lldb/trunk@306956

Added:
  vendor/lldb/dist/include/lldb/Utility/Connection.h   (contents, props changed)
  vendor/lldb/dist/include/lldb/Utility/IOObject.h   (contents, props changed)
  vendor/lldb/dist/include/lldb/Utility/StructuredData.h   (contents, props changed)
  vendor/lldb/dist/include/lldb/Utility/Timer.h   (contents, props changed)
  vendor/lldb/dist/include/lldb/Utility/TraceOptions.h   (contents, props changed)
  vendor/lldb/dist/source/Plugins/Process/Linux/ProcessorTrace.cpp   (contents, props changed)
  vendor/lldb/dist/source/Plugins/Process/Linux/ProcessorTrace.h   (contents, props changed)
  vendor/lldb/dist/source/Utility/Connection.cpp   (contents, props changed)
  vendor/lldb/dist/source/Utility/IOObject.cpp   (contents, props changed)
  vendor/lldb/dist/source/Utility/StructuredData.cpp   (contents, props changed)
  vendor/lldb/dist/source/Utility/Timer.cpp   (contents, props changed)
  vendor/lldb/dist/unittests/Process/Linux/
  vendor/lldb/dist/unittests/Process/Linux/CMakeLists.txt   (contents, props changed)
  vendor/lldb/dist/unittests/Process/Linux/ProcessorTraceTest.cpp   (contents, props changed)
  vendor/lldb/dist/unittests/Symbol/Inputs/
  vendor/lldb/dist/unittests/Symbol/Inputs/basic-call-frame-info.yaml
  vendor/lldb/dist/unittests/Symbol/TestDWARFCallFrameInfo.cpp   (contents, props changed)
  vendor/lldb/dist/unittests/Utility/Helpers/
  vendor/lldb/dist/unittests/Utility/Helpers/CMakeLists.txt   (contents, props changed)
  vendor/lldb/dist/unittests/Utility/Helpers/MockTildeExpressionResolver.cpp   (contents, props changed)
  vendor/lldb/dist/unittests/Utility/Helpers/MockTildeExpressionResolver.h   (contents, props changed)
  vendor/lldb/dist/unittests/Utility/Helpers/TestUtilities.cpp   (contents, props changed)
  vendor/lldb/dist/unittests/Utility/Helpers/TestUtilities.h   (contents, props changed)
  vendor/lldb/dist/unittests/Utility/Inputs/
  vendor/lldb/dist/unittests/Utility/Inputs/StructuredData-basic.json
  vendor/lldb/dist/unittests/Utility/StructuredDataTest.cpp   (contents, props changed)
  vendor/lldb/dist/unittests/Utility/TimerTest.cpp   (contents, props changed)
Deleted:
  vendor/lldb/dist/include/lldb/Core/Connection.h
  vendor/lldb/dist/include/lldb/Core/StructuredData.h
  vendor/lldb/dist/include/lldb/Core/Timer.h
  vendor/lldb/dist/include/lldb/Core/TraceOptions.h
  vendor/lldb/dist/include/lldb/Host/IOObject.h
  vendor/lldb/dist/source/Core/Connection.cpp
  vendor/lldb/dist/source/Core/StructuredData.cpp
  vendor/lldb/dist/source/Core/Timer.cpp
  vendor/lldb/dist/source/Host/common/IOObject.cpp
  vendor/lldb/dist/unittests/Core/StructuredDataTest.cpp
  vendor/lldb/dist/unittests/Core/TimerTest.cpp
  vendor/lldb/dist/unittests/Utility/Mocks/CMakeLists.txt
  vendor/lldb/dist/unittests/Utility/Mocks/MockTildeExpressionResolver.cpp
  vendor/lldb/dist/unittests/Utility/Mocks/MockTildeExpressionResolver.h
Modified:
  vendor/lldb/dist/include/lldb/Breakpoint/Breakpoint.h
  vendor/lldb/dist/include/lldb/Breakpoint/BreakpointOptions.h
  vendor/lldb/dist/include/lldb/Core/Event.h
  vendor/lldb/dist/include/lldb/Core/SearchFilter.h
  vendor/lldb/dist/include/lldb/Core/StructuredDataImpl.h
  vendor/lldb/dist/include/lldb/DataFormatters/TypeSummary.h
  vendor/lldb/dist/include/lldb/DataFormatters/TypeSynthetic.h
  vendor/lldb/dist/include/lldb/Host/File.h
  vendor/lldb/dist/include/lldb/Host/Host.h
  vendor/lldb/dist/include/lldb/Host/MainLoopBase.h
  vendor/lldb/dist/include/lldb/Host/Socket.h
  vendor/lldb/dist/include/lldb/Host/XML.h
  vendor/lldb/dist/include/lldb/Host/common/NativeProcessProtocol.h
  vendor/lldb/dist/include/lldb/Host/linux/Support.h
  vendor/lldb/dist/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
  vendor/lldb/dist/include/lldb/Host/windows/ConnectionGenericFileWindows.h
  vendor/lldb/dist/include/lldb/Interpreter/ScriptInterpreter.h
  vendor/lldb/dist/include/lldb/Symbol/DWARFCallFrameInfo.h
  vendor/lldb/dist/include/lldb/Symbol/FuncUnwinders.h
  vendor/lldb/dist/include/lldb/Symbol/UnwindTable.h
  vendor/lldb/dist/include/lldb/Target/ABI.h
  vendor/lldb/dist/include/lldb/Target/InstrumentationRuntime.h
  vendor/lldb/dist/include/lldb/Target/InstrumentationRuntimeStopInfo.h
  vendor/lldb/dist/include/lldb/Target/Process.h
  vendor/lldb/dist/include/lldb/Target/StopInfo.h
  vendor/lldb/dist/include/lldb/Target/StructuredDataPlugin.h
  vendor/lldb/dist/include/lldb/Target/SystemRuntime.h
  vendor/lldb/dist/include/lldb/Target/Thread.h
  vendor/lldb/dist/include/lldb/Target/ThreadPlanPython.h
  vendor/lldb/dist/include/lldb/Target/ThreadSpec.h
  vendor/lldb/dist/include/lldb/Utility/JSON.h
  vendor/lldb/dist/include/lldb/lldb-enumerations.h
  vendor/lldb/dist/include/lldb/lldb-private-interfaces.h
  vendor/lldb/dist/lldb.xcodeproj/project.pbxproj
  vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py
  vendor/lldb/dist/packages/Python/lldbsuite/test/make/Android.rules
  vendor/lldb/dist/scripts/Xcode/build-llvm.py
  vendor/lldb/dist/scripts/Xcode/repo.py
  vendor/lldb/dist/scripts/analyze-project-deps.py
  vendor/lldb/dist/source/API/SBCommunication.cpp
  vendor/lldb/dist/source/API/SBStructuredData.cpp
  vendor/lldb/dist/source/API/SBTarget.cpp
  vendor/lldb/dist/source/API/SBThread.cpp
  vendor/lldb/dist/source/API/SBThreadPlan.cpp
  vendor/lldb/dist/source/API/SBTraceOptions.cpp
  vendor/lldb/dist/source/API/SystemInitializerFull.cpp
  vendor/lldb/dist/source/Commands/CommandObjectFrame.cpp
  vendor/lldb/dist/source/Commands/CommandObjectLog.cpp
  vendor/lldb/dist/source/Commands/CommandObjectTarget.cpp
  vendor/lldb/dist/source/Commands/CommandObjectThread.cpp
  vendor/lldb/dist/source/Core/CMakeLists.txt
  vendor/lldb/dist/source/Core/Communication.cpp
  vendor/lldb/dist/source/Core/Disassembler.cpp
  vendor/lldb/dist/source/Core/FormatEntity.cpp
  vendor/lldb/dist/source/Core/Mangled.cpp
  vendor/lldb/dist/source/Core/Module.cpp
  vendor/lldb/dist/source/Host/CMakeLists.txt
  vendor/lldb/dist/source/Host/common/Host.cpp
  vendor/lldb/dist/source/Host/common/Symbols.cpp
  vendor/lldb/dist/source/Host/freebsd/Host.cpp
  vendor/lldb/dist/source/Host/linux/Support.cpp
  vendor/lldb/dist/source/Host/macosx/Host.mm
  vendor/lldb/dist/source/Host/macosx/Symbols.cpp
  vendor/lldb/dist/source/Host/netbsd/Host.cpp
  vendor/lldb/dist/source/Host/openbsd/Host.cpp
  vendor/lldb/dist/source/Host/posix/ConnectionFileDescriptorPosix.cpp
  vendor/lldb/dist/source/Host/windows/Host.cpp
  vendor/lldb/dist/source/Initialization/SystemInitializerCommon.cpp
  vendor/lldb/dist/source/Interpreter/CommandInterpreter.cpp
  vendor/lldb/dist/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp
  vendor/lldb/dist/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h
  vendor/lldb/dist/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp
  vendor/lldb/dist/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h
  vendor/lldb/dist/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp
  vendor/lldb/dist/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-arm/ABISysV_arm.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-i386/ABISysV_i386.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-mips/ABISysV_mips.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.h
  vendor/lldb/dist/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
  vendor/lldb/dist/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h
  vendor/lldb/dist/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
  vendor/lldb/dist/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.h
  vendor/lldb/dist/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
  vendor/lldb/dist/source/Plugins/InstrumentationRuntime/ASan/ASanRuntime.h
  vendor/lldb/dist/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.h
  vendor/lldb/dist/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.h
  vendor/lldb/dist/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.h
  vendor/lldb/dist/source/Plugins/Language/ObjC/Cocoa.cpp
  vendor/lldb/dist/source/Plugins/Language/ObjC/NSSet.cpp
  vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
  vendor/lldb/dist/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
  vendor/lldb/dist/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
  vendor/lldb/dist/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
  vendor/lldb/dist/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
  vendor/lldb/dist/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
  vendor/lldb/dist/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
  vendor/lldb/dist/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
  vendor/lldb/dist/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
  vendor/lldb/dist/source/Plugins/Process/Linux/CMakeLists.txt
  vendor/lldb/dist/source/Plugins/Process/Linux/NativeProcessLinux.cpp
  vendor/lldb/dist/source/Plugins/Process/Linux/NativeProcessLinux.h
  vendor/lldb/dist/source/Plugins/Process/POSIX/CMakeLists.txt
  vendor/lldb/dist/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
  vendor/lldb/dist/source/Plugins/Process/Utility/DynamicRegisterInfo.h
  vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
  vendor/lldb/dist/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
  vendor/lldb/dist/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
  vendor/lldb/dist/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
  vendor/lldb/dist/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
  vendor/lldb/dist/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
  vendor/lldb/dist/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
  vendor/lldb/dist/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.h
  vendor/lldb/dist/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
  vendor/lldb/dist/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.h
  vendor/lldb/dist/source/Symbol/DWARFCallFrameInfo.cpp
  vendor/lldb/dist/source/Symbol/FuncUnwinders.cpp
  vendor/lldb/dist/source/Symbol/ObjectFile.cpp
  vendor/lldb/dist/source/Symbol/Symtab.cpp
  vendor/lldb/dist/source/Symbol/UnwindTable.cpp
  vendor/lldb/dist/source/Symbol/Variable.cpp
  vendor/lldb/dist/source/Target/ABI.cpp
  vendor/lldb/dist/source/Target/ObjCLanguageRuntime.cpp
  vendor/lldb/dist/source/Target/Platform.cpp
  vendor/lldb/dist/source/Target/Process.cpp
  vendor/lldb/dist/source/Target/Target.cpp
  vendor/lldb/dist/source/Target/TargetList.cpp
  vendor/lldb/dist/source/Target/ThreadSpec.cpp
  vendor/lldb/dist/source/Utility/CMakeLists.txt
  vendor/lldb/dist/source/Utility/JSON.cpp
  vendor/lldb/dist/tools/debugserver/source/RNBRemote.cpp
  vendor/lldb/dist/tools/debugserver/source/debugserver.cpp
  vendor/lldb/dist/tools/lldb-server/Acceptor.h
  vendor/lldb/dist/unittests/Core/CMakeLists.txt
  vendor/lldb/dist/unittests/Interpreter/CMakeLists.txt
  vendor/lldb/dist/unittests/Interpreter/TestCompletion.cpp
  vendor/lldb/dist/unittests/ObjectFile/ELF/CMakeLists.txt
  vendor/lldb/dist/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
  vendor/lldb/dist/unittests/Process/CMakeLists.txt
  vendor/lldb/dist/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
  vendor/lldb/dist/unittests/Process/minidump/CMakeLists.txt
  vendor/lldb/dist/unittests/Process/minidump/MinidumpParserTest.cpp
  vendor/lldb/dist/unittests/Symbol/CMakeLists.txt
  vendor/lldb/dist/unittests/SymbolFile/DWARF/CMakeLists.txt
  vendor/lldb/dist/unittests/SymbolFile/DWARF/SymbolFileDWARFTests.cpp
  vendor/lldb/dist/unittests/SymbolFile/PDB/CMakeLists.txt
  vendor/lldb/dist/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
  vendor/lldb/dist/unittests/Target/CMakeLists.txt
  vendor/lldb/dist/unittests/Target/ModuleCacheTest.cpp
  vendor/lldb/dist/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
  vendor/lldb/dist/unittests/Utility/CMakeLists.txt
  vendor/lldb/dist/unittests/Utility/TildeExpressionResolverTest.cpp
  vendor/lldb/dist/unittests/tools/lldb-server/tests/MessageObjects.cpp
  vendor/lldb/dist/www/projects.html

Modified: vendor/lldb/dist/include/lldb/Breakpoint/Breakpoint.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Breakpoint/Breakpoint.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Breakpoint/Breakpoint.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -26,8 +26,8 @@
 #include "lldb/Breakpoint/Stoppoint.h"
 #include "lldb/Core/Event.h"
 #include "lldb/Core/SearchFilter.h"
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Utility/StringList.h"
+#include "lldb/Utility/StructuredData.h"
 
 namespace lldb_private {
 

Modified: vendor/lldb/dist/include/lldb/Breakpoint/BreakpointOptions.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Breakpoint/BreakpointOptions.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Breakpoint/BreakpointOptions.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -17,9 +17,9 @@
 
 // Other libraries and framework includes
 // Project includes
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Utility/Baton.h"
 #include "lldb/Utility/StringList.h"
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/lldb-private.h"
 
 namespace lldb_private {

Modified: vendor/lldb/dist/include/lldb/Core/Event.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Core/Event.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Core/Event.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -11,9 +11,9 @@
 #define liblldb_Event_h_
 
 #include "lldb/Core/Broadcaster.h"
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Host/Predicate.h"
 #include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
 #include "lldb/lldb-forward.h" // for EventDataSP, ProcessSP, Struct...
 

Modified: vendor/lldb/dist/include/lldb/Core/SearchFilter.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Core/SearchFilter.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Core/SearchFilter.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -11,7 +11,7 @@
 #define liblldb_SearchFilter_h_
 
 #include "lldb/Core/FileSpecList.h"
-#include "lldb/Core/StructuredData.h"
+#include "lldb/Utility/StructuredData.h"
 
 #include "lldb/Utility/FileSpec.h" // for FileSpec
 #include "lldb/lldb-forward.h"     // for SearchFilterSP, TargetSP, Modu...

Modified: vendor/lldb/dist/include/lldb/Core/StructuredDataImpl.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Core/StructuredDataImpl.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Core/StructuredDataImpl.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -11,10 +11,10 @@
 #define liblldb_StructuredDataImpl_h_
 
 #include "lldb/Core/Event.h"
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Target/StructuredDataPlugin.h"
 #include "lldb/Utility/Status.h"
 #include "lldb/Utility/Stream.h"
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/lldb-enumerations.h"
 #include "lldb/lldb-forward.h"
 #include "llvm/ADT/StringRef.h"

Modified: vendor/lldb/dist/include/lldb/DataFormatters/TypeSummary.h
==============================================================================
--- vendor/lldb/dist/include/lldb/DataFormatters/TypeSummary.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/DataFormatters/TypeSummary.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -24,8 +24,8 @@
 #include "lldb/lldb-public.h"
 
 #include "lldb/Core/FormatEntity.h"
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Utility/Status.h"
+#include "lldb/Utility/StructuredData.h"
 
 namespace lldb_private {
 class TypeSummaryOptions {

Modified: vendor/lldb/dist/include/lldb/DataFormatters/TypeSynthetic.h
==============================================================================
--- vendor/lldb/dist/include/lldb/DataFormatters/TypeSynthetic.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/DataFormatters/TypeSynthetic.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -25,8 +25,8 @@
 #include "lldb/lldb-enumerations.h"
 #include "lldb/lldb-public.h"
 
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Core/ValueObject.h"
+#include "lldb/Utility/StructuredData.h"
 
 namespace lldb_private {
 class SyntheticChildrenFrontEnd {

Modified: vendor/lldb/dist/include/lldb/Host/File.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/File.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Host/File.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -10,8 +10,8 @@
 #ifndef liblldb_File_h_
 #define liblldb_File_h_
 
-#include "lldb/Host/IOObject.h"
 #include "lldb/Host/PosixApi.h"
+#include "lldb/Utility/IOObject.h"
 #include "lldb/Utility/Status.h"
 #include "lldb/lldb-private.h"
 

Modified: vendor/lldb/dist/include/lldb/Host/Host.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/Host.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Host/Host.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -238,6 +238,9 @@ class Host { (public)
                                        uint32_t line_no);
 
   static size_t GetEnvironment(StringList &env);
+
+  static std::unique_ptr<Connection>
+  CreateDefaultConnection(llvm::StringRef url);
 };
 
 } // namespace lldb_private

Modified: vendor/lldb/dist/include/lldb/Host/MainLoopBase.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/MainLoopBase.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Host/MainLoopBase.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -10,12 +10,10 @@
 #ifndef lldb_Host_posix_MainLoopBase_h_
 #define lldb_Host_posix_MainLoopBase_h_
 
-#include <functional>
-
-#include "llvm/Support/ErrorHandling.h"
-
-#include "lldb/Host/IOObject.h"
+#include "lldb/Utility/IOObject.h"
 #include "lldb/Utility/Status.h"
+#include "llvm/Support/ErrorHandling.h"
+#include <functional>
 
 namespace lldb_private {
 

Modified: vendor/lldb/dist/include/lldb/Host/Socket.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/Socket.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Host/Socket.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -15,9 +15,9 @@
 
 #include "lldb/lldb-private.h"
 
-#include "lldb/Host/IOObject.h"
 #include "lldb/Host/Predicate.h"
 #include "lldb/Host/SocketAddress.h"
+#include "lldb/Utility/IOObject.h"
 #include "lldb/Utility/Status.h"
 
 #ifdef _WIN32

Modified: vendor/lldb/dist/include/lldb/Host/XML.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/XML.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Host/XML.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -24,8 +24,8 @@
 #include "llvm/ADT/StringRef.h"
 
 // Project includes
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Utility/StreamString.h"
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/lldb-private.h"
 
 namespace lldb_private {

Modified: vendor/lldb/dist/include/lldb/Host/common/NativeProcessProtocol.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/common/NativeProcessProtocol.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Host/common/NativeProcessProtocol.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -10,10 +10,10 @@
 #ifndef liblldb_NativeProcessProtocol_h_
 #define liblldb_NativeProcessProtocol_h_
 
-#include "lldb/Core/TraceOptions.h"
 #include "lldb/Host/Host.h"
 #include "lldb/Host/MainLoop.h"
 #include "lldb/Utility/Status.h"
+#include "lldb/Utility/TraceOptions.h"
 #include "lldb/lldb-private-forward.h"
 #include "lldb/lldb-types.h"
 #include "llvm/ADT/ArrayRef.h"
@@ -333,7 +333,7 @@ class NativeProcessProtocol (public)
   //------------------------------------------------------------------
   /// StopTracing API as the name suggests stops a tracing instance.
   ///
-  /// @param[in] uid
+  /// @param[in] traceid
   ///     The user id of the trace intended to be stopped. Now a
   ///     user_id may map to multiple threads in which case this API
   ///     could be used to stop the tracing for a specific thread by
@@ -346,7 +346,7 @@ class NativeProcessProtocol (public)
   /// @return
   ///     Status indicating what went wrong.
   //------------------------------------------------------------------
-  virtual Status StopTrace(lldb::user_id_t uid,
+  virtual Status StopTrace(lldb::user_id_t traceid,
                            lldb::tid_t thread = LLDB_INVALID_THREAD_ID) {
     return Status("Not implemented");
   }
@@ -355,8 +355,8 @@ class NativeProcessProtocol (public)
   /// This API provides the trace data collected in the form of raw
   /// data.
   ///
-  /// @param[in] uid thread
-  ///     The uid and thread provide the context for the trace
+  /// @param[in] traceid thread
+  ///     The traceid and thread provide the context for the trace
   ///     instance.
   ///
   /// @param[in] buffer
@@ -372,7 +372,7 @@ class NativeProcessProtocol (public)
   /// @return
   ///     The size of the data actually read.
   //------------------------------------------------------------------
-  virtual Status GetData(lldb::user_id_t uid, lldb::tid_t thread,
+  virtual Status GetData(lldb::user_id_t traceid, lldb::tid_t thread,
                          llvm::MutableArrayRef<uint8_t> &buffer,
                          size_t offset = 0) {
     return Status("Not implemented");
@@ -382,7 +382,7 @@ class NativeProcessProtocol (public)
   /// Similar API as above except it aims to provide any extra data
   /// useful for decoding the actual trace data.
   //------------------------------------------------------------------
-  virtual Status GetMetaData(lldb::user_id_t uid, lldb::tid_t thread,
+  virtual Status GetMetaData(lldb::user_id_t traceid, lldb::tid_t thread,
                              llvm::MutableArrayRef<uint8_t> &buffer,
                              size_t offset = 0) {
     return Status("Not implemented");
@@ -391,7 +391,7 @@ class NativeProcessProtocol (public)
   //------------------------------------------------------------------
   /// API to query the TraceOptions for a given user id
   ///
-  /// @param[in] uid
+  /// @param[in] traceid
   ///     The user id of the tracing instance.
   ///
   /// @param[in] config
@@ -405,7 +405,7 @@ class NativeProcessProtocol (public)
   /// @param[out] config
   ///     The actual configuration being used for tracing.
   //------------------------------------------------------------------
-  virtual Status GetTraceConfig(lldb::user_id_t uid, TraceOptions &config) {
+  virtual Status GetTraceConfig(lldb::user_id_t traceid, TraceOptions &config) {
     return Status("Not implemented");
   }
 

Modified: vendor/lldb/dist/include/lldb/Host/linux/Support.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/linux/Support.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Host/linux/Support.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -22,6 +22,9 @@ getProcFile(::pid_t pid, ::pid_t tid, const llvm::Twin
 llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
 getProcFile(::pid_t pid, const llvm::Twine &file);
 
+llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
+getProcFile(const llvm::Twine &file);
+
 } // namespace lldb_private
 
 #endif // #ifndef LLDB_HOST_LINUX_SUPPORT_H

Modified: vendor/lldb/dist/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -19,10 +19,10 @@
 
 // Other libraries and framework includes
 // Project includes
-#include "lldb/Core/Connection.h"
-#include "lldb/Host/IOObject.h"
 #include "lldb/Host/Pipe.h"
 #include "lldb/Host/Predicate.h"
+#include "lldb/Utility/Connection.h"
+#include "lldb/Utility/IOObject.h"
 
 namespace lldb_private {
 

Modified: vendor/lldb/dist/include/lldb/Host/windows/ConnectionGenericFileWindows.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/windows/ConnectionGenericFileWindows.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Host/windows/ConnectionGenericFileWindows.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -10,8 +10,8 @@
 #ifndef liblldb_Host_windows_ConnectionGenericFileWindows_h_
 #define liblldb_Host_windows_ConnectionGenericFileWindows_h_
 
-#include "lldb/Core/Connection.h"
 #include "lldb/Host/windows/windows.h"
+#include "lldb/Utility/Connection.h"
 #include "lldb/lldb-types.h"
 
 namespace lldb_private {

Modified: vendor/lldb/dist/include/lldb/Interpreter/ScriptInterpreter.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Interpreter/ScriptInterpreter.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Interpreter/ScriptInterpreter.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -19,8 +19,8 @@
 #include "lldb/Breakpoint/BreakpointOptions.h"
 #include "lldb/Core/Broadcaster.h"
 #include "lldb/Core/PluginInterface.h"
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Utility/Status.h"
+#include "lldb/Utility/StructuredData.h"
 
 #include "lldb/Host/PseudoTerminal.h"
 

Modified: vendor/lldb/dist/include/lldb/Symbol/DWARFCallFrameInfo.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Symbol/DWARFCallFrameInfo.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Symbol/DWARFCallFrameInfo.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -34,11 +34,12 @@ namespace lldb_private {
 
 class DWARFCallFrameInfo {
 public:
-  DWARFCallFrameInfo(ObjectFile &objfile, lldb::SectionSP &section,
-                     lldb::RegisterKind reg_kind, bool is_eh_frame);
+  enum Type { EH, DWARF };
 
-  ~DWARFCallFrameInfo();
+  DWARFCallFrameInfo(ObjectFile &objfile, lldb::SectionSP &section, Type type);
 
+  ~DWARFCallFrameInfo() = default;
+
   // Locate an AddressRange that includes the provided Address in this
   // object's eh_frame/debug_info
   // Returns true if a range is found to cover that address.
@@ -74,12 +75,20 @@ class DWARFCallFrameInfo { (public)
 
 private:
   enum { CFI_AUG_MAX_SIZE = 8, CFI_HEADER_SIZE = 8 };
+  enum CFIVersion {
+    CFI_VERSION1 = 1, // DWARF v.2
+    CFI_VERSION3 = 3, // DWARF v.3
+    CFI_VERSION4 = 4  // DWARF v.4, v.5
+  };
 
   struct CIE {
     dw_offset_t cie_offset;
     uint8_t version;
     char augmentation[CFI_AUG_MAX_SIZE]; // This is typically empty or very
                                          // short.
+    uint8_t address_size = sizeof(uint32_t); // The size of a target address.
+    uint8_t segment_size = 0;                // The size of a segment selector.
+
     uint32_t code_align;
     int32_t data_align;
     uint32_t return_addr_reg_num;
@@ -134,21 +143,24 @@ class DWARFCallFrameInfo { (public)
 
   ObjectFile &m_objfile;
   lldb::SectionSP m_section_sp;
-  lldb::RegisterKind m_reg_kind;
-  Flags m_flags;
+  Flags m_flags = 0;
   cie_map_t m_cie_map;
 
   DataExtractor m_cfi_data;
-  bool m_cfi_data_initialized; // only copy the section into the DE once
+  bool m_cfi_data_initialized = false; // only copy the section into the DE once
 
   FDEEntryMap m_fde_index;
-  bool m_fde_index_initialized; // only scan the section for FDEs once
+  bool m_fde_index_initialized = false; // only scan the section for FDEs once
   std::mutex m_fde_index_mutex; // and isolate the thread that does it
 
-  bool m_is_eh_frame;
+  Type m_type;
 
   CIESP
   ParseCIE(const uint32_t cie_offset);
+
+  lldb::RegisterKind GetRegisterKind() const {
+    return m_type == EH ? lldb::eRegisterKindEHFrame : lldb::eRegisterKindDWARF;
+  }
 };
 
 } // namespace lldb_private

Modified: vendor/lldb/dist/include/lldb/Symbol/FuncUnwinders.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Symbol/FuncUnwinders.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Symbol/FuncUnwinders.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -99,6 +99,13 @@ class FuncUnwinders { (public)
                                                    Thread &thread,
                                                    int current_offset);
 
+  lldb::UnwindPlanSP GetDebugFrameUnwindPlan(Target &target,
+                                             int current_offset);
+
+  lldb::UnwindPlanSP GetDebugFrameAugmentedUnwindPlan(Target &target,
+                                                      Thread &thread,
+                                                      int current_offset);
+
   lldb::UnwindPlanSP GetCompactUnwindUnwindPlan(Target &target,
                                                 int current_offset);
 
@@ -126,10 +133,12 @@ class FuncUnwinders { (public)
 
   lldb::UnwindPlanSP m_unwind_plan_assembly_sp;
   lldb::UnwindPlanSP m_unwind_plan_eh_frame_sp;
-  lldb::UnwindPlanSP m_unwind_plan_eh_frame_augmented_sp; // augmented by
-                                                          // assembly inspection
-                                                          // so it's valid
-                                                          // everywhere
+  lldb::UnwindPlanSP m_unwind_plan_debug_frame_sp;
+
+  // augmented by assembly inspection so it's valid everywhere
+  lldb::UnwindPlanSP m_unwind_plan_eh_frame_augmented_sp;
+  lldb::UnwindPlanSP m_unwind_plan_debug_frame_augmented_sp;
+
   std::vector<lldb::UnwindPlanSP> m_unwind_plan_compact_unwind;
   lldb::UnwindPlanSP m_unwind_plan_arm_unwind_sp;
   lldb::UnwindPlanSP m_unwind_plan_fast_sp;
@@ -139,7 +148,9 @@ class FuncUnwinders { (public)
   // Fetching the UnwindPlans can be expensive - if we've already attempted
   // to get one & failed, don't try again.
   bool m_tried_unwind_plan_assembly : 1, m_tried_unwind_plan_eh_frame : 1,
+      m_tried_unwind_plan_debug_frame : 1,
       m_tried_unwind_plan_eh_frame_augmented : 1,
+      m_tried_unwind_plan_debug_frame_augmented : 1,
       m_tried_unwind_plan_compact_unwind : 1,
       m_tried_unwind_plan_arm_unwind : 1, m_tried_unwind_fast : 1,
       m_tried_unwind_arch_default : 1,

Modified: vendor/lldb/dist/include/lldb/Symbol/UnwindTable.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Symbol/UnwindTable.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Symbol/UnwindTable.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -27,6 +27,7 @@ class UnwindTable { (public)
   ~UnwindTable();
 
   lldb_private::DWARFCallFrameInfo *GetEHFrameInfo();
+  lldb_private::DWARFCallFrameInfo *GetDebugFrameInfo();
 
   lldb_private::CompactUnwindInfo *GetCompactUnwindInfo();
 
@@ -58,6 +59,8 @@ class UnwindTable { (public)
   void Dump(Stream &s);
 
   void Initialize();
+  llvm::Optional<AddressRange> GetAddressRange(const Address &addr,
+                                               SymbolContext &sc);
 
   typedef std::map<lldb::addr_t, lldb::FuncUnwindersSP> collection;
   typedef collection::iterator iterator;
@@ -70,6 +73,7 @@ class UnwindTable { (public)
   std::mutex m_mutex;
 
   std::unique_ptr<DWARFCallFrameInfo> m_eh_frame_up;
+  std::unique_ptr<DWARFCallFrameInfo> m_debug_frame_up;
   std::unique_ptr<CompactUnwindInfo> m_compact_unwind_up;
   std::unique_ptr<ArmUnwindInfo> m_arm_unwind_up;
 

Modified: vendor/lldb/dist/include/lldb/Target/ABI.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/ABI.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/ABI.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -92,6 +92,16 @@ class ABI : public PluginInterface { (protected)
   virtual lldb::ValueObjectSP
   GetReturnValueObjectImpl(Thread &thread, llvm::Type &ir_type) const;
 
+  //------------------------------------------------------------------
+  /// Request to get a Process shared pointer.
+  ///
+  /// This ABI object may not have been created with a Process object,
+  /// or the Process object may no longer be alive.  Be sure to handle
+  /// the case where the shared pointer returned does not have an
+  /// object inside it.
+  //------------------------------------------------------------------
+  lldb::ProcessSP GetProcessSP() const { return m_process_wp.lock(); }
+
 public:
   virtual bool CreateFunctionEntryUnwindPlan(UnwindPlan &unwind_plan) = 0;
 
@@ -131,13 +141,18 @@ class ABI : public PluginInterface { (protected)
 
   virtual bool GetPointerReturnRegister(const char *&name) { return false; }
 
-  static lldb::ABISP FindPlugin(const ArchSpec &arch);
+  static lldb::ABISP FindPlugin(lldb::ProcessSP process_sp, const ArchSpec &arch);
 
 protected:
   //------------------------------------------------------------------
   // Classes that inherit from ABI can see and modify these
   //------------------------------------------------------------------
-  ABI();
+  ABI(lldb::ProcessSP process_sp) {
+    if (process_sp.get())
+        m_process_wp = process_sp;
+  }
+
+  lldb::ProcessWP m_process_wp;
 
 private:
   DISALLOW_COPY_AND_ASSIGN(ABI);

Modified: vendor/lldb/dist/include/lldb/Target/InstrumentationRuntime.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/InstrumentationRuntime.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/InstrumentationRuntime.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -18,7 +18,7 @@
 // Other libraries and framework includes
 // Project includes
 #include "lldb/Core/PluginInterface.h"
-#include "lldb/Core/StructuredData.h"
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/lldb-forward.h"
 #include "lldb/lldb-private.h"
 #include "lldb/lldb-types.h"

Modified: vendor/lldb/dist/include/lldb/Target/InstrumentationRuntimeStopInfo.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/InstrumentationRuntimeStopInfo.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/InstrumentationRuntimeStopInfo.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -16,8 +16,8 @@
 
 // Other libraries and framework includes
 // Project includes
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Target/StopInfo.h"
+#include "lldb/Utility/StructuredData.h"
 
 namespace lldb_private {
 

Modified: vendor/lldb/dist/include/lldb/Target/Process.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/Process.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/Process.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -34,9 +34,7 @@
 #include "lldb/Core/Listener.h"
 #include "lldb/Core/LoadedModuleInfoList.h"
 #include "lldb/Core/PluginInterface.h"
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Core/ThreadSafeValue.h"
-#include "lldb/Core/TraceOptions.h"
 #include "lldb/Core/UserSettingsController.h"
 #include "lldb/Host/HostThread.h"
 #include "lldb/Host/ProcessRunLock.h"
@@ -50,6 +48,8 @@
 #include "lldb/Target/ThreadList.h"
 #include "lldb/Utility/NameMatches.h"
 #include "lldb/Utility/Status.h"
+#include "lldb/Utility/StructuredData.h"
+#include "lldb/Utility/TraceOptions.h"
 #include "lldb/lldb-private.h"
 
 #include "llvm/ADT/ArrayRef.h"

Modified: vendor/lldb/dist/include/lldb/Target/StopInfo.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/StopInfo.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/StopInfo.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -16,8 +16,8 @@
 
 // Other libraries and framework includes
 // Project includes
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Target/Process.h"
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/lldb-public.h"
 
 namespace lldb_private {

Modified: vendor/lldb/dist/include/lldb/Target/StructuredDataPlugin.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/StructuredDataPlugin.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/StructuredDataPlugin.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -11,7 +11,7 @@
 #define StructuredDataPlugin_h
 
 #include "lldb/Core/PluginInterface.h"
-#include "lldb/Core/StructuredData.h"
+#include "lldb/Utility/StructuredData.h"
 
 namespace lldb_private {
 

Modified: vendor/lldb/dist/include/lldb/Target/SystemRuntime.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/SystemRuntime.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/SystemRuntime.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -18,10 +18,10 @@
 
 #include "lldb/Core/ModuleList.h"
 #include "lldb/Core/PluginInterface.h"
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Target/QueueItem.h"
 #include "lldb/Target/QueueList.h"
 #include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/lldb-private.h"
 #include "lldb/lldb-public.h"
 

Modified: vendor/lldb/dist/include/lldb/Target/Thread.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/Thread.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/Thread.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -21,11 +21,11 @@
 // Project includes
 #include "lldb/Core/Broadcaster.h"
 #include "lldb/Core/Event.h"
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Core/UserSettingsController.h"
 #include "lldb/Target/ExecutionContextScope.h"
 #include "lldb/Target/RegisterCheckpoint.h"
 #include "lldb/Target/StackFrameList.h"
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/Utility/UserID.h"
 #include "lldb/lldb-private.h"
 

Modified: vendor/lldb/dist/include/lldb/Target/ThreadPlanPython.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/ThreadPlanPython.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/ThreadPlanPython.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -17,13 +17,13 @@
 
 // Other libraries and framework includes
 // Project includes
-#include "lldb/Core/StructuredData.h"
 #include "lldb/Target/Process.h"
 #include "lldb/Target/StopInfo.h"
 #include "lldb/Target/Target.h"
 #include "lldb/Target/Thread.h"
 #include "lldb/Target/ThreadPlan.h"
 #include "lldb/Target/ThreadPlanTracer.h"
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/Utility/UserID.h"
 #include "lldb/lldb-private.h"
 

Modified: vendor/lldb/dist/include/lldb/Target/ThreadSpec.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/ThreadSpec.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Target/ThreadSpec.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -10,13 +10,9 @@
 #ifndef liblldb_ThreadSpec_h_
 #define liblldb_ThreadSpec_h_
 
-// C Includes
-// C++ Includes
-#include <string>
-
-// Other libraries and framework includes
-// Project includes
+#include "lldb/Utility/StructuredData.h"
 #include "lldb/lldb-private.h"
+#include <string>
 
 namespace lldb_private {
 

Added: vendor/lldb/dist/include/lldb/Utility/Connection.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/Utility/Connection.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -0,0 +1,212 @@
+//===-- Connection.h --------------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_Connection_h_
+#define liblldb_Connection_h_
+
+#include "lldb/lldb-defines.h"      // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for ConnectionStatus
+#include "lldb/lldb-forward.h"      // for IOObjectSP
+
+#include "llvm/ADT/StringRef.h" // for StringRef
+
+#include <ratio> // for micro
+#include <string>
+
+#include <stddef.h> // for size_t
+
+namespace lldb_private {
+class Status;
+}
+namespace lldb_private {
+template <typename Ratio> class Timeout;
+}
+
+namespace lldb_private {
+
+//----------------------------------------------------------------------
+/// @class Connection Connection.h "lldb/Utility/Connection.h"
+/// @brief A communication connection class.
+///
+/// A class that implements that actual communication functions for
+/// connecting/disconnecting, reading/writing, and waiting for bytes
+/// to become available from a two way communication connection.
+///
+/// This class is designed to only do very simple communication
+/// functions. Instances can be instantiated and given to a
+/// Communication class to perform communications where clients can
+/// listen for broadcasts, and perform other higher level communications.
+//----------------------------------------------------------------------
+class Connection {
+public:
+  //------------------------------------------------------------------
+  /// Default constructor
+  //------------------------------------------------------------------
+  Connection() = default;
+
+  //------------------------------------------------------------------
+  /// Virtual destructor since this class gets subclassed and handed
+  /// to a Communication object.
+  //------------------------------------------------------------------
+  virtual ~Connection();
+
+  //------------------------------------------------------------------
+  /// Connect using the connect string \a url.
+  ///
+  /// @param[in] url
+  ///     A string that contains all information needed by the
+  ///     subclass to connect to another client.
+  ///
+  /// @param[out] error_ptr
+  ///     A pointer to an error object that should be given an
+  ///     appropriate error value if this method returns false. This
+  ///     value can be NULL if the error value should be ignored.
+  ///
+  /// @return
+  ///     \b True if the connect succeeded, \b false otherwise. The
+  ///     internal error object should be filled in with an
+  ///     appropriate value based on the result of this function.
+  ///
+  /// @see Status& Communication::GetError ();
+  //------------------------------------------------------------------
+  virtual lldb::ConnectionStatus Connect(llvm::StringRef url,
+                                         Status *error_ptr) = 0;
+
+  //------------------------------------------------------------------
+  /// Disconnect the communications connection if one is currently
+  /// connected.
+  ///
+  /// @param[out] error_ptr
+  ///     A pointer to an error object that should be given an
+  ///     appropriate error value if this method returns false. This
+  ///     value can be NULL if the error value should be ignored.
+  ///
+  /// @return
+  ///     \b True if the disconnect succeeded, \b false otherwise. The
+  ///     internal error object should be filled in with an
+  ///     appropriate value based on the result of this function.
+  ///
+  /// @see Status& Communication::GetError ();
+  //------------------------------------------------------------------
+  virtual lldb::ConnectionStatus Disconnect(Status *error_ptr) = 0;
+
+  //------------------------------------------------------------------
+  /// Check if the connection is valid.
+  ///
+  /// @return
+  ///     \b True if this object is currently connected, \b false
+  ///     otherwise.
+  //------------------------------------------------------------------
+  virtual bool IsConnected() const = 0;
+
+  //------------------------------------------------------------------
+  /// The read function that attempts to read from the connection.
+  ///
+  /// @param[in] dst
+  ///     A destination buffer that must be at least \a dst_len bytes
+  ///     long.
+  ///
+  /// @param[in] dst_len
+  ///     The number of bytes to attempt to read, and also the max
+  ///     number of bytes that can be placed into \a dst.
+  ///
+  /// @param[in] timeout
+  ///     The number of microseconds to wait for the data.
+  ///
+  /// @param[out] status
+  ///     On return, indicates whether the call was successful or terminated
+  ///     due to some error condition.
+  ///
+  /// @param[out] error_ptr
+  ///     A pointer to an error object that should be given an
+  ///     appropriate error value if this method returns zero. This
+  ///     value can be NULL if the error value should be ignored.
+  ///
+  /// @return
+  ///     The number of bytes actually read.
+  ///
+  /// @see size_t Communication::Read (void *, size_t, uint32_t);
+  //------------------------------------------------------------------
+  virtual size_t Read(void *dst, size_t dst_len,
+                      const Timeout<std::micro> &timeout,
+                      lldb::ConnectionStatus &status, Status *error_ptr) = 0;
+
+  //------------------------------------------------------------------
+  /// The actual write function that attempts to write to the
+  /// communications protocol.
+  ///
+  /// Subclasses must override this function.
+  ///
+  /// @param[in] dst
+  ///     A desination buffer that must be at least \a dst_len bytes
+  ///     long.
+  ///
+  /// @param[in] dst_len
+  ///     The number of bytes to attempt to write, and also the
+  ///     number of bytes are currently available in \a dst.
+  ///
+  /// @param[out] error_ptr
+  ///     A pointer to an error object that should be given an
+  ///     appropriate error value if this method returns zero. This
+  ///     value can be NULL if the error value should be ignored.
+  ///
+  /// @return
+  ///     The number of bytes actually Written.
+  //------------------------------------------------------------------
+  virtual size_t Write(const void *dst, size_t dst_len,
+                       lldb::ConnectionStatus &status, Status *error_ptr) = 0;
+
+  //------------------------------------------------------------------
+  /// Returns a URI that describes this connection object
+  ///
+  /// Subclasses may override this function.
+  ///
+  /// @return
+  ///     Returns URI or an empty string if disconnecteds
+  //------------------------------------------------------------------
+  virtual std::string GetURI() = 0;
+
+  //------------------------------------------------------------------
+  /// Interrupts an ongoing Read() operation.
+  ///
+  /// If there is an ongoing read operation in another thread, this operation
+  /// return with status == eConnectionStatusInterrupted. Note that if there
+  /// data waiting to be read and an interrupt request is issued, the Read()
+  /// function will return the data immediately without processing the
+  /// interrupt request (which will remain queued for the next Read()
+  /// operation).
+  ///
+  /// @return
+  ///     Returns true is the interrupt request was successful.
+  //------------------------------------------------------------------
+  virtual bool InterruptRead() = 0;
+
+  //------------------------------------------------------------------
+  /// Returns the underlying IOObject used by the Connection.
+  ///
+  /// The IOObject can be used to wait for data to become available
+  /// on the connection. If the Connection does not use IOObjects (and
+  /// hence does not support waiting) this function should return a
+  /// null pointer.
+  ///
+  /// @return
+  ///     The underlying IOObject used for reading.
+  //------------------------------------------------------------------
+  virtual lldb::IOObjectSP GetReadObject() { return lldb::IOObjectSP(); }
+
+private:
+  //------------------------------------------------------------------
+  // For Connection only
+  //------------------------------------------------------------------
+  DISALLOW_COPY_AND_ASSIGN(Connection);
+};
+
+} // namespace lldb_private
+
+#endif // liblldb_Connection_h_

Added: vendor/lldb/dist/include/lldb/Utility/IOObject.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/Utility/IOObject.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -0,0 +1,56 @@
+//===-- IOObject.h ----------------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_Host_Common_IOObject_h_
+#define liblldb_Host_Common_IOObject_h_
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+
+#include "lldb/lldb-private.h"
+
+namespace lldb_private {
+
+class IOObject {
+public:
+  typedef enum {
+    eFDTypeFile,   // Other FD requiring read/write
+    eFDTypeSocket, // Socket requiring send/recv
+  } FDType;
+
+  // TODO: On Windows this should be a HANDLE, and wait should use
+  // WaitForMultipleObjects
+  typedef int WaitableHandle;
+  static const WaitableHandle kInvalidHandleValue;
+
+  IOObject(FDType type, bool should_close)
+      : m_fd_type(type), m_should_close_fd(should_close) {}
+  virtual ~IOObject();
+
+  virtual Status Read(void *buf, size_t &num_bytes) = 0;
+  virtual Status Write(const void *buf, size_t &num_bytes) = 0;
+  virtual bool IsValid() const = 0;
+  virtual Status Close() = 0;
+
+  FDType GetFdType() const { return m_fd_type; }
+
+  virtual WaitableHandle GetWaitableHandle() = 0;
+
+protected:
+  FDType m_fd_type;
+  bool m_should_close_fd; // True if this class should close the file descriptor
+                          // when it goes away.
+
+private:
+  DISALLOW_COPY_AND_ASSIGN(IOObject);
+};
+} // namespace lldb_private
+
+#endif

Modified: vendor/lldb/dist/include/lldb/Utility/JSON.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Utility/JSON.h	Sat Jul  1 13:24:50 2017	(r320542)
+++ vendor/lldb/dist/include/lldb/Utility/JSON.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -269,7 +269,7 @@ class JSONParser : public StringExtractor { (public)
     EndOfFile
   };
 
-  JSONParser(const char *cstr);
+  JSONParser(llvm::StringRef data);
 
   int GetEscapedChar(bool &was_escaped);
 

Added: vendor/lldb/dist/include/lldb/Utility/StructuredData.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/Utility/StructuredData.h	Sat Jul  1 13:24:58 2017	(r320543)
@@ -0,0 +1,556 @@
+//===-- StructuredData.h ----------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_StructuredData_h_
+#define liblldb_StructuredData_h_
+
+#include "llvm/ADT/StringRef.h"
+
+#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/FileSpec.h"  // for FileSpec
+#include "lldb/lldb-enumerations.h" // for StructuredDataType
+
+#include <cassert> // for assert
+#include <cstddef> // for size_t
+#include <cstdint> // for uint64_t
+#include <functional>
+#include <map>
+#include <memory>
+#include <string>
+#include <type_traits> // for move
+#include <utility>
+#include <vector>
+
+namespace lldb_private {
+class Status;
+}
+namespace lldb_private {
+class Stream;
+}
+
+namespace lldb_private {
+
+//----------------------------------------------------------------------
+/// @class StructuredData StructuredData.h "lldb/Utility/StructuredData.h"
+/// @brief A class which can hold structured data
+///
+/// The StructuredData class is designed to hold the data from a JSON
+/// or plist style file -- a serialized data structure with dictionaries
+/// (maps, hashes), arrays, and concrete values like integers, floating
+/// point numbers, strings, booleans.
+///
+/// StructuredData does not presuppose any knowledge of the schema for
+/// the data it is holding; it can parse JSON data, for instance, and
+/// other parts of lldb can iterate through the parsed data set to find
+/// keys and values that may be present.
+//----------------------------------------------------------------------
+
+class StructuredData {
+public:
+  class Object;
+  class Array;
+  class Integer;
+  class Float;
+  class Boolean;
+  class String;
+  class Dictionary;
+  class Generic;
+
+  typedef std::shared_ptr<Object> ObjectSP;
+  typedef std::shared_ptr<Array> ArraySP;
+  typedef std::shared_ptr<Integer> IntegerSP;
+  typedef std::shared_ptr<Float> FloatSP;
+  typedef std::shared_ptr<Boolean> BooleanSP;
+  typedef std::shared_ptr<String> StringSP;
+  typedef std::shared_ptr<Dictionary> DictionarySP;
+  typedef std::shared_ptr<Generic> GenericSP;
+
+  class Object : public std::enable_shared_from_this<Object> {
+  public:
+    Object(lldb::StructuredDataType t = lldb::eStructuredDataTypeInvalid)
+        : m_type(t) {}
+
+    virtual ~Object() = default;
+
+    virtual bool IsValid() const { return true; }
+
+    virtual void Clear() { m_type = lldb::eStructuredDataTypeInvalid; }
+
+    lldb::StructuredDataType GetType() const { return m_type; }
+
+    void SetType(lldb::StructuredDataType t) { m_type = t; }
+
+    Array *GetAsArray() {
+      return ((m_type == lldb::eStructuredDataTypeArray)
+                  ? static_cast<Array *>(this)
+                  : nullptr);
+    }
+
+    Dictionary *GetAsDictionary() {
+      return ((m_type == lldb::eStructuredDataTypeDictionary)
+                  ? static_cast<Dictionary *>(this)
+                  : nullptr);
+    }
+
+    Integer *GetAsInteger() {
+      return ((m_type == lldb::eStructuredDataTypeInteger)
+                  ? static_cast<Integer *>(this)
+                  : nullptr);
+    }
+
+    uint64_t GetIntegerValue(uint64_t fail_value = 0) {
+      Integer *integer = GetAsInteger();
+      return ((integer != nullptr) ? integer->GetValue() : fail_value);
+    }
+
+    Float *GetAsFloat() {
+      return ((m_type == lldb::eStructuredDataTypeFloat)
+                  ? static_cast<Float *>(this)
+                  : nullptr);
+    }
+
+    double GetFloatValue(double fail_value = 0.0) {

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707011324.v61DOxu8022540>