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...
Dimitry Andric
dim at FreeBSD.org
Sat Jul 1 13:25:04 UTC 2017
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 §ion,
- lldb::RegisterKind reg_kind, bool is_eh_frame);
+ enum Type { EH, DWARF };
- ~DWARFCallFrameInfo();
+ DWARFCallFrameInfo(ObjectFile &objfile, lldb::SectionSP §ion, 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 ***
More information about the svn-src-vendor
mailing list