aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-04-16 16:04:10 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-04-16 16:04:10 +0000
commit74a628f776edb588bff8f8f5cc16eac947c9d631 (patch)
treedc32e010ac4902621e5a279bfeb48628f7f0e166
parentafed7be32164a598f8172282c249af7266c48b46 (diff)
downloadsrc-74a628f776edb588bff8f8f5cc16eac947c9d631.tar.gz
src-74a628f776edb588bff8f8f5cc16eac947c9d631.zip
Vendor import of lldb trunk r300422:vendor/lldb/lldb-trunk-r300422
Notes
Notes: svn path=/vendor/lldb/dist/; revision=317027 svn path=/vendor/lldb/lldb-trunk-r300422/; revision=317028; tag=vendor/lldb/lldb-trunk-r300422
-rw-r--r--CMakeLists.txt7
-rw-r--r--CODE_OWNERS.txt10
-rw-r--r--INSTALL.txt5
-rw-r--r--cmake/LLDBDependencies.cmake166
-rw-r--r--cmake/modules/AddLLDB.cmake58
-rw-r--r--cmake/modules/LLDBConfig.cmake53
-rw-r--r--cmake/modules/LLDBStandalone.cmake1
-rw-r--r--cmake/platforms/Android.cmake11
-rw-r--r--docs/lldb-gdb-remote.txt2
-rwxr-xr-xexamples/python/crashlog.py6
-rwxr-xr-xexamples/python/gdbremote.py53
-rw-r--r--include/lldb/API/SBAttachInfo.h4
-rw-r--r--include/lldb/API/SBBreakpoint.h12
-rw-r--r--include/lldb/API/SBBreakpointLocation.h3
-rw-r--r--include/lldb/API/SBFrame.h4
-rw-r--r--include/lldb/API/SBListener.h2
-rw-r--r--include/lldb/API/SBTarget.h8
-rw-r--r--include/lldb/API/SBWatchpoint.h2
-rw-r--r--include/lldb/Breakpoint/Breakpoint.h2
-rw-r--r--include/lldb/Breakpoint/BreakpointLocation.h2
-rw-r--r--include/lldb/Breakpoint/BreakpointOptions.h4
-rw-r--r--include/lldb/Breakpoint/BreakpointResolver.h7
-rw-r--r--include/lldb/Breakpoint/BreakpointResolverFileLine.h2
-rw-r--r--include/lldb/Breakpoint/BreakpointResolverFileRegex.h2
-rw-r--r--include/lldb/Breakpoint/BreakpointSite.h2
-rw-r--r--include/lldb/Breakpoint/Stoppoint.h2
-rw-r--r--include/lldb/Breakpoint/StoppointLocation.h2
-rw-r--r--include/lldb/Breakpoint/Watchpoint.h2
-rw-r--r--include/lldb/Breakpoint/WatchpointOptions.h4
-rw-r--r--include/lldb/Core/Address.h43
-rw-r--r--include/lldb/Core/AddressRange.h18
-rw-r--r--include/lldb/Core/AddressResolver.h20
-rw-r--r--include/lldb/Core/AddressResolverFileLine.h16
-rw-r--r--include/lldb/Core/AddressResolverName.h17
-rw-r--r--include/lldb/Core/ArchSpec.h26
-rw-r--r--include/lldb/Core/Broadcaster.h36
-rw-r--r--include/lldb/Core/Communication.h30
-rw-r--r--include/lldb/Core/Connection.h21
-rw-r--r--include/lldb/Core/DataBufferMemoryMap.h154
-rw-r--r--include/lldb/Core/Debugger.h64
-rw-r--r--include/lldb/Core/Disassembler.h64
-rw-r--r--include/lldb/Core/DumpDataExtractor.h95
-rw-r--r--include/lldb/Core/EmulateInstruction.h31
-rw-r--r--include/lldb/Core/Event.h27
-rw-r--r--include/lldb/Core/FileLineResolver.h14
-rw-r--r--include/lldb/Core/FileSpecList.h10
-rw-r--r--include/lldb/Core/FormatEntity.h35
-rw-r--r--include/lldb/Core/IOHandler.h29
-rw-r--r--include/lldb/Core/Listener.h28
-rw-r--r--include/lldb/Core/Log.h189
-rw-r--r--include/lldb/Core/Mangled.h15
-rw-r--r--include/lldb/Core/MappedHash.h6
-rw-r--r--include/lldb/Core/Module.h87
-rw-r--r--include/lldb/Core/ModuleChild.h2
-rw-r--r--include/lldb/Core/ModuleList.h63
-rw-r--r--include/lldb/Core/ModuleSpec.h6
-rw-r--r--include/lldb/Core/Opcode.h21
-rw-r--r--include/lldb/Core/PluginManager.h43
-rw-r--r--include/lldb/Core/RangeMap.h63
-rw-r--r--include/lldb/Core/RegisterValue.h26
-rw-r--r--include/lldb/Core/Scalar.h15
-rw-r--r--include/lldb/Core/SearchFilter.h41
-rw-r--r--include/lldb/Core/Section.h41
-rw-r--r--include/lldb/Core/SourceManager.h25
-rw-r--r--include/lldb/Core/State.h21
-rw-r--r--include/lldb/Core/StreamAsynchronousIO.h11
-rw-r--r--include/lldb/Core/StreamBuffer.h2
-rw-r--r--include/lldb/Core/StreamFile.h15
-rw-r--r--include/lldb/Core/StructuredData.h40
-rw-r--r--include/lldb/Core/Timer.h16
-rw-r--r--include/lldb/Core/UniqueCStringMap.h4
-rw-r--r--include/lldb/Core/UserSettingsController.h33
-rw-r--r--include/lldb/Core/Value.h40
-rw-r--r--include/lldb/Core/ValueObject.h84
-rw-r--r--include/lldb/Core/ValueObjectCast.h15
-rw-r--r--include/lldb/Core/ValueObjectChild.h14
-rw-r--r--include/lldb/Core/ValueObjectConstResult.h26
-rw-r--r--include/lldb/Core/ValueObjectConstResultCast.h22
-rw-r--r--include/lldb/Core/ValueObjectConstResultChild.h24
-rw-r--r--include/lldb/Core/ValueObjectConstResultImpl.h25
-rw-r--r--include/lldb/Core/ValueObjectDynamicValue.h25
-rw-r--r--include/lldb/Core/ValueObjectList.h15
-rw-r--r--include/lldb/Core/ValueObjectMemory.h17
-rw-r--r--include/lldb/Core/ValueObjectRegister.h30
-rw-r--r--include/lldb/Core/ValueObjectSyntheticFilter.h26
-rw-r--r--include/lldb/Core/ValueObjectVariable.h30
-rw-r--r--include/lldb/DataFormatters/DataVisualization.h2
-rw-r--r--include/lldb/DataFormatters/DumpValueObjectOptions.h5
-rw-r--r--include/lldb/DataFormatters/FormatCache.h2
-rw-r--r--include/lldb/DataFormatters/FormattersContainer.h2
-rw-r--r--include/lldb/DataFormatters/StringPrinter.h2
-rw-r--r--include/lldb/DataFormatters/TypeSummary.h2
-rw-r--r--include/lldb/DataFormatters/ValueObjectPrinter.h3
-rw-r--r--include/lldb/DataFormatters/VectorIterator.h2
-rw-r--r--include/lldb/Expression/DWARFExpression.h4
-rw-r--r--include/lldb/Expression/ExpressionParser.h2
-rw-r--r--include/lldb/Expression/ExpressionVariable.h2
-rw-r--r--include/lldb/Expression/IRExecutionUnit.h2
-rw-r--r--include/lldb/Expression/IRInterpreter.h4
-rw-r--r--include/lldb/Expression/IRMemoryMap.h4
-rw-r--r--include/lldb/Expression/Materializer.h2
-rw-r--r--include/lldb/Host/Config.h39
-rw-r--r--include/lldb/Host/Config.h.cmake19
-rw-r--r--include/lldb/Host/Editline.h5
-rw-r--r--include/lldb/Host/File.h13
-rw-r--r--include/lldb/Host/FileCache.h5
-rw-r--r--include/lldb/Host/FileSystem.h36
-rw-r--r--include/lldb/Host/Host.h18
-rw-r--r--include/lldb/Host/HostInfo.h3
-rw-r--r--include/lldb/Host/HostInfoBase.h35
-rw-r--r--include/lldb/Host/HostNativeProcessBase.h2
-rw-r--r--include/lldb/Host/HostNativeThread.h8
-rw-r--r--include/lldb/Host/HostNativeThreadBase.h2
-rw-r--r--include/lldb/Host/HostNativeThreadForward.h12
-rw-r--r--include/lldb/Host/HostThread.h2
-rw-r--r--include/lldb/Host/LockFileBase.h2
-rw-r--r--include/lldb/Host/MainLoopBase.h2
-rw-r--r--include/lldb/Host/PipeBase.h2
-rw-r--r--include/lldb/Host/PseudoTerminal.h (renamed from include/lldb/Utility/PseudoTerminal.h)6
-rw-r--r--include/lldb/Host/Socket.h5
-rw-r--r--include/lldb/Host/SocketAddress.h16
-rw-r--r--include/lldb/Host/Symbols.h6
-rw-r--r--include/lldb/Host/ThisThread.h37
-rw-r--r--include/lldb/Host/ThreadLauncher.h2
-rw-r--r--include/lldb/Host/XML.h2
-rw-r--r--include/lldb/Host/android/Config.h28
-rw-r--r--include/lldb/Host/common/NativeBreakpointList.h10
-rw-r--r--include/lldb/Host/common/NativeProcessProtocol.h37
-rw-r--r--include/lldb/Host/common/NativeRegisterContext.h5
-rw-r--r--include/lldb/Host/common/NativeThreadProtocol.h7
-rw-r--r--include/lldb/Host/common/NativeWatchpointList.h2
-rw-r--r--include/lldb/Host/common/UDPSocket.h4
-rw-r--r--include/lldb/Host/freebsd/Config.h28
-rw-r--r--include/lldb/Host/freebsd/HostInfoFreeBSD.h3
-rw-r--r--include/lldb/Host/freebsd/HostThreadFreeBSD.h29
-rw-r--r--include/lldb/Host/linux/Config.h28
-rw-r--r--include/lldb/Host/linux/HostInfoLinux.h3
-rw-r--r--include/lldb/Host/linux/HostThreadLinux.h30
-rw-r--r--include/lldb/Host/linux/Support.h27
-rw-r--r--include/lldb/Host/macosx/Config.h28
-rw-r--r--include/lldb/Host/macosx/HostInfoMacOSX.h3
-rw-r--r--include/lldb/Host/mingw/Config.h30
-rw-r--r--include/lldb/Host/msvc/Config.h39
-rw-r--r--include/lldb/Host/netbsd/Config.h28
-rw-r--r--include/lldb/Host/netbsd/HostInfoNetBSD.h3
-rw-r--r--include/lldb/Host/netbsd/HostThreadNetBSD.h30
-rw-r--r--include/lldb/Host/openbsd/HostInfoOpenBSD.h27
-rw-r--r--include/lldb/Host/posix/HostInfoPosix.h2
-rw-r--r--include/lldb/Host/posix/HostProcessPosix.h2
-rw-r--r--include/lldb/Host/posix/ProcessLauncherPosixFork.h (renamed from include/lldb/Host/linux/ProcessLauncherLinux.h)12
-rw-r--r--include/lldb/Host/windows/HostInfoWindows.h2
-rw-r--r--include/lldb/Host/windows/PosixApi.h2
-rw-r--r--include/lldb/Interpreter/Args.h14
-rw-r--r--include/lldb/Interpreter/CommandCompletions.h12
-rw-r--r--include/lldb/Interpreter/CommandHistory.h2
-rw-r--r--include/lldb/Interpreter/CommandInterpreter.h4
-rw-r--r--include/lldb/Interpreter/CommandObject.h5
-rw-r--r--include/lldb/Interpreter/CommandObjectRegexCommand.h2
-rw-r--r--include/lldb/Interpreter/CommandReturnObject.h4
-rw-r--r--include/lldb/Interpreter/OptionGroupPlatform.h2
-rw-r--r--include/lldb/Interpreter/OptionValue.h6
-rw-r--r--include/lldb/Interpreter/OptionValueEnumeration.h13
-rw-r--r--include/lldb/Interpreter/OptionValueFileSpec.h2
-rw-r--r--include/lldb/Interpreter/OptionValueProperties.h2
-rw-r--r--include/lldb/Interpreter/OptionValueRegex.h2
-rw-r--r--include/lldb/Interpreter/OptionValueString.h3
-rw-r--r--include/lldb/Interpreter/OptionValueUUID.h2
-rw-r--r--include/lldb/Interpreter/Property.h13
-rw-r--r--include/lldb/Interpreter/ScriptInterpreter.h4
-rw-r--r--include/lldb/Symbol/ArmUnwindInfo.h2
-rw-r--r--include/lldb/Symbol/Block.h5
-rw-r--r--include/lldb/Symbol/ClangASTContext.h2
-rw-r--r--include/lldb/Symbol/CompactUnwindInfo.h2
-rw-r--r--include/lldb/Symbol/CompileUnit.h4
-rw-r--r--include/lldb/Symbol/CompilerDecl.h2
-rw-r--r--include/lldb/Symbol/CompilerDeclContext.h2
-rw-r--r--include/lldb/Symbol/CompilerType.h2
-rw-r--r--include/lldb/Symbol/DWARFCallFrameInfo.h6
-rw-r--r--include/lldb/Symbol/DebugMacros.h2
-rw-r--r--include/lldb/Symbol/DeclVendor.h1
-rw-r--r--include/lldb/Symbol/Declaration.h2
-rw-r--r--include/lldb/Symbol/Function.h2
-rw-r--r--include/lldb/Symbol/GoASTContext.h2
-rw-r--r--include/lldb/Symbol/JavaASTContext.h2
-rw-r--r--include/lldb/Symbol/LineEntry.h2
-rw-r--r--include/lldb/Symbol/OCamlASTContext.h2
-rw-r--r--include/lldb/Symbol/ObjectContainer.h6
-rw-r--r--include/lldb/Symbol/ObjectFile.h60
-rw-r--r--include/lldb/Symbol/Symbol.h2
-rw-r--r--include/lldb/Symbol/Type.h5
-rw-r--r--include/lldb/Symbol/UnwindPlan.h4
-rw-r--r--include/lldb/Symbol/Variable.h2
-rw-r--r--include/lldb/Target/ABI.h2
-rw-r--r--include/lldb/Target/DynamicLoader.h38
-rw-r--r--include/lldb/Target/FileAction.h2
-rw-r--r--include/lldb/Target/Memory.h28
-rw-r--r--include/lldb/Target/MemoryRegionInfo.h23
-rw-r--r--include/lldb/Target/ModuleCache.h (renamed from source/Utility/ModuleCache.h)10
-rw-r--r--include/lldb/Target/PathMappingList.h4
-rw-r--r--include/lldb/Target/Platform.h4
-rw-r--r--include/lldb/Target/Process.h18
-rw-r--r--include/lldb/Target/ProcessInfo.h2
-rw-r--r--include/lldb/Target/ProcessLaunchInfo.h7
-rw-r--r--include/lldb/Target/ProcessStructReader.h (renamed from include/lldb/Utility/ProcessStructReader.h)13
-rw-r--r--include/lldb/Target/QueueItem.h2
-rw-r--r--include/lldb/Target/QueueList.h2
-rw-r--r--include/lldb/Target/RegisterCheckpoint.h2
-rw-r--r--include/lldb/Target/RegisterNumber.h (renamed from include/lldb/Utility/RegisterNumber.h)4
-rw-r--r--include/lldb/Target/StackFrame.h9
-rw-r--r--include/lldb/Target/SystemRuntime.h2
-rw-r--r--include/lldb/Target/Thread.h14
-rw-r--r--include/lldb/Target/ThreadList.h2
-rw-r--r--include/lldb/Target/ThreadPlan.h26
-rw-r--r--include/lldb/Target/ThreadPlanPython.h2
-rw-r--r--include/lldb/Target/UnixSignals.h23
-rw-r--r--include/lldb/Utility/Baton.h (renamed from include/lldb/Core/Baton.h)11
-rw-r--r--include/lldb/Utility/ConstString.h (renamed from include/lldb/Core/ConstString.h)23
-rw-r--r--include/lldb/Utility/ConvertEnum.h21
-rw-r--r--include/lldb/Utility/DataBuffer.h (renamed from include/lldb/Core/DataBuffer.h)0
-rw-r--r--include/lldb/Utility/DataBufferHeap.h (renamed from include/lldb/Core/DataBufferHeap.h)11
-rw-r--r--include/lldb/Utility/DataBufferLLVM.h52
-rw-r--r--include/lldb/Utility/DataEncoder.h (renamed from include/lldb/Core/DataEncoder.h)12
-rw-r--r--include/lldb/Utility/DataExtractor.h (renamed from include/lldb/Core/DataExtractor.h)141
-rw-r--r--include/lldb/Utility/Endian.h (renamed from include/lldb/Host/Endian.h)6
-rw-r--r--include/lldb/Utility/Error.h (renamed from include/lldb/Core/Error.h)66
-rw-r--r--include/lldb/Utility/FastDemangle.h (renamed from include/lldb/Core/FastDemangle.h)0
-rw-r--r--include/lldb/Utility/FileSpec.h (renamed from include/lldb/Host/FileSpec.h)231
-rw-r--r--include/lldb/Utility/Flags.h (renamed from include/lldb/Core/Flags.h)6
-rw-r--r--include/lldb/Utility/History.h (renamed from include/lldb/Core/History.h)12
-rw-r--r--include/lldb/Utility/JSON.h9
-rw-r--r--include/lldb/Utility/LLDBAssert.h5
-rw-r--r--include/lldb/Utility/Log.h218
-rw-r--r--include/lldb/Utility/Logging.h (renamed from include/lldb/Core/Logging.h)26
-rw-r--r--include/lldb/Utility/NameMatches.h14
-rw-r--r--include/lldb/Utility/PriorityPointerPair.h86
-rw-r--r--include/lldb/Utility/Range.h1
-rw-r--r--include/lldb/Utility/RegularExpression.h (renamed from include/lldb/Core/RegularExpression.h)7
-rw-r--r--include/lldb/Utility/SelectHelper.h9
-rw-r--r--include/lldb/Utility/SharingPtr.h3
-rw-r--r--include/lldb/Utility/Stream.h (renamed from include/lldb/Core/Stream.h)46
-rw-r--r--include/lldb/Utility/StreamCallback.h (renamed from include/lldb/Core/StreamCallback.h)23
-rw-r--r--include/lldb/Utility/StreamGDBRemote.h (renamed from include/lldb/Core/StreamGDBRemote.h)13
-rw-r--r--include/lldb/Utility/StreamString.h (renamed from include/lldb/Core/StreamString.h)9
-rw-r--r--include/lldb/Utility/StreamTee.h (renamed from include/lldb/Core/StreamTee.h)2
-rw-r--r--include/lldb/Utility/StringExtractor.h9
-rw-r--r--include/lldb/Utility/StringLexer.h6
-rw-r--r--include/lldb/Utility/StringList.h (renamed from include/lldb/Core/StringList.h)22
-rw-r--r--include/lldb/Utility/TaskPool.h29
-rw-r--r--include/lldb/Utility/TildeExpressionResolver.h65
-rw-r--r--include/lldb/Utility/Timeout.h18
-rw-r--r--include/lldb/Utility/UUID.h (renamed from include/lldb/Core/UUID.h)16
-rw-r--r--include/lldb/Utility/UriParser.h (renamed from source/Utility/UriParser.h)8
-rw-r--r--include/lldb/Utility/UserID.h (renamed from include/lldb/Core/UserID.h)6
-rw-r--r--include/lldb/Utility/Utils.h22
-rw-r--r--include/lldb/Utility/VASPrintf.h21
-rw-r--r--include/lldb/Utility/VMRange.h (renamed from include/lldb/Core/VMRange.h)9
-rw-r--r--include/lldb/lldb-forward.h2
-rw-r--r--include/lldb/lldb-private-enumerations.h37
-rw-r--r--include/lldb/lldb-private-interfaces.h3
-rw-r--r--lit/lit.cfg18
-rw-r--r--lit/lit.site.cfg.in2
-rw-r--r--lldb.xcodeproj/project.pbxproj472
-rw-r--r--packages/Python/lldbsuite/test/README-TestSuite7
-rw-r--r--packages/Python/lldbsuite/test/api/multiple-debuggers/TestMultipleDebuggers.py2
-rw-r--r--packages/Python/lldbsuite/test/api/multiple-debuggers/multi-process-driver.cpp6
-rw-r--r--packages/Python/lldbsuite/test/configuration.py10
-rw-r--r--packages/Python/lldbsuite/test/dosep.py2
-rw-r--r--packages/Python/lldbsuite/test/dotest.py270
-rw-r--r--packages/Python/lldbsuite/test/dotest_args.py9
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_options/TestBreakpointOptions.py10
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_options/main.cpp6
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/Makefile6
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py114
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/main.cpp51
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/move_nearest/Makefile8
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/move_nearest/TestMoveNearest.py63
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/move_nearest/foo.cpp3
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/move_nearest/foo.h6
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/move_nearest/main.cpp9
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/Makefile9
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py120
-rw-r--r--packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/main.cpp12
-rw-r--r--packages/Python/lldbsuite/test/functionalities/darwin_log/.categories1
-rw-r--r--packages/Python/lldbsuite/test/functionalities/darwin_log/basic/TestDarwinLogBasic.py1
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/function/TestLibCxxFunction.py6
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py10
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/TestDataFormatterLibcxxListLoop.py7
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py53
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py52
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py23
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py33
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/unordered/TestDataFormatterUnordered.py38
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py6
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/main.cpp3
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py6
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py45
-rw-r--r--packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/main.cpp13
-rw-r--r--packages/Python/lldbsuite/test/functionalities/disassembly/TestFrameDisassemble.py68
-rw-r--r--packages/Python/lldbsuite/test/functionalities/disassembly/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/frame-language/Makefile12
-rw-r--r--packages/Python/lldbsuite/test/functionalities/frame-language/TestGuessLanguage.py87
-rw-r--r--packages/Python/lldbsuite/test/functionalities/frame-language/main.cpp10
-rw-r--r--packages/Python/lldbsuite/test/functionalities/frame-language/other-2.cpp7
-rw-r--r--packages/Python/lldbsuite/test/functionalities/frame-language/other.cpp10
-rw-r--r--packages/Python/lldbsuite/test/functionalities/frame-language/other.h7
-rw-r--r--packages/Python/lldbsuite/test/functionalities/frame-language/somefunc.c7
-rw-r--r--packages/Python/lldbsuite/test/functionalities/llvm/TestLLVM.py67
-rw-r--r--packages/Python/lldbsuite/test/functionalities/memory/read/TestMemoryRead.py17
-rw-r--r--packages/Python/lldbsuite/test/functionalities/memory/read/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/TestLinuxCore.py22
-rw-r--r--packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/gcore/TestGCore.py2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/gcore/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/linux-mips64el-gnuabi64.corebin0 -> 24576 bytes
-rwxr-xr-xpackages/Python/lldbsuite/test/functionalities/postmortem/elf-core/linux-mips64el-gnuabi64.outbin0 -> 3576 bytes
-rw-r--r--packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/linux-mips64el-gnuabin32.corebin0 -> 28672 bytes
-rwxr-xr-xpackages/Python/lldbsuite/test/functionalities/postmortem/elf-core/linux-mips64el-gnuabin32.outbin0 -> 2792 bytes
-rw-r--r--packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/linux-mipsel-gnuabio32.corebin0 -> 28672 bytes
-rwxr-xr-xpackages/Python/lldbsuite/test/functionalities/postmortem/elf-core/linux-mipsel-gnuabio32.outbin0 -> 2872 bytes
-rw-r--r--packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/thread_crash/TestLinuxCoreThreads.py2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/thread_crash/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/TestMiniDumpNew.py8
-rw-r--r--packages/Python/lldbsuite/test/functionalities/pre_run_dylibs/Makefile8
-rw-r--r--packages/Python/lldbsuite/test/functionalities/pre_run_dylibs/TestPreRunDylibs.py38
-rw-r--r--packages/Python/lldbsuite/test/functionalities/pre_run_dylibs/foo.cpp3
-rw-r--r--packages/Python/lldbsuite/test/functionalities/pre_run_dylibs/foo.h6
-rw-r--r--packages/Python/lldbsuite/test/functionalities/pre_run_dylibs/main.cpp9
-rw-r--r--packages/Python/lldbsuite/test/functionalities/register/intel_avx/TestYMMRegister.py1
-rw-r--r--packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py16
-rw-r--r--packages/Python/lldbsuite/test/functionalities/thread/break_after_join/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/thread/concurrent_events/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/thread/create_during_step/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/thread/exit_during_break/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/thread/exit_during_step/main.cpp1
-rw-r--r--packages/Python/lldbsuite/test/functionalities/thread/multi_break/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/thread/step_out/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/functionalities/thread/thread_exit/main.cpp2
-rw-r--r--packages/Python/lldbsuite/test/lang/c/find_struct_type/Makefile3
-rw-r--r--packages/Python/lldbsuite/test/lang/c/find_struct_type/TestFindStructTypes.py67
-rw-r--r--packages/Python/lldbsuite/test/lang/c/find_struct_type/main.c25
-rw-r--r--packages/Python/lldbsuite/test/lang/c/register_variables/Makefile2
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/incomplete-types/Makefile4
-rw-r--r--packages/Python/lldbsuite/test/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py5
-rw-r--r--packages/Python/lldbsuite/test/lldbinline.py8
-rw-r--r--packages/Python/lldbsuite/test/lldbplatformutil.py12
-rw-r--r--packages/Python/lldbsuite/test/lldbtest.py65
-rw-r--r--packages/Python/lldbsuite/test/macosx/queues/TestQueues.py2
-rw-r--r--packages/Python/lldbsuite/test/make/Android.rules91
-rw-r--r--packages/Python/lldbsuite/test/make/Makefile.rules81
-rw-r--r--packages/Python/lldbsuite/test/make/pseudo_barrier.h20
-rw-r--r--packages/Python/lldbsuite/test/make/test_common.h39
-rw-r--r--packages/Python/lldbsuite/test/python_api/breakpoint/TestBreakpointAPI.py26
-rw-r--r--packages/Python/lldbsuite/test/python_api/name_lookup/Makefile5
-rw-r--r--packages/Python/lldbsuite/test/python_api/name_lookup/TestNameLookup.py66
-rw-r--r--packages/Python/lldbsuite/test/python_api/name_lookup/main.cpp54
-rw-r--r--packages/Python/lldbsuite/test/python_api/sbdata/TestSBData.py20
-rw-r--r--packages/Python/lldbsuite/test/python_api/watchpoint/TestSetWatchpoint.py3
-rw-r--r--packages/Python/lldbsuite/test/python_api/watchpoint/TestWatchpointIgnoreCount.py16
-rw-r--r--packages/Python/lldbsuite/test/sample_test/Makefile6
-rw-r--r--packages/Python/lldbsuite/test/sample_test/TestSampleInlineTest.py10
-rw-r--r--packages/Python/lldbsuite/test/sample_test/TestSampleTest.py74
-rw-r--r--packages/Python/lldbsuite/test/sample_test/main.c13
-rw-r--r--packages/Python/lldbsuite/test/test_categories.py18
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/TestMiEnvironmentCd.py1
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/TestMiExit.py3
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/TestMiFile.py4
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/TestMiGdbSetShow.py9
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/TestMiLibraryLoaded.py1
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/TestMiPrompt.py1
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/breakpoint/TestMiBreak.py44
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/breakpoint/main.cpp13
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py14
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py8
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/interpreter/TestMiCliSupport.py8
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/interpreter/TestMiInterpreterExec.py8
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/lexical_scope/Makefile5
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/lexical_scope/TestMiLexicalScope.py68
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/lexical_scope/main.cpp33
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/signal/TestMiSignal.py4
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/symbol/TestMiSymbol.py1
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/syntax/TestMiSyntax.py4
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/target/TestMiTarget.py3
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/threadinfo/TestMiThreadInfo.py1
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/variable/TestMiGdbSetShowPrint.py3
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-mi/variable/TestMiVar.py6
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/.clang-format1
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteHostInfo.py (renamed from packages/Python/lldbsuite/test/tools/lldb-server/host-info/TestGdbRemoteHostInfo.py)0
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteThreadsInStopReply.py119
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/TestLldbGdbServer.py60
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/exit-code/main.cpp630
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py18
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/inferior-crash/main.cpp50
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/main.cpp639
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/platform-process-connect/main.cpp7
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/signal-filtering/Makefile5
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/signal-filtering/TestGdbRemote_QPassSignals.py115
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/signal-filtering/main.cpp37
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/thread-name/Makefile (renamed from packages/Python/lldbsuite/test/tools/lldb-server/host-info/Makefile)4
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/thread-name/TestGdbRemoteThreadName.py41
-rw-r--r--packages/Python/lldbsuite/test/tools/lldb-server/thread-name/main.cpp22
-rw-r--r--packages/Python/lldbsuite/test_event/formatter/results_formatter.py31
-rw-r--r--packages/Python/lldbsuite/test_event/formatter/xunit.py2
-rw-r--r--scripts/Python/finishSwigPythonLLDB.py4
-rwxr-xr-xscripts/Xcode/build-llvm.py57
-rw-r--r--scripts/Xcode/repo.py42
-rw-r--r--scripts/Xcode/repos/FALLBACK19
-rw-r--r--scripts/Xcode/repos/svn-trunk.json19
-rw-r--r--scripts/analyze-project-deps.py206
-rw-r--r--scripts/finishSwigWrapperClasses.py9
-rw-r--r--scripts/interface/SBFrame.i8
-rw-r--r--scripts/interface/SBThread.i14
-rw-r--r--scripts/utilsArgsParse.py4
-rw-r--r--source/API/CMakeLists.txt18
-rw-r--r--source/API/SBAddress.cpp4
-rw-r--r--source/API/SBBlock.cpp2
-rw-r--r--source/API/SBBreakpoint.cpp450
-rw-r--r--source/API/SBBreakpointLocation.cpp206
-rw-r--r--source/API/SBBroadcaster.cpp22
-rw-r--r--source/API/SBCommandReturnObject.cpp5
-rw-r--r--source/API/SBCommunication.cpp2
-rw-r--r--source/API/SBCompileUnit.cpp2
-rw-r--r--source/API/SBData.cpp15
-rw-r--r--source/API/SBDebugger.cpp16
-rw-r--r--source/API/SBDeclaration.cpp8
-rw-r--r--source/API/SBError.cpp4
-rw-r--r--source/API/SBEvent.cpp14
-rw-r--r--source/API/SBFileSpec.cpp7
-rw-r--r--source/API/SBFileSpecList.cpp7
-rw-r--r--source/API/SBFrame.cpp25
-rw-r--r--source/API/SBFunction.cpp2
-rw-r--r--source/API/SBHostOS.cpp4
-rw-r--r--source/API/SBInstruction.cpp4
-rw-r--r--source/API/SBInstructionList.cpp2
-rw-r--r--source/API/SBLineEntry.cpp5
-rw-r--r--source/API/SBListener.cpp6
-rw-r--r--source/API/SBMemoryRegionInfo.cpp2
-rw-r--r--source/API/SBMemoryRegionInfoList.cpp4
-rw-r--r--source/API/SBModule.cpp4
-rw-r--r--source/API/SBModuleSpec.cpp2
-rw-r--r--source/API/SBPlatform.cpp6
-rw-r--r--source/API/SBProcess.cpp4
-rw-r--r--source/API/SBQueue.cpp2
-rw-r--r--source/API/SBQueueItem.cpp2
-rw-r--r--source/API/SBSection.cpp13
-rw-r--r--source/API/SBSourceManager.cpp2
-rw-r--r--source/API/SBStream.cpp6
-rw-r--r--source/API/SBStringList.cpp2
-rw-r--r--source/API/SBStructuredData.cpp4
-rw-r--r--source/API/SBSymbol.cpp2
-rw-r--r--source/API/SBSymbolContext.cpp2
-rw-r--r--source/API/SBTarget.cpp50
-rw-r--r--source/API/SBThread.cpp6
-rw-r--r--source/API/SBThreadPlan.cpp3
-rw-r--r--source/API/SBType.cpp6
-rw-r--r--source/API/SBTypeEnumMember.cpp6
-rw-r--r--source/API/SBUnixSignals.cpp2
-rw-r--r--source/API/SBValue.cpp6
-rw-r--r--source/API/SBValueList.cpp2
-rw-r--r--source/API/SBWatchpoint.cpp28
-rw-r--r--source/API/SystemInitializerFull.cpp3
-rw-r--r--source/Breakpoint/Breakpoint.cpp7
-rw-r--r--source/Breakpoint/BreakpointID.cpp4
-rw-r--r--source/Breakpoint/BreakpointLocation.cpp4
-rw-r--r--source/Breakpoint/BreakpointOptions.cpp4
-rw-r--r--source/Breakpoint/BreakpointResolver.cpp6
-rw-r--r--source/Breakpoint/BreakpointResolverAddress.cpp4
-rw-r--r--source/Breakpoint/BreakpointResolverFileLine.cpp97
-rw-r--r--source/Breakpoint/BreakpointResolverFileRegex.cpp4
-rw-r--r--source/Breakpoint/BreakpointResolverName.cpp4
-rw-r--r--source/Breakpoint/BreakpointSite.cpp2
-rw-r--r--source/Breakpoint/BreakpointSiteList.cpp2
-rw-r--r--source/Breakpoint/CMakeLists.txt13
-rw-r--r--source/Breakpoint/Watchpoint.cpp2
-rw-r--r--source/Breakpoint/WatchpointOptions.cpp4
-rw-r--r--source/CMakeLists.txt21
-rw-r--r--source/Commands/CMakeLists.txt16
-rw-r--r--source/Commands/CommandCompletions.cpp305
-rw-r--r--source/Commands/CommandObjectArgs.cpp7
-rw-r--r--source/Commands/CommandObjectBreakpoint.cpp6
-rw-r--r--source/Commands/CommandObjectBreakpointCommand.cpp1
-rw-r--r--source/Commands/CommandObjectCommands.cpp3
-rw-r--r--source/Commands/CommandObjectDisassemble.cpp2
-rw-r--r--source/Commands/CommandObjectExpression.cpp2
-rw-r--r--source/Commands/CommandObjectFrame.cpp13
-rw-r--r--source/Commands/CommandObjectHelp.h1
-rw-r--r--source/Commands/CommandObjectLog.cpp80
-rw-r--r--source/Commands/CommandObjectMemory.cpp42
-rw-r--r--source/Commands/CommandObjectPlatform.cpp33
-rw-r--r--source/Commands/CommandObjectProcess.cpp3
-rw-r--r--source/Commands/CommandObjectRegister.cpp3
-rw-r--r--source/Commands/CommandObjectSettings.cpp1
-rw-r--r--source/Commands/CommandObjectSource.cpp4
-rw-r--r--source/Commands/CommandObjectTarget.cpp42
-rw-r--r--source/Commands/CommandObjectThread.cpp1
-rw-r--r--source/Commands/CommandObjectType.cpp14
-rw-r--r--source/Commands/CommandObjectWatchpoint.cpp4
-rw-r--r--source/Commands/CommandObjectWatchpointCommand.cpp1
-rw-r--r--source/Core/Address.cpp78
-rw-r--r--source/Core/AddressRange.cpp17
-rw-r--r--source/Core/AddressResolver.cpp13
-rw-r--r--source/Core/AddressResolverFileLine.cpp16
-rw-r--r--source/Core/AddressResolverName.cpp21
-rw-r--r--source/Core/ArchSpec.cpp43
-rw-r--r--source/Core/Baton.cpp22
-rw-r--r--source/Core/Broadcaster.cpp29
-rw-r--r--source/Core/CMakeLists.txt43
-rw-r--r--source/Core/Communication.cpp52
-rw-r--r--source/Core/Connection.cpp6
-rw-r--r--source/Core/DataBufferMemoryMap.cpp307
-rw-r--r--source/Core/Debugger.cpp165
-rw-r--r--source/Core/Disassembler.cpp61
-rw-r--r--source/Core/DumpDataExtractor.cpp824
-rw-r--r--source/Core/DynamicLoader.cpp28
-rw-r--r--source/Core/EmulateInstruction.cpp32
-rw-r--r--source/Core/Event.cpp27
-rw-r--r--source/Core/FileLineResolver.cpp11
-rw-r--r--source/Core/FileSpecList.cpp54
-rw-r--r--source/Core/FormatEntity.cpp65
-rw-r--r--source/Core/IOHandler.cpp41
-rw-r--r--source/Core/Listener.cpp23
-rw-r--r--source/Core/Log.cpp399
-rw-r--r--source/Core/Logging.cpp322
-rw-r--r--source/Core/Mangled.cpp76
-rw-r--r--source/Core/Module.cpp130
-rw-r--r--source/Core/ModuleList.cpp59
-rw-r--r--source/Core/Opcode.cpp20
-rw-r--r--source/Core/PluginManager.cpp151
-rw-r--r--source/Core/RegisterValue.cpp47
-rw-r--r--source/Core/Scalar.cpp23
-rw-r--r--source/Core/SearchFilter.cpp140
-rw-r--r--source/Core/Section.cpp106
-rw-r--r--source/Core/SourceManager.cpp43
-rw-r--r--source/Core/State.cpp6
-rw-r--r--source/Core/StreamAsynchronousIO.cpp2
-rw-r--r--source/Core/StreamCallback.cpp50
-rw-r--r--source/Core/StreamFile.cpp5
-rw-r--r--source/Core/StructuredData.cpp45
-rw-r--r--source/Core/Timer.cpp10
-rw-r--r--source/Core/UserSettingsController.cpp30
-rw-r--r--source/Core/Value.cpp27
-rw-r--r--source/Core/ValueObject.cpp74
-rw-r--r--source/Core/ValueObjectCast.cpp23
-rw-r--r--source/Core/ValueObjectChild.cpp21
-rw-r--r--source/Core/ValueObjectConstResult.cpp21
-rw-r--r--source/Core/ValueObjectConstResultCast.cpp13
-rw-r--r--source/Core/ValueObjectConstResultChild.cpp17
-rw-r--r--source/Core/ValueObjectConstResultImpl.cpp31
-rw-r--r--source/Core/ValueObjectDynamicValue.cpp29
-rw-r--r--source/Core/ValueObjectList.cpp14
-rw-r--r--source/Core/ValueObjectMemory.cpp27
-rw-r--r--source/Core/ValueObjectRegister.cpp23
-rw-r--r--source/Core/ValueObjectSyntheticFilter.cpp19
-rw-r--r--source/Core/ValueObjectVariable.cpp32
-rw-r--r--source/DataFormatters/CMakeLists.txt10
-rw-r--r--source/DataFormatters/CXXFunctionPointer.cpp2
-rw-r--r--source/DataFormatters/FormatManager.cpp58
-rw-r--r--source/DataFormatters/FormattersHelpers.cpp4
-rw-r--r--source/DataFormatters/StringPrinter.cpp2
-rw-r--r--source/DataFormatters/TypeCategoryMap.cpp2
-rw-r--r--source/DataFormatters/TypeFormat.cpp10
-rw-r--r--source/DataFormatters/TypeSummary.cpp2
-rw-r--r--source/DataFormatters/TypeSynthetic.cpp2
-rw-r--r--source/DataFormatters/TypeValidator.cpp2
-rw-r--r--source/DataFormatters/ValueObjectPrinter.cpp35
-rw-r--r--source/DataFormatters/VectorType.cpp10
-rw-r--r--source/Expression/CMakeLists.txt14
-rw-r--r--source/Expression/DWARFExpression.cpp10
-rw-r--r--source/Expression/DiagnosticManager.cpp4
-rw-r--r--source/Expression/ExpressionSourceCode.cpp2
-rw-r--r--source/Expression/ExpressionVariable.cpp2
-rw-r--r--source/Expression/FunctionCaller.cpp4
-rw-r--r--source/Expression/IRDynamicChecks.cpp4
-rw-r--r--source/Expression/IRExecutionUnit.cpp6
-rw-r--r--source/Expression/IRInterpreter.cpp12
-rw-r--r--source/Expression/IRMemoryMap.cpp8
-rw-r--r--source/Expression/LLVMUserExpression.cpp11
-rw-r--r--source/Expression/Materializer.cpp53
-rw-r--r--source/Expression/UserExpression.cpp6
-rw-r--r--source/Expression/UtilityFunction.cpp6
-rw-r--r--source/Host/CMakeLists.txt63
-rw-r--r--source/Host/common/Editline.cpp21
-rw-r--r--source/Host/common/File.cpp27
-rw-r--r--source/Host/common/FileSystem.cpp74
-rw-r--r--source/Host/common/Host.cpp156
-rw-r--r--source/Host/common/HostInfoBase.cpp92
-rw-r--r--source/Host/common/HostNativeThreadBase.cpp7
-rw-r--r--source/Host/common/MonitoringProcessLauncher.cpp17
-rw-r--r--source/Host/common/NativeBreakpoint.cpp4
-rw-r--r--source/Host/common/NativeBreakpointList.cpp2
-rw-r--r--source/Host/common/NativeProcessProtocol.cpp118
-rw-r--r--source/Host/common/NativeRegisterContext.cpp12
-rw-r--r--source/Host/common/NativeWatchpointList.cpp2
-rw-r--r--source/Host/common/PseudoTerminal.cpp (renamed from source/Utility/PseudoTerminal.cpp)5
-rw-r--r--source/Host/common/Socket.cpp26
-rw-r--r--source/Host/common/SocketAddress.cpp48
-rw-r--r--source/Host/common/SoftwareBreakpoint.cpp4
-rw-r--r--source/Host/common/Symbols.cpp21
-rw-r--r--source/Host/common/TCPSocket.cpp2
-rw-r--r--source/Host/common/ThisThread.cpp50
-rw-r--r--source/Host/common/ThreadLauncher.cpp3
-rw-r--r--source/Host/common/UDPSocket.cpp58
-rw-r--r--source/Host/freebsd/Host.cpp48
-rw-r--r--source/Host/freebsd/HostInfoFreeBSD.cpp3
-rw-r--r--source/Host/freebsd/HostThreadFreeBSD.cpp70
-rw-r--r--source/Host/freebsd/ThisThread.cpp35
-rw-r--r--source/Host/linux/Host.cpp405
-rw-r--r--source/Host/linux/HostInfoLinux.cpp14
-rw-r--r--source/Host/linux/HostThreadLinux.cpp45
-rw-r--r--source/Host/linux/ProcessLauncherLinux.cpp216
-rw-r--r--source/Host/linux/Support.cpp34
-rw-r--r--source/Host/linux/ThisThread.cpp25
-rw-r--r--source/Host/macosx/Host.mm53
-rw-r--r--source/Host/macosx/HostInfoMacOSX.mm7
-rw-r--r--source/Host/macosx/Symbols.cpp42
-rw-r--r--source/Host/macosx/ThisThread.cpp25
-rw-r--r--source/Host/netbsd/Host.cpp37
-rw-r--r--source/Host/netbsd/HostInfoNetBSD.cpp22
-rw-r--r--source/Host/netbsd/HostThreadNetBSD.cpp43
-rw-r--r--source/Host/netbsd/ThisThread.cpp26
-rw-r--r--source/Host/openbsd/Host.cpp225
-rw-r--r--source/Host/openbsd/HostInfoOpenBSD.cpp65
-rw-r--r--source/Host/posix/ConnectionFileDescriptorPosix.cpp21
-rw-r--r--source/Host/posix/DomainSocket.cpp4
-rw-r--r--source/Host/posix/FileSystem.cpp191
-rw-r--r--source/Host/posix/HostInfoPosix.cpp2
-rw-r--r--source/Host/posix/HostThreadPosix.cpp2
-rw-r--r--source/Host/posix/MainLoopPosix.cpp4
-rw-r--r--source/Host/posix/PipePosix.cpp3
-rw-r--r--source/Host/posix/ProcessLauncherPosixFork.cpp231
-rw-r--r--source/Host/windows/ConnectionGenericFileWindows.cpp5
-rw-r--r--source/Host/windows/FileSystem.cpp165
-rw-r--r--source/Host/windows/Host.cpp16
-rw-r--r--source/Host/windows/HostInfoWindows.cpp6
-rw-r--r--source/Host/windows/HostProcessWindows.cpp2
-rw-r--r--source/Host/windows/HostThreadWindows.cpp2
-rw-r--r--source/Host/windows/ThisThread.cpp63
-rw-r--r--source/Host/windows/Windows.cpp32
-rw-r--r--source/Initialization/CMakeLists.txt28
-rw-r--r--source/Initialization/SystemInitializerCommon.cpp13
-rw-r--r--source/Interpreter/Args.cpp23
-rw-r--r--source/Interpreter/CMakeLists.txt11
-rw-r--r--source/Interpreter/CommandAlias.cpp2
-rw-r--r--source/Interpreter/CommandHistory.cpp1
-rw-r--r--source/Interpreter/CommandInterpreter.cpp21
-rw-r--r--source/Interpreter/CommandObject.cpp8
-rw-r--r--source/Interpreter/CommandReturnObject.cpp4
-rw-r--r--source/Interpreter/OptionGroupArchitecture.cpp2
-rw-r--r--source/Interpreter/OptionGroupBoolean.cpp1
-rw-r--r--source/Interpreter/OptionGroupFile.cpp1
-rw-r--r--source/Interpreter/OptionGroupFormat.cpp40
-rw-r--r--source/Interpreter/OptionGroupOutputFile.cpp2
-rw-r--r--source/Interpreter/OptionGroupPlatform.cpp2
-rw-r--r--source/Interpreter/OptionGroupString.cpp1
-rw-r--r--source/Interpreter/OptionGroupUInt64.cpp1
-rw-r--r--source/Interpreter/OptionGroupUUID.cpp2
-rw-r--r--source/Interpreter/OptionGroupValueObjectDisplay.cpp3
-rw-r--r--source/Interpreter/OptionGroupVariable.cpp4
-rw-r--r--source/Interpreter/OptionGroupWatchpoint.cpp2
-rw-r--r--source/Interpreter/OptionValue.cpp2
-rw-r--r--source/Interpreter/OptionValueArray.cpp2
-rw-r--r--source/Interpreter/OptionValueBoolean.cpp4
-rw-r--r--source/Interpreter/OptionValueChar.cpp4
-rw-r--r--source/Interpreter/OptionValueEnumeration.cpp2
-rw-r--r--source/Interpreter/OptionValueFileSpec.cpp7
-rw-r--r--source/Interpreter/OptionValueFileSpecLIst.cpp2
-rw-r--r--source/Interpreter/OptionValueFormat.cpp2
-rw-r--r--source/Interpreter/OptionValueFormatEntity.cpp4
-rw-r--r--source/Interpreter/OptionValueLanguage.cpp2
-rw-r--r--source/Interpreter/OptionValuePathMappings.cpp4
-rw-r--r--source/Interpreter/OptionValueProperties.cpp7
-rw-r--r--source/Interpreter/OptionValueRegex.cpp2
-rw-r--r--source/Interpreter/OptionValueSInt64.cpp2
-rw-r--r--source/Interpreter/OptionValueString.cpp3
-rw-r--r--source/Interpreter/OptionValueUInt64.cpp2
-rw-r--r--source/Interpreter/OptionValueUUID.cpp4
-rw-r--r--source/Interpreter/Options.cpp3
-rw-r--r--source/Interpreter/ScriptInterpreter.cpp8
-rw-r--r--source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp4
-rw-r--r--source/Plugins/ABI/MacOSX-arm/CMakeLists.txt10
-rw-r--r--source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp6
-rw-r--r--source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h2
-rw-r--r--source/Plugins/ABI/MacOSX-arm64/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp4
-rw-r--r--source/Plugins/ABI/MacOSX-i386/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp4
-rw-r--r--source/Plugins/ABI/SysV-arm/CMakeLists.txt10
-rw-r--r--source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp8
-rw-r--r--source/Plugins/ABI/SysV-arm64/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp8
-rw-r--r--source/Plugins/ABI/SysV-hexagon/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp8
-rw-r--r--source/Plugins/ABI/SysV-i386/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp8
-rw-r--r--source/Plugins/ABI/SysV-mips/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp8
-rw-r--r--source/Plugins/ABI/SysV-mips64/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp8
-rw-r--r--source/Plugins/ABI/SysV-ppc/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp8
-rw-r--r--source/Plugins/ABI/SysV-ppc64/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp8
-rw-r--r--source/Plugins/ABI/SysV-s390x/CMakeLists.txt9
-rw-r--r--source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp8
-rw-r--r--source/Plugins/ABI/SysV-x86_64/CMakeLists.txt9
-rw-r--r--source/Plugins/Disassembler/llvm/CMakeLists.txt13
-rw-r--r--source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp8
-rw-r--r--source/Plugins/DynamicLoader/Darwin-Kernel/CMakeLists.txt12
-rw-r--r--source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp13
-rw-r--r--source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h4
-rw-r--r--source/Plugins/DynamicLoader/Hexagon-DYLD/CMakeLists.txt8
-rw-r--r--source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp2
-rw-r--r--source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp4
-rw-r--r--source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt13
-rw-r--r--source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp10
-rw-r--r--source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h4
-rw-r--r--source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp8
-rw-r--r--source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.h4
-rw-r--r--source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp6
-rw-r--r--source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h4
-rw-r--r--source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp6
-rw-r--r--source/Plugins/DynamicLoader/POSIX-DYLD/CMakeLists.txt12
-rw-r--r--source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp9
-rw-r--r--source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h2
-rw-r--r--source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp7
-rw-r--r--source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h3
-rw-r--r--source/Plugins/DynamicLoader/Static/CMakeLists.txt9
-rw-r--r--source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h4
-rw-r--r--source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt8
-rw-r--r--source/Plugins/ExpressionParser/Clang/ASTDumper.cpp2
-rw-r--r--source/Plugins/ExpressionParser/Clang/ASTDumper.h2
-rw-r--r--source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp2
-rw-r--r--source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp2
-rw-r--r--source/Plugins/ExpressionParser/Clang/CMakeLists.txt28
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp3
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp6
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp27
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h2
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp6
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h2
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp4
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp14
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp6
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp8
-rw-r--r--source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp6
-rw-r--r--source/Plugins/ExpressionParser/Clang/IRForTarget.cpp26
-rw-r--r--source/Plugins/ExpressionParser/Clang/IRForTarget.h8
-rw-r--r--source/Plugins/ExpressionParser/Go/CMakeLists.txt10
-rw-r--r--source/Plugins/ExpressionParser/Go/GoParser.cpp2
-rw-r--r--source/Plugins/ExpressionParser/Go/GoUserExpression.cpp12
-rw-r--r--source/Plugins/Instruction/ARM/CMakeLists.txt12
-rw-r--r--source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp561
-rw-r--r--source/Plugins/Instruction/ARM/EmulateInstructionARM.h4
-rw-r--r--source/Plugins/Instruction/ARM/EmulationStateARM.cpp13
-rw-r--r--source/Plugins/Instruction/ARM64/CMakeLists.txt10
-rw-r--r--source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp5
-rw-r--r--source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h2
-rw-r--r--source/Plugins/Instruction/MIPS/CMakeLists.txt17
-rw-r--r--source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp10
-rw-r--r--source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h2
-rw-r--r--source/Plugins/Instruction/MIPS64/CMakeLists.txt17
-rw-r--r--source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp10
-rw-r--r--source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h2
-rw-r--r--source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.cpp4
-rw-r--r--source/Plugins/InstrumentationRuntime/AddressSanitizer/CMakeLists.txt12
-rw-r--r--source/Plugins/InstrumentationRuntime/ThreadSanitizer/CMakeLists.txt11
-rw-r--r--source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.cpp90
-rw-r--r--source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.h3
-rw-r--r--source/Plugins/JITLoader/GDB/CMakeLists.txt12
-rw-r--r--source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp8
-rw-r--r--source/Plugins/Language/CPlusPlus/CMakeLists.txt13
-rw-r--r--source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp224
-rw-r--r--source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h21
-rw-r--r--source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp630
-rw-r--r--source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h179
-rw-r--r--source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp10
-rw-r--r--source/Plugins/Language/CPlusPlus/CxxStringTypes.h2
-rw-r--r--source/Plugins/Language/CPlusPlus/LibCxx.cpp159
-rw-r--r--source/Plugins/Language/CPlusPlus/LibCxx.h26
-rw-r--r--source/Plugins/Language/CPlusPlus/LibCxxAtomic.h2
-rw-r--r--source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp2
-rw-r--r--source/Plugins/Language/CPlusPlus/LibCxxList.cpp8
-rw-r--r--source/Plugins/Language/CPlusPlus/LibCxxMap.cpp13
-rw-r--r--source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp8
-rw-r--r--source/Plugins/Language/CPlusPlus/LibCxxVector.cpp146
-rw-r--r--source/Plugins/Language/CPlusPlus/LibStdcpp.cpp8
-rw-r--r--source/Plugins/Language/CPlusPlus/LibStdcpp.h2
-rw-r--r--source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp6
-rw-r--r--source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp31
-rw-r--r--source/Plugins/Language/Go/CMakeLists.txt11
-rw-r--r--source/Plugins/Language/Go/GoFormatterFunctions.h2
-rw-r--r--source/Plugins/Language/Go/GoLanguage.cpp11
-rw-r--r--source/Plugins/Language/Go/GoLanguage.h2
-rw-r--r--source/Plugins/Language/Java/CMakeLists.txt10
-rw-r--r--source/Plugins/Language/Java/JavaLanguage.cpp7
-rw-r--r--source/Plugins/Language/Java/JavaLanguage.h2
-rw-r--r--source/Plugins/Language/OCaml/CMakeLists.txt10
-rw-r--r--source/Plugins/Language/OCaml/OCamlLanguage.cpp2
-rw-r--r--source/Plugins/Language/OCaml/OCamlLanguage.h2
-rw-r--r--source/Plugins/Language/ObjC/CF.cpp8
-rw-r--r--source/Plugins/Language/ObjC/CF.h2
-rw-r--r--source/Plugins/Language/ObjC/CMakeLists.txt13
-rw-r--r--source/Plugins/Language/ObjC/Cocoa.cpp11
-rw-r--r--source/Plugins/Language/ObjC/Cocoa.h2
-rw-r--r--source/Plugins/Language/ObjC/CoreMedia.cpp3
-rw-r--r--source/Plugins/Language/ObjC/CoreMedia.h2
-rw-r--r--source/Plugins/Language/ObjC/NSArray.cpp8
-rw-r--r--source/Plugins/Language/ObjC/NSDictionary.cpp8
-rw-r--r--source/Plugins/Language/ObjC/NSDictionary.h4
-rw-r--r--source/Plugins/Language/ObjC/NSError.cpp11
-rw-r--r--source/Plugins/Language/ObjC/NSException.cpp11
-rw-r--r--source/Plugins/Language/ObjC/NSSet.cpp8
-rw-r--r--source/Plugins/Language/ObjC/NSSet.h4
-rw-r--r--source/Plugins/Language/ObjC/NSString.cpp10
-rw-r--r--source/Plugins/Language/ObjC/NSString.h2
-rw-r--r--source/Plugins/Language/ObjC/ObjCLanguage.cpp10
-rw-r--r--source/Plugins/Language/ObjC/ObjCLanguage.h2
-rw-r--r--source/Plugins/Language/ObjCPlusPlus/CMakeLists.txt6
-rw-r--r--source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.cpp2
-rw-r--r--source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/CMakeLists.txt9
-rw-r--r--source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp6
-rw-r--r--source/Plugins/LanguageRuntime/Go/CMakeLists.txt10
-rw-r--r--source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.cpp6
-rw-r--r--source/Plugins/LanguageRuntime/Java/CMakeLists.txt9
-rw-r--r--source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp39
-rw-r--r--source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp2
-rw-r--r--source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp8
-rw-r--r--source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp13
-rw-r--r--source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp36
-rw-r--r--source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp6
-rw-r--r--source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp2
-rw-r--r--source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt16
-rw-r--r--source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/CMakeLists.txt18
-rw-r--r--source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp2
-rw-r--r--source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp26
-rw-r--r--source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.cpp7
-rw-r--r--source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp19
-rw-r--r--source/Plugins/MemoryHistory/asan/CMakeLists.txt8
-rw-r--r--source/Plugins/ObjectContainer/BSD-Archive/CMakeLists.txt9
-rw-r--r--source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp200
-rw-r--r--source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h6
-rw-r--r--source/Plugins/ObjectContainer/Universal-Mach-O/CMakeLists.txt9
-rw-r--r--source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp4
-rw-r--r--source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h2
-rw-r--r--source/Plugins/ObjectFile/ELF/CMakeLists.txt10
-rw-r--r--source/Plugins/ObjectFile/ELF/ELFHeader.cpp47
-rw-r--r--source/Plugins/ObjectFile/ELF/ELFHeader.h32
-rw-r--r--source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp179
-rw-r--r--source/Plugins/ObjectFile/ELF/ObjectFileELF.h4
-rw-r--r--source/Plugins/ObjectFile/JIT/CMakeLists.txt10
-rw-r--r--source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp12
-rw-r--r--source/Plugins/ObjectFile/Mach-O/CMakeLists.txt12
-rw-r--r--source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp268
-rw-r--r--source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h7
-rw-r--r--source/Plugins/ObjectFile/PECOFF/CMakeLists.txt10
-rw-r--r--source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp47
-rw-r--r--source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp2
-rw-r--r--source/Plugins/OperatingSystem/Go/CMakeLists.txt9
-rw-r--r--source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp6
-rw-r--r--source/Plugins/OperatingSystem/Python/CMakeLists.txt9
-rw-r--r--source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp4
-rw-r--r--source/Plugins/Platform/Android/AdbClient.cpp28
-rw-r--r--source/Plugins/Platform/Android/AdbClient.h2
-rw-r--r--source/Plugins/Platform/Android/CMakeLists.txt10
-rw-r--r--source/Plugins/Platform/Android/PlatformAndroid.cpp9
-rw-r--r--source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp6
-rw-r--r--source/Plugins/Platform/CMakeLists.txt2
-rw-r--r--source/Plugins/Platform/FreeBSD/CMakeLists.txt8
-rw-r--r--source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp441
-rw-r--r--source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h93
-rw-r--r--source/Plugins/Platform/Kalimba/CMakeLists.txt7
-rw-r--r--source/Plugins/Platform/Kalimba/PlatformKalimba.cpp116
-rw-r--r--source/Plugins/Platform/Kalimba/PlatformKalimba.h9
-rw-r--r--source/Plugins/Platform/Linux/CMakeLists.txt10
-rw-r--r--source/Plugins/Platform/Linux/PlatformLinux.cpp358
-rw-r--r--source/Plugins/Platform/Linux/PlatformLinux.h20
-rw-r--r--source/Plugins/Platform/MacOSX/CMakeLists.txt17
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp11
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h2
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformAppleTVSimulator.cpp14
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformAppleWatchSimulator.cpp12
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformDarwin.cpp215
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformDarwin.h16
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp49
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h21
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp14
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.cpp44
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformRemoteAppleTV.h6
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.cpp44
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h6
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp57
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h6
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformiOSSimulator.cpp14
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformiOSSimulatorCoreSimulatorSupport.h4
-rw-r--r--source/Plugins/Platform/MacOSX/PlatformiOSSimulatorCoreSimulatorSupport.mm2
-rw-r--r--source/Plugins/Platform/NetBSD/CMakeLists.txt8
-rw-r--r--source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp667
-rw-r--r--source/Plugins/Platform/NetBSD/PlatformNetBSD.h100
-rw-r--r--source/Plugins/Platform/OpenBSD/CMakeLists.txt9
-rw-r--r--source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp223
-rw-r--r--source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h66
-rw-r--r--source/Plugins/Platform/POSIX/CMakeLists.txt9
-rw-r--r--source/Plugins/Platform/POSIX/PlatformPOSIX.cpp199
-rw-r--r--source/Plugins/Platform/POSIX/PlatformPOSIX.h14
-rw-r--r--source/Plugins/Platform/Windows/CMakeLists.txt8
-rw-r--r--source/Plugins/Platform/Windows/PlatformWindows.cpp2
-rw-r--r--source/Plugins/Platform/gdb-server/CMakeLists.txt9
-rw-r--r--source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp12
-rw-r--r--source/Plugins/Process/CMakeLists.txt5
-rw-r--r--source/Plugins/Process/Darwin/DarwinProcessLauncher.cpp8
-rw-r--r--source/Plugins/Process/Darwin/MachException.cpp6
-rw-r--r--source/Plugins/Process/Darwin/NativeProcessDarwin.cpp10
-rw-r--r--source/Plugins/Process/Darwin/NativeProcessDarwin.h2
-rw-r--r--source/Plugins/Process/Darwin/NativeThreadDarwin.cpp2
-rw-r--r--source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp6
-rw-r--r--source/Plugins/Process/FreeBSD/CMakeLists.txt14
-rw-r--r--source/Plugins/Process/FreeBSD/FreeBSDThread.cpp56
-rw-r--r--source/Plugins/Process/FreeBSD/POSIXStopInfo.h10
-rw-r--r--source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp266
-rw-r--r--source/Plugins/Process/FreeBSD/ProcessFreeBSD.h32
-rw-r--r--source/Plugins/Process/FreeBSD/ProcessMonitor.cpp24
-rw-r--r--source/Plugins/Process/FreeBSD/ProcessMonitor.h2
-rw-r--r--source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm.cpp2
-rw-r--r--source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp2
-rw-r--r--source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.cpp2
-rw-r--r--source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.h3
-rw-r--r--source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_powerpc.cpp2
-rw-r--r--source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_x86.cpp2
-rw-r--r--source/Plugins/Process/Linux/CMakeLists.txt14
-rw-r--r--source/Plugins/Process/Linux/NativeProcessLinux.cpp1061
-rw-r--r--source/Plugins/Process/Linux/NativeProcessLinux.h10
-rw-r--r--source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp10
-rw-r--r--source/Plugins/Process/Linux/NativeRegisterContextLinux.h2
-rw-r--r--source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp270
-rw-r--r--source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h7
-rw-r--r--source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp239
-rw-r--r--source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h7
-rw-r--r--source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp260
-rw-r--r--source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp6
-rwxr-xr-xsource/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp6
-rw-r--r--source/Plugins/Process/Linux/NativeThreadLinux.cpp121
-rw-r--r--source/Plugins/Process/Linux/NativeThreadLinux.h14
-rw-r--r--source/Plugins/Process/Linux/ProcFileReader.cpp103
-rw-r--r--source/Plugins/Process/Linux/ProcFileReader.h37
-rw-r--r--source/Plugins/Process/Linux/SingleStepCheck.cpp130
-rw-r--r--source/Plugins/Process/Linux/SingleStepCheck.h51
-rw-r--r--source/Plugins/Process/MacOSX-Kernel/CMakeLists.txt14
-rw-r--r--source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp199
-rw-r--r--source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp17
-rw-r--r--source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h8
-rw-r--r--source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp201
-rw-r--r--source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.h28
-rw-r--r--source/Plugins/Process/MacOSX-Kernel/ThreadKDP.cpp14
-rw-r--r--source/Plugins/Process/NetBSD/CMakeLists.txt21
-rw-r--r--source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp1018
-rw-r--r--source/Plugins/Process/NetBSD/NativeProcessNetBSD.h141
-rw-r--r--source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.cpp92
-rw-r--r--source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD.h65
-rw-r--r--source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp483
-rw-r--r--source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h72
-rw-r--r--source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp159
-rw-r--r--source/Plugins/Process/NetBSD/NativeThreadNetBSD.h73
-rw-r--r--source/Plugins/Process/POSIX/CMakeLists.txt8
-rw-r--r--source/Plugins/Process/POSIX/CrashReason.cpp6
-rw-r--r--source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp193
-rw-r--r--source/Plugins/Process/POSIX/ProcessPOSIXLog.h78
-rw-r--r--source/Plugins/Process/Utility/CMakeLists.txt21
-rw-r--r--source/Plugins/Process/Utility/DynamicRegisterInfo.cpp3
-rw-r--r--source/Plugins/Process/Utility/DynamicRegisterInfo.h2
-rw-r--r--source/Plugins/Process/Utility/HistoryThread.cpp2
-rw-r--r--source/Plugins/Process/Utility/HistoryThread.h2
-rw-r--r--source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.cpp (renamed from source/Host/common/NativeRegisterContextRegisterInfo.cpp)2
-rw-r--r--source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h (renamed from include/lldb/Host/common/NativeRegisterContextRegisterInfo.h)11
-rw-r--r--source/Plugins/Process/Utility/NetBSDSignals.cpp34
-rw-r--r--source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp8
-rw-r--r--source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp8
-rw-r--r--source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp8
-rw-r--r--source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp8
-rw-r--r--source/Plugins/Process/Utility/RegisterContextDummy.cpp4
-rw-r--r--source/Plugins/Process/Utility/RegisterContextFreeBSD_arm.cpp97
-rw-r--r--source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp35
-rw-r--r--source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h4
-rw-r--r--source/Plugins/Process/Utility/RegisterContextHistory.cpp4
-rw-r--r--source/Plugins/Process/Utility/RegisterContextLLDB.cpp28
-rw-r--r--source/Plugins/Process/Utility/RegisterContextLLDB.h2
-rw-r--r--source/Plugins/Process/Utility/RegisterContextLinux_arm.h62
-rw-r--r--source/Plugins/Process/Utility/RegisterContextLinux_mips.cpp86
-rw-r--r--source/Plugins/Process/Utility/RegisterContextLinux_mips.h4
-rw-r--r--source/Plugins/Process/Utility/RegisterContextLinux_mips64.cpp97
-rw-r--r--source/Plugins/Process/Utility/RegisterContextLinux_mips64.h7
-rw-r--r--source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp6
-rw-r--r--source/Plugins/Process/Utility/RegisterContextMemory.cpp4
-rw-r--r--source/Plugins/Process/Utility/RegisterContextMemory.h2
-rw-r--r--source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.cpp285
-rw-r--r--source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.cpp80
-rw-r--r--source/Plugins/Process/Utility/RegisterContextOpenBSD_i386.h26
-rw-r--r--source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.cpp107
-rw-r--r--source/Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.h31
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp6
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h2
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp6
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h2
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp111
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h15
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp6
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h2
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.cpp6
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h2
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp8
-rw-r--r--source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h2
-rw-r--r--source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp2
-rw-r--r--source/Plugins/Process/Utility/RegisterInfoInterface.h1
-rw-r--r--source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp (renamed from source/Plugins/Process/Utility/RegisterContextLinux_arm.cpp)38
-rw-r--r--source/Plugins/Process/Utility/RegisterInfoPOSIX_arm.h (renamed from source/Plugins/Process/Utility/RegisterContextFreeBSD_arm.h)12
-rw-r--r--source/Plugins/Process/Utility/StopInfoMachException.cpp2
-rw-r--r--source/Plugins/Process/Utility/UnwindLLDB.cpp2
-rw-r--r--source/Plugins/Process/Utility/UnwindLLDB.h2
-rw-r--r--source/Plugins/Process/Windows/Common/CMakeLists.txt13
-rw-r--r--source/Plugins/Process/Windows/Common/DebuggerThread.cpp195
-rw-r--r--source/Plugins/Process/Windows/Common/ProcessWindows.cpp337
-rw-r--r--source/Plugins/Process/Windows/Common/ProcessWindows.h2
-rw-r--r--source/Plugins/Process/Windows/Common/ProcessWindowsLog.cpp153
-rw-r--r--source/Plugins/Process/Windows/Common/ProcessWindowsLog.h65
-rw-r--r--source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp14
-rw-r--r--source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp4
-rw-r--r--source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp2
-rw-r--r--source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp48
-rw-r--r--source/Plugins/Process/elf-core/CMakeLists.txt11
-rw-r--r--source/Plugins/Process/elf-core/ProcessElfCore.cpp102
-rw-r--r--source/Plugins/Process/elf-core/ProcessElfCore.h4
-rw-r--r--source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.h4
-rw-r--r--source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h4
-rw-r--r--source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp22
-rw-r--r--source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h6
-rw-r--r--source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp2
-rw-r--r--source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.h2
-rw-r--r--source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp2
-rw-r--r--source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.h2
-rw-r--r--source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp2
-rw-r--r--source/Plugins/Process/elf-core/ThreadElfCore.cpp131
-rw-r--r--source/Plugins/Process/elf-core/ThreadElfCore.h41
-rw-r--r--source/Plugins/Process/gdb-remote/CMakeLists.txt28
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp55
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp133
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h6
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp66
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp180
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h4
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp34
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp7
-rw-r--r--source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h4
-rw-r--r--source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp153
-rw-r--r--source/Plugins/Process/gdb-remote/ProcessGDBRemote.h12
-rw-r--r--source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp221
-rw-r--r--source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h19
-rw-r--r--source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp18
-rw-r--r--source/Plugins/Process/mach-core/CMakeLists.txt15
-rw-r--r--source/Plugins/Process/mach-core/ProcessMachCore.cpp69
-rw-r--r--source/Plugins/Process/mach-core/ProcessMachCore.h4
-rw-r--r--source/Plugins/Process/mach-core/ThreadMachCore.cpp4
-rw-r--r--source/Plugins/Process/minidump/CMakeLists.txt11
-rw-r--r--source/Plugins/Process/minidump/MinidumpParser.h4
-rw-r--r--source/Plugins/Process/minidump/MinidumpTypes.h2
-rw-r--r--source/Plugins/Process/minidump/ProcessMinidump.cpp32
-rw-r--r--source/Plugins/Process/minidump/ProcessMinidump.h4
-rw-r--r--source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.cpp2
-rw-r--r--source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.cpp2
-rw-r--r--source/Plugins/Process/minidump/ThreadMinidump.cpp4
-rw-r--r--source/Plugins/ScriptInterpreter/None/CMakeLists.txt6
-rw-r--r--source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp10
-rw-r--r--source/Plugins/ScriptInterpreter/Python/CMakeLists.txt12
-rw-r--r--source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp2
-rw-r--r--source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h5
-rw-r--r--source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp53
-rw-r--r--source/Plugins/StructuredData/DarwinLog/CMakeLists.txt11
-rw-r--r--source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp9
-rw-r--r--source/Plugins/SymbolFile/DWARF/CMakeLists.txt18
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp4
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFASTParserOCaml.cpp4
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp22
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDIECollection.cpp2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h4
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp4
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp8
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp47
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp4
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h3
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp10
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp2
-rw-r--r--source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp19
-rw-r--r--source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h2
-rw-r--r--source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp212
-rw-r--r--source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h47
-rw-r--r--source/Plugins/SymbolFile/DWARF/NameToDIE.cpp8
-rw-r--r--source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp22
-rw-r--r--source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h8
-rw-r--r--source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp2
-rw-r--r--source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h1
-rw-r--r--source/Plugins/SymbolFile/PDB/CMakeLists.txt15
-rw-r--r--source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp118
-rw-r--r--source/Plugins/SymbolFile/PDB/SymbolFilePDB.h2
-rw-r--r--source/Plugins/SymbolFile/Symtab/CMakeLists.txt6
-rw-r--r--source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp3
-rw-r--r--source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h1
-rw-r--r--source/Plugins/SymbolVendor/ELF/CMakeLists.txt7
-rw-r--r--source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp2
-rw-r--r--source/Plugins/SymbolVendor/MacOSX/CMakeLists.txt7
-rw-r--r--source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp2
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/AppleGetItemInfoHandler.cpp6
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/AppleGetItemInfoHandler.h2
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/AppleGetPendingItemsHandler.cpp6
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/AppleGetPendingItemsHandler.h2
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp6
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.h2
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp6
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.h2
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/CMakeLists.txt12
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp12
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.h6
-rw-r--r--source/Plugins/UnwindAssembly/InstEmulation/CMakeLists.txt7
-rw-r--r--source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp14
-rw-r--r--source/Plugins/UnwindAssembly/x86/CMakeLists.txt12
-rw-r--r--source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp4
-rw-r--r--source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp9
-rw-r--r--source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.h2
-rw-r--r--source/Symbol/ArmUnwindInfo.cpp2
-rw-r--r--source/Symbol/Block.cpp2
-rw-r--r--source/Symbol/CMakeLists.txt20
-rw-r--r--source/Symbol/ClangASTContext.cpp56
-rw-r--r--source/Symbol/ClangASTImporter.cpp2
-rw-r--r--source/Symbol/ClangExternalASTSourceCallbacks.cpp89
-rw-r--r--source/Symbol/ClangExternalASTSourceCommon.cpp2
-rw-r--r--source/Symbol/CompactUnwindInfo.cpp6
-rw-r--r--source/Symbol/CompilerType.cpp17
-rw-r--r--source/Symbol/DWARFCallFrameInfo.cpp160
-rw-r--r--source/Symbol/Declaration.cpp4
-rw-r--r--source/Symbol/FuncUnwinders.cpp20
-rw-r--r--source/Symbol/Function.cpp15
-rw-r--r--source/Symbol/GoASTContext.cpp14
-rw-r--r--source/Symbol/JavaASTContext.cpp12
-rw-r--r--source/Symbol/LineTable.cpp11
-rw-r--r--source/Symbol/OCamlASTContext.cpp9
-rw-r--r--source/Symbol/ObjectFile.cpp58
-rw-r--r--source/Symbol/Symbol.cpp2
-rw-r--r--source/Symbol/SymbolContext.cpp2
-rw-r--r--source/Symbol/SymbolFile.cpp4
-rw-r--r--source/Symbol/SymbolVendor.cpp2
-rw-r--r--source/Symbol/Symtab.cpp10
-rw-r--r--source/Symbol/Type.cpp6
-rw-r--r--source/Symbol/UnwindPlan.cpp4
-rw-r--r--source/Symbol/Variable.cpp4
-rw-r--r--source/Symbol/VariableList.cpp2
-rw-r--r--source/Target/CMakeLists.txt17
-rw-r--r--source/Target/FileAction.cpp2
-rw-r--r--source/Target/InstrumentationRuntime.cpp2
-rw-r--r--source/Target/Language.cpp12
-rw-r--r--source/Target/LanguageRuntime.cpp1
-rw-r--r--source/Target/Memory.cpp182
-rw-r--r--source/Target/ModuleCache.cpp (renamed from source/Utility/ModuleCache.cpp)37
-rw-r--r--source/Target/ObjCLanguageRuntime.cpp2
-rw-r--r--source/Target/PathMappingList.cpp6
-rw-r--r--source/Target/Platform.cpp116
-rw-r--r--source/Target/Process.cpp123
-rw-r--r--source/Target/ProcessInfo.cpp2
-rw-r--r--source/Target/ProcessLaunchInfo.cpp10
-rw-r--r--source/Target/RegisterContext.cpp4
-rw-r--r--source/Target/RegisterNumber.cpp (renamed from source/Utility/RegisterNumber.cpp)2
-rw-r--r--source/Target/SectionLoadHistory.cpp2
-rw-r--r--source/Target/SectionLoadList.cpp30
-rw-r--r--source/Target/StackFrame.cpp67
-rw-r--r--source/Target/StackFrameList.cpp2
-rw-r--r--source/Target/StackID.cpp2
-rw-r--r--source/Target/StopInfo.cpp22
-rw-r--r--source/Target/Target.cpp10
-rw-r--r--source/Target/TargetList.cpp33
-rw-r--r--source/Target/Thread.cpp73
-rw-r--r--source/Target/ThreadList.cpp15
-rw-r--r--source/Target/ThreadPlan.cpp12
-rw-r--r--source/Target/ThreadPlanBase.cpp4
-rw-r--r--source/Target/ThreadPlanCallFunction.cpp9
-rw-r--r--source/Target/ThreadPlanCallFunctionUsingABI.cpp4
-rw-r--r--source/Target/ThreadPlanCallUserExpression.cpp4
-rw-r--r--source/Target/ThreadPlanPython.cpp2
-rw-r--r--source/Target/ThreadPlanRunToAddress.cpp4
-rw-r--r--source/Target/ThreadPlanShouldStopHere.cpp6
-rw-r--r--source/Target/ThreadPlanStepInRange.cpp6
-rw-r--r--source/Target/ThreadPlanStepInstruction.cpp13
-rw-r--r--source/Target/ThreadPlanStepOut.cpp2
-rw-r--r--source/Target/ThreadPlanStepOverBreakpoint.cpp4
-rw-r--r--source/Target/ThreadPlanStepOverRange.cpp4
-rw-r--r--source/Target/ThreadPlanStepRange.cpp14
-rw-r--r--source/Target/ThreadPlanStepThrough.cpp4
-rw-r--r--source/Target/ThreadPlanStepUntil.cpp4
-rw-r--r--source/Target/ThreadPlanTracer.cpp6
-rw-r--r--source/Target/UnixSignals.cpp39
-rw-r--r--source/Utility/ARM64_DWARF_Registers.cpp212
-rw-r--r--source/Utility/ARM64_DWARF_Registers.h4
-rw-r--r--source/Utility/ARM_DWARF_Registers.cpp925
-rw-r--r--source/Utility/ARM_DWARF_Registers.h5
-rw-r--r--source/Utility/Baton.cpp (renamed from tools/debugserver/source/MacOSX/HasAVX.h)22
-rw-r--r--source/Utility/CMakeLists.txt35
-rw-r--r--source/Utility/ConstString.cpp (renamed from source/Core/ConstString.cpp)31
-rw-r--r--source/Utility/ConvertEnum.cpp118
-rw-r--r--source/Utility/DataBufferHeap.cpp (renamed from source/Core/DataBufferHeap.cpp)2
-rw-r--r--source/Utility/DataBufferLLVM.cpp70
-rw-r--r--source/Utility/DataEncoder.cpp (renamed from source/Core/DataEncoder.cpp)17
-rw-r--r--source/Utility/DataExtractor.cpp (renamed from source/Core/DataExtractor.cpp)948
-rw-r--r--source/Utility/Error.cpp (renamed from source/Core/Error.cpp)130
-rw-r--r--source/Utility/FastDemangle.cpp (renamed from source/Core/FastDemangle.cpp)11
-rw-r--r--source/Utility/FileSpec.cpp (renamed from source/Host/common/FileSpec.cpp)729
-rw-r--r--source/Utility/History.cpp (renamed from source/Core/History.cpp)4
-rw-r--r--source/Utility/JSON.cpp26
-rw-r--r--source/Utility/LLDBAssert.cpp3
-rw-r--r--source/Utility/Log.cpp323
-rw-r--r--source/Utility/Logging.cpp74
-rw-r--r--source/Utility/NameMatches.cpp27
-rw-r--r--source/Utility/Range.cpp6
-rw-r--r--source/Utility/RegularExpression.cpp (renamed from source/Core/RegularExpression.cpp)22
-rw-r--r--source/Utility/SelectHelper.cpp23
-rw-r--r--source/Utility/Stream.cpp (renamed from source/Core/Stream.cpp)132
-rw-r--r--source/Utility/StreamCallback.cpp23
-rw-r--r--source/Utility/StreamGDBRemote.cpp (renamed from source/Core/StreamGDBRemote.cpp)6
-rw-r--r--source/Utility/StreamString.cpp (renamed from source/Core/StreamString.cpp)3
-rw-r--r--source/Utility/StringExtractor.cpp10
-rw-r--r--source/Utility/StringExtractorGDBRemote.cpp13
-rw-r--r--source/Utility/StringExtractorGDBRemote.h12
-rw-r--r--source/Utility/StringLexer.cpp3
-rw-r--r--source/Utility/StringList.cpp (renamed from source/Core/StringList.cpp)23
-rw-r--r--source/Utility/TaskPool.cpp4
-rw-r--r--source/Utility/TildeExpressionResolver.cpp95
-rw-r--r--source/Utility/UUID.cpp (renamed from source/Core/UUID.cpp)15
-rw-r--r--source/Utility/UriParser.cpp12
-rw-r--r--source/Utility/UserID.cpp (renamed from source/Core/UserID.cpp)4
-rw-r--r--source/Utility/VASprintf.cpp56
-rw-r--r--source/Utility/VMRange.cpp (renamed from source/Core/VMRange.cpp)12
-rw-r--r--test/CMakeLists.txt19
-rw-r--r--tools/CMakeLists.txt1
-rw-r--r--tools/argdumper/CMakeLists.txt11
-rw-r--r--tools/argdumper/argdumper.cpp2
-rw-r--r--tools/debugserver/debugserver.xcodeproj/project.pbxproj36
-rw-r--r--tools/debugserver/source/CMakeLists.txt90
-rw-r--r--tools/debugserver/source/MacOSX/CMakeLists.txt72
-rw-r--r--tools/debugserver/source/MacOSX/DarwinLog/DarwinLogCollector.cpp3
-rw-r--r--tools/debugserver/source/MacOSX/HasAVX.s50
-rw-r--r--tools/debugserver/source/MacOSX/MachProcess.mm31
-rw-r--r--tools/debugserver/source/MacOSX/MachThread.cpp2
-rw-r--r--tools/debugserver/source/MacOSX/OsLogger.cpp4
-rw-r--r--tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp1068
-rw-r--r--tools/debugserver/source/MacOSX/i386/DNBArchImplI386.h1
-rw-r--r--tools/debugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp954
-rw-r--r--tools/debugserver/source/MacOSX/x86_64/MachRegisterStatesX86_64.h4
-rw-r--r--tools/debugserver/source/RNBRemote.cpp7
-rw-r--r--tools/driver/CMakeLists.txt31
-rw-r--r--tools/driver/Driver.h2
-rw-r--r--tools/driver/Platform.h1
-rw-r--r--tools/intel-mpx/CMakeLists.txt15
-rw-r--r--tools/intel-mpx/IntelMPXTablePlugin.cpp427
-rw-r--r--tools/intel-mpx/test/Makefile7
-rw-r--r--tools/intel-mpx/test/README.txt6
-rw-r--r--tools/intel-mpx/test/TestMPXTable.py168
-rw-r--r--tools/intel-mpx/test/main.cpp48
-rw-r--r--tools/lldb-mi/CMakeLists.txt39
-rw-r--r--tools/lldb-mi/MICmdCmdStack.cpp8
-rw-r--r--tools/lldb-mi/MICmdCmdVar.cpp4
-rw-r--r--tools/lldb-mi/MICmnBase.cpp2
-rw-r--r--tools/lldb-mi/MICmnBase.h2
-rw-r--r--tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp2
-rw-r--r--tools/lldb-mi/MIDriver.cpp2
-rw-r--r--tools/lldb-mi/MIUtilString.cpp2
-rw-r--r--tools/lldb-mi/MIUtilString.h2
-rw-r--r--tools/lldb-mi/MIUtilThreadBaseStd.h3
-rw-r--r--tools/lldb-mi/Platform.h1
-rw-r--r--tools/lldb-server/Acceptor.cpp5
-rw-r--r--tools/lldb-server/Acceptor.h2
-rw-r--r--tools/lldb-server/CMakeLists.txt140
-rw-r--r--tools/lldb-server/LLDBServerUtilities.cpp44
-rw-r--r--tools/lldb-server/lldb-gdbserver.cpp10
-rw-r--r--tools/lldb-server/lldb-platform.cpp24
-rw-r--r--unittests/Breakpoint/BreakpointIDTest.cpp2
-rw-r--r--unittests/Breakpoint/CMakeLists.txt6
-rw-r--r--unittests/CMakeLists.txt22
-rw-r--r--unittests/Core/BroadcasterTest.cpp1
-rw-r--r--unittests/Core/CMakeLists.txt9
-rw-r--r--unittests/Core/DataExtractorTest.cpp9
-rw-r--r--unittests/Core/ScalarTest.cpp15
-rw-r--r--unittests/Core/StateTest.cpp21
-rw-r--r--unittests/Core/StreamCallbackTest.cpp28
-rw-r--r--unittests/Core/StructuredDataTest.cpp2
-rw-r--r--unittests/Core/TimerTest.cpp8
-rw-r--r--unittests/Editline/CMakeLists.txt5
-rw-r--r--unittests/Editline/EditlineTest.cpp6
-rw-r--r--unittests/Expression/CMakeLists.txt4
-rw-r--r--unittests/Expression/GoParserTest.cpp9
-rw-r--r--unittests/Host/CMakeLists.txt16
-rw-r--r--unittests/Host/FileSpecTest.cpp28
-rw-r--r--unittests/Host/SocketTest.cpp18
-rw-r--r--unittests/Host/linux/HostTest.cpp48
-rw-r--r--unittests/Host/linux/SupportTest.cpp26
-rw-r--r--unittests/Interpreter/CMakeLists.txt5
-rw-r--r--unittests/Interpreter/TestArgs.cpp8
-rw-r--r--unittests/Interpreter/TestCompletion.cpp307
-rw-r--r--unittests/Language/CPlusPlus/CMakeLists.txt3
-rw-r--r--unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp138
-rw-r--r--unittests/ObjectFile/CMakeLists.txt1
-rw-r--r--unittests/ObjectFile/ELF/CMakeLists.txt7
-rw-r--r--unittests/ObjectFile/ELF/TestELFHeader.cpp62
-rw-r--r--unittests/Platform/CMakeLists.txt5
-rw-r--r--unittests/Process/gdb-remote/CMakeLists.txt9
-rw-r--r--unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp9
-rw-r--r--unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp73
-rw-r--r--unittests/Process/gdb-remote/GDBRemoteTestUtils.cpp7
-rw-r--r--unittests/Process/minidump/CMakeLists.txt9
-rw-r--r--unittests/Process/minidump/MinidumpParserTest.cpp19
-rw-r--r--unittests/ScriptInterpreter/Python/CMakeLists.txt9
-rw-r--r--unittests/Signals/CMakeLists.txt6
-rw-r--r--unittests/Signals/UnixSignalsTest.cpp140
-rw-r--r--unittests/Symbol/CMakeLists.txt4
-rw-r--r--unittests/SymbolFile/DWARF/CMakeLists.txt11
-rw-r--r--unittests/SymbolFile/DWARF/SymbolFileDWARFTests.cpp2
-rw-r--r--unittests/SymbolFile/PDB/CMakeLists.txt11
-rw-r--r--unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp14
-rw-r--r--unittests/Target/CMakeLists.txt15
-rw-r--r--unittests/Target/Inputs/TestModule.c (renamed from unittests/Utility/Inputs/TestModule.c)0
-rw-r--r--unittests/Target/Inputs/TestModule.so (renamed from unittests/Utility/Inputs/TestModule.so)bin5602 -> 5602 bytes
-rw-r--r--unittests/Target/MemoryRegionInfoTest.cpp20
-rw-r--r--unittests/Target/ModuleCacheTest.cpp (renamed from unittests/Utility/ModuleCacheTest.cpp)2
-rw-r--r--unittests/UnwindAssembly/InstEmulation/CMakeLists.txt14
-rw-r--r--unittests/UnwindAssembly/x86/CMakeLists.txt7
-rw-r--r--unittests/Utility/CMakeLists.txt17
-rw-r--r--unittests/Utility/ConstStringTest.cpp18
-rw-r--r--unittests/Utility/ErrorTest.cpp (renamed from unittests/Core/ErrorTest.cpp)2
-rw-r--r--unittests/Utility/LogTest.cpp280
-rw-r--r--unittests/Utility/Mocks/CMakeLists.txt9
-rw-r--r--unittests/Utility/Mocks/MockTildeExpressionResolver.cpp80
-rw-r--r--unittests/Utility/Mocks/MockTildeExpressionResolver.h37
-rw-r--r--unittests/Utility/NameMatchesTest.cpp58
-rw-r--r--unittests/Utility/TildeExpressionResolverTest.cpp36
-rw-r--r--unittests/Utility/TimeoutTest.cpp18
-rw-r--r--unittests/Utility/UriParserTest.cpp40
-rw-r--r--unittests/Utility/VASprintfTest.cpp59
-rw-r--r--unittests/debugserver/CMakeLists.txt19
-rw-r--r--unittests/debugserver/RNBSocketTest.cpp133
-rw-r--r--unittests/debugserver/debugserver_LogCallback.cpp20
-rw-r--r--unittests/gtest_common.h9
-rwxr-xr-xwww/build.html2
-rwxr-xr-xwww/index.html2
-rwxr-xr-xwww/projects.html433
-rw-r--r--www/sidebar.incl1
-rw-r--r--www/test.html2
-rwxr-xr-xwww/varformats.html1
1356 files changed, 26640 insertions, 21448 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 32b4580a5873..fe640fedb038 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,7 @@ include(cmake/modules/LLDBStandalone.cmake)
include(cmake/modules/LLDBConfig.cmake)
include(cmake/modules/AddLLDB.cmake)
-if (__ANDROID_NDK__ OR (CMAKE_SYSTEM_NAME MATCHES "Windows"))
+if (CMAKE_SYSTEM_NAME MATCHES "Windows|Android")
set(LLDB_DEFAULT_DISABLE_LIBEDIT 1)
else()
set(LLDB_DEFAULT_DISABLE_LIBEDIT 0)
@@ -20,6 +20,10 @@ endif()
# add_subdirectory(include)
add_subdirectory(docs)
if (NOT LLDB_DISABLE_PYTHON)
+ if(LLDB_USE_SYSTEM_SIX)
+ set(SIX_EXTRA_ARGS "--useSystemSix")
+ endif()
+
set(LLDB_PYTHON_TARGET_DIR ${LLDB_BINARY_DIR}/scripts)
if(LLDB_BUILD_FRAMEWORK)
set(LLDB_PYTHON_TARGET_DIR
@@ -50,6 +54,7 @@ if (NOT LLDB_DISABLE_PYTHON)
--prefix=${CMAKE_BINARY_DIR}
--cmakeBuildConfiguration=${CMAKE_CFG_INTDIR}
--lldbLibDir=lib${LLVM_LIBDIR_SUFFIX}
+ ${SIX_EXTRA_ARGS}
${FINISH_EXTRA_ARGS}
VERBATIM
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/finishSwigWrapperClasses.py
diff --git a/CODE_OWNERS.txt b/CODE_OWNERS.txt
index 92d91a3f197c..8fe43284cf6c 100644
--- a/CODE_OWNERS.txt
+++ b/CODE_OWNERS.txt
@@ -13,8 +13,7 @@ E: scallanan@apple.com
D: Expression evaluator, IR interpreter, Clang integration
N: Greg Clayton
-E: clayborg@gmail.com (Phabricator)
-E: gclayton@apple.com (Direct)
+E: clayborg@gmail.com
D: Overall LLDB architecture, Host (common+macosx), Symbol, API, ABI, Mac-specific code,
D: DynamicLoader, ObjectFile, IOHandler, EditLine, Core/Value*, Watchpoints, debugserver
D: Build scripts, Test suite, Platform, gdb-remote, Anything not covered by this file
@@ -35,12 +34,17 @@ D: FreeBSD
N: Jason Molenda
E: jmolenda@apple.com
-D: ABI, Disassembler, Unwinding, iOS, debugserver, Platform
+D: ABI, Disassembler, Unwinding, iOS, debugserver, Platform, ObjectFile, SymbolFile,
+D: SymbolVendor, DWARF, gdb-remote
N: Hafiz Abid Qadeer
E: abidh.haq@gmail.com
D: lldb-mi
+N: Kamil Rytarowski
+E: kamil@netbsd.org
+D: NetBSD
+
N: Zachary Turner
E: zturner@google.com
D: CMake build, Host (common+windows), Plugins/Process/Windows, Anything Windows-specific
diff --git a/INSTALL.txt b/INSTALL.txt
index 0f05823b6e4c..ef7126994f4a 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -7,6 +7,11 @@ On Mac OS X, in addition to using Xcode you'll need to enable code signing
on your system to either build lldb or debug using lldb. Please see the code
signing documentation in docs/code-signing.txt for more detailed directions.
+If you are building on Mac OS X and LLVM is not present in llvm/, then LLDB
+will check it out automatically. The files in scripts/Xcode/repos determine
+which branches of LLVM/Clang are checked out, depending on the current
+LLDB branch, according to the algorithm in scripts/Xcode/repo.py.
+
For instructions to build LLDB on Linux, or more details about supported
compiler versions, other dependencies, and build flags, see:
diff --git a/cmake/LLDBDependencies.cmake b/cmake/LLDBDependencies.cmake
index e12a52268342..55ce37908563 100644
--- a/cmake/LLDBDependencies.cmake
+++ b/cmake/LLDBDependencies.cmake
@@ -1,152 +1,13 @@
-set( LLDB_USED_LIBS
- lldbBase
- lldbBreakpoint
- lldbCommands
- lldbDataFormatters
- lldbHost
- lldbCore
- lldbExpression
- lldbInitialization
- lldbInterpreter
- lldbSymbol
- lldbTarget
- lldbUtility
-
- # Plugins
- lldbPluginDisassemblerLLVM
- lldbPluginSymbolFileDWARF
- lldbPluginSymbolFilePDB
- lldbPluginSymbolFileSymtab
- lldbPluginDynamicLoaderStatic
- lldbPluginDynamicLoaderPosixDYLD
- lldbPluginDynamicLoaderHexagonDYLD
- lldbPluginDynamicLoaderWindowsDYLD
-
- lldbPluginCPlusPlusLanguage
- lldbPluginGoLanguage
- lldbPluginJavaLanguage
- lldbPluginObjCLanguage
- lldbPluginObjCPlusPlusLanguage
- lldbPluginOCamlLanguage
-
- lldbPluginObjectFileELF
- lldbPluginObjectFileJIT
- lldbPluginSymbolVendorELF
- lldbPluginObjectContainerBSDArchive
- lldbPluginObjectContainerMachOArchive
- lldbPluginProcessGDBRemote
- lldbPluginProcessUtility
- lldbPluginPlatformAndroid
- lldbPluginPlatformGDB
- lldbPluginPlatformFreeBSD
- lldbPluginPlatformKalimba
- lldbPluginPlatformLinux
- lldbPluginPlatformNetBSD
- lldbPluginPlatformPOSIX
- lldbPluginPlatformWindows
- lldbPluginObjectContainerMachOArchive
- lldbPluginObjectContainerBSDArchive
- lldbPluginPlatformMacOSX
- lldbPluginStructuredDataDarwinLog
- lldbPluginDynamicLoaderMacOSXDYLD
- lldbPluginUnwindAssemblyInstEmulation
- lldbPluginUnwindAssemblyX86
- lldbPluginAppleObjCRuntime
- lldbPluginRenderScriptRuntime
- lldbPluginLanguageRuntimeGo
- lldbPluginLanguageRuntimeJava
- lldbPluginCXXItaniumABI
- lldbPluginABIMacOSX_arm
- lldbPluginABIMacOSX_arm64
- lldbPluginABIMacOSX_i386
- lldbPluginABISysV_arm
- lldbPluginABISysV_arm64
- lldbPluginABISysV_i386
- lldbPluginABISysV_x86_64
- lldbPluginABISysV_hexagon
- lldbPluginABISysV_ppc
- lldbPluginABISysV_ppc64
- lldbPluginABISysV_mips
- lldbPluginABISysV_mips64
- lldbPluginABISysV_s390x
- lldbPluginInstructionARM
- lldbPluginInstructionARM64
- lldbPluginInstructionMIPS
- lldbPluginInstructionMIPS64
- lldbPluginObjectFilePECOFF
- lldbPluginOSGo
- lldbPluginOSPython
- lldbPluginMemoryHistoryASan
- lldbPluginInstrumentationRuntimeAddressSanitizer
- lldbPluginInstrumentationRuntimeThreadSanitizer
- lldbPluginSystemRuntimeMacOSX
- lldbPluginProcessElfCore
- lldbPluginProcessMinidump
- lldbPluginJITLoaderGDB
- lldbPluginExpressionParserClang
- lldbPluginExpressionParserGo
- )
+set(LLDB_SYSTEM_LIBS)
# Windows-only libraries
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
- list(APPEND LLDB_USED_LIBS
- lldbPluginProcessWindowsCommon
+ list(APPEND LLDB_SYSTEM_LIBS
ws2_32
rpcrt4
)
endif ()
-# Linux-only libraries
-if ( CMAKE_SYSTEM_NAME MATCHES "Linux" )
- list(APPEND LLDB_USED_LIBS
- lldbPluginProcessLinux
- lldbPluginProcessPOSIX
- )
-endif ()
-
-# FreeBSD-only libraries
-if ( CMAKE_SYSTEM_NAME MATCHES "FreeBSD" )
- list(APPEND LLDB_USED_LIBS
- lldbPluginProcessFreeBSD
- lldbPluginProcessPOSIX
- )
-endif ()
-
-# NetBSD-only libraries
-if ( CMAKE_SYSTEM_NAME MATCHES "NetBSD" )
- list(APPEND LLDB_USED_LIBS
- lldbPluginProcessPOSIX
- )
-endif ()
-
-# Darwin-only libraries
-if ( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
- list(APPEND LLDB_USED_LIBS
- lldbPluginDynamicLoaderDarwinKernel
- lldbPluginObjectFileMachO
- lldbPluginProcessMachCore
- lldbPluginProcessMacOSXKernel
- lldbPluginSymbolVendorMacOSX
- )
-endif()
-
-set( CLANG_USED_LIBS
- clangAnalysis
- clangAST
- clangBasic
- clangCodeGen
- clangDriver
- clangEdit
- clangFrontend
- clangLex
- clangParse
- clangRewrite
- clangRewriteFrontend
- clangSema
- clangSerialization
- )
-
-set(LLDB_SYSTEM_LIBS)
if (NOT LLDB_DISABLE_LIBEDIT)
list(APPEND LLDB_SYSTEM_LIBS edit)
endif()
@@ -178,29 +39,6 @@ if (LLVM_BUILD_STATIC)
endif()
endif()
-set(LLVM_LINK_COMPONENTS
- ${LLVM_TARGETS_TO_BUILD}
- interpreter
- asmparser
- bitreader
- bitwriter
- codegen
- demangle
- ipo
- selectiondag
- bitreader
- mc
- mcjit
- core
- mcdisassembler
- executionengine
- runtimedyld
- option
- support
- coverage
- target
- )
-
if ( NOT LLDB_DISABLE_PYTHON )
set_source_files_properties(${LLDB_WRAP_PYTHON} PROPERTIES GENERATED 1)
if (CLANG_CL)
diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake
index 47ee25da52b2..4c6f1efd673d 100644
--- a/cmake/modules/AddLLDB.cmake
+++ b/cmake/modules/AddLLDB.cmake
@@ -1,31 +1,17 @@
-function(lldb_link_common_libs name targetkind)
- if (NOT LLDB_USED_LIBS)
- return()
- endif()
-
- if(${targetkind} MATCHES "SHARED")
- set(LINK_KEYWORD PRIVATE)
- endif()
-
- if(${targetkind} MATCHES "SHARED" OR ${targetkind} MATCHES "EXE")
- if (LLDB_LINKER_SUPPORTS_GROUPS)
- target_link_libraries(${name} ${LINK_KEYWORD}
- -Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group)
- else()
- target_link_libraries(${name} ${LINK_KEYWORD} ${LLDB_USED_LIBS})
- endif()
- endif()
-endfunction(lldb_link_common_libs)
-
function(add_lldb_library name)
# only supported parameters to this macro are the optional
# MODULE;SHARED;STATIC library type and source files
cmake_parse_arguments(PARAM
- "MODULE;SHARED;STATIC;OBJECT"
+ "MODULE;SHARED;STATIC;OBJECT;PLUGIN"
""
- "DEPENDS"
+ "DEPENDS;LINK_LIBS;LINK_COMPONENTS"
${ARGN})
llvm_process_sources(srcs ${PARAM_UNPARSED_ARGUMENTS})
+ list(APPEND LLVM_LINK_COMPONENTS ${PARAM_LINK_COMPONENTS})
+
+ if(PARAM_PLUGIN)
+ set_property(GLOBAL APPEND PROPERTY LLDB_PLUGINS ${name})
+ endif()
if (MSVC_IDE OR XCODE)
string(REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR})
@@ -56,22 +42,9 @@ function(add_lldb_library name)
if (PARAM_OBJECT)
add_library(${name} ${libkind} ${srcs})
else()
- if (PARAM_SHARED)
- if (LLDB_LINKER_SUPPORTS_GROUPS)
- llvm_add_library(${name} ${libkind} ${srcs} LINK_LIBS
- -Wl,--start-group ${LLDB_USED_LIBS} -Wl,--end-group
- -Wl,--start-group ${CLANG_USED_LIBS} -Wl,--end-group
- DEPENDS ${PARAM_DEPENDS}
- )
- else()
- llvm_add_library(${name} ${libkind} ${srcs} LINK_LIBS
- ${LLDB_USED_LIBS} ${CLANG_USED_LIBS}
- DEPENDS ${PARAM_DEPENDS}
- )
- endif()
- else()
- llvm_add_library(${name} ${libkind} ${srcs} DEPENDS ${PARAM_DEPENDS})
- endif()
+ llvm_add_library(${name} ${libkind} ${srcs} LINK_LIBS
+ ${PARAM_LINK_LIBS}
+ DEPENDS ${PARAM_DEPENDS})
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "liblldb")
if (PARAM_SHARED)
@@ -112,8 +85,17 @@ function(add_lldb_library name)
endfunction(add_lldb_library)
function(add_lldb_executable name)
- cmake_parse_arguments(ARG "INCLUDE_IN_FRAMEWORK;GENERATE_INSTALL" "" "" ${ARGN})
+ cmake_parse_arguments(ARG
+ "INCLUDE_IN_FRAMEWORK;GENERATE_INSTALL"
+ ""
+ "LINK_LIBS;LINK_COMPONENTS"
+ ${ARGN}
+ )
+
+ list(APPEND LLVM_LINK_COMPONENTS ${ARG_LINK_COMPONENTS})
add_llvm_executable(${name} ${ARG_UNPARSED_ARGUMENTS})
+
+ target_link_libraries(${name} ${ARG_LINK_LIBS})
set_target_properties(${name} PROPERTIES
FOLDER "lldb executables")
diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
index 74d6e74b0cfd..79e82fbb3fb1 100644
--- a/cmake/modules/LLDBConfig.cmake
+++ b/cmake/modules/LLDBConfig.cmake
@@ -13,14 +13,12 @@ endif()
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
set(LLDB_DEFAULT_DISABLE_PYTHON 0)
set(LLDB_DEFAULT_DISABLE_CURSES 1)
+elseif (CMAKE_SYSTEM_NAME MATCHES "Android" )
+ set(LLDB_DEFAULT_DISABLE_PYTHON 1)
+ set(LLDB_DEFAULT_DISABLE_CURSES 1)
else()
- if ( __ANDROID_NDK__ )
- set(LLDB_DEFAULT_DISABLE_PYTHON 1)
- set(LLDB_DEFAULT_DISABLE_CURSES 1)
- else()
- set(LLDB_DEFAULT_DISABLE_PYTHON 0)
- set(LLDB_DEFAULT_DISABLE_CURSES 0)
- endif()
+ set(LLDB_DEFAULT_DISABLE_PYTHON 0)
+ set(LLDB_DEFAULT_DISABLE_CURSES 0)
endif()
set(LLDB_DISABLE_PYTHON ${LLDB_DEFAULT_DISABLE_PYTHON} CACHE BOOL
@@ -31,6 +29,9 @@ set(LLDB_DISABLE_CURSES ${LLDB_DEFAULT_DISABLE_CURSES} CACHE BOOL
set(LLDB_RELOCATABLE_PYTHON 0 CACHE BOOL
"Causes LLDB to use the PYTHONHOME environment variable to locate Python.")
+set(LLDB_USE_SYSTEM_SIX 0 CACHE BOOL
+ "Use six.py shipped with system and do not install a copy of it")
+
if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
set(LLDB_EXPORT_ALL_SYMBOLS 0 CACHE BOOL
"Causes lldb to export all symbols when building liblldb.")
@@ -269,8 +270,8 @@ string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" LLDB_VERSION
message(STATUS "LLDB version: ${LLDB_VERSION}")
include_directories(BEFORE
- ${CMAKE_CURRENT_BINARY_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_BINARY_DIR}/include
)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
@@ -280,6 +281,17 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
FILES_MATCHING
PATTERN "*.h"
PATTERN ".svn" EXCLUDE
+ PATTERN ".cmake" EXCLUDE
+ PATTERN "Config.h" EXCLUDE
+ )
+
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
+ COMPONENT lldb_headers
+ DESTINATION include
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN ".svn" EXCLUDE
+ PATTERN ".cmake" EXCLUDE
)
endif()
@@ -354,10 +366,7 @@ endif()
# Figure out if lldb could use lldb-server. If so, then we'll
# ensure we build lldb-server when an lldb target is being built.
-if ((CMAKE_SYSTEM_NAME MATCHES "Darwin") OR
- (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") OR
- (CMAKE_SYSTEM_NAME MATCHES "Linux") OR
- (CMAKE_SYSTEM_NAME MATCHES "NetBSD"))
+if (CMAKE_SYSTEM_NAME MATCHES "Android|Darwin|FreeBSD|Linux|NetBSD")
set(LLDB_CAN_USE_LLDB_SERVER 1)
else()
set(LLDB_CAN_USE_LLDB_SERVER 0)
@@ -417,4 +426,24 @@ if(LLDB_USE_BUILTIN_DEMANGLER)
add_definitions(-DLLDB_USE_BUILTIN_DEMANGLER)
endif()
+if ((CMAKE_SYSTEM_NAME MATCHES "Android") AND LLVM_BUILD_STATIC AND
+ ((ANDROID_ABI MATCHES "armeabi") OR (ANDROID_ABI MATCHES "mips")))
+ add_definitions(-DANDROID_USE_ACCEPT_WORKAROUND)
+endif()
+
find_package(Backtrace)
+
+check_include_file(termios.h HAVE_TERMIOS_H)
+
+# These checks exist in LLVM's configuration, so I want to match the LLVM names
+# so that the check isn't duplicated, but we translate them into the LLDB names
+# so that I don't have to change all the uses at the moment.
+set(LLDB_CONFIG_TERMIOS_SUPPORTED ${HAVE_TERMIOS_H})
+if(NOT UNIX)
+ set(LLDB_DISABLE_POSIX 1)
+endif()
+
+# This should be done at the end
+configure_file(
+ ${LLDB_INCLUDE_ROOT}/lldb/Host/Config.h.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/include/lldb/Host/Config.h)
diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake
index a142b757569c..67e207e59edb 100644
--- a/cmake/modules/LLDBStandalone.cmake
+++ b/cmake/modules/LLDBStandalone.cmake
@@ -69,6 +69,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
set(LLVMCONFIG_FILE "${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
if(EXISTS ${LLVMCONFIG_FILE})
+ file(TO_CMAKE_PATH "${LLVM_CMAKE_PATH}" LLVM_CMAKE_PATH)
list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
include(${LLVMCONFIG_FILE})
else()
diff --git a/cmake/platforms/Android.cmake b/cmake/platforms/Android.cmake
index b977b1ed364c..789322f4353c 100644
--- a/cmake/platforms/Android.cmake
+++ b/cmake/platforms/Android.cmake
@@ -29,13 +29,12 @@ if( IS_IN_TRY_COMPILE )
return()
endif()
-set( CMAKE_SYSTEM_NAME Linux )
+set( CMAKE_SYSTEM_NAME Android )
include( CMakeForceCompiler )
# flags and definitions
add_definitions( -DANDROID -DLLDB_DISABLE_LIBEDIT )
set( ANDROID True )
-set( __ANDROID_NDK__ True )
set( LLDB_DEFAULT_DISABLE_LIBEDIT True )
# linking lldb-server statically for Android avoids the need to ship two
@@ -103,10 +102,6 @@ elseif( ANDROID_ABI STREQUAL "armeabi" )
# 64 bit atomic operations used in c++ libraries require armv7-a instructions
# armv5te and armv6 were tried but do not work.
set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -march=armv7-a -mthumb" )
- if( LLVM_BUILD_STATIC )
- # Temporary workaround for static linking with the latest API.
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -DANDROID_ARM_BUILD_STATIC" )
- endif()
elseif( ANDROID_ABI STREQUAL "mips" )
# http://b.android.com/182094
list( FIND LLDB_SYSTEM_LIBS atomic index )
@@ -114,10 +109,6 @@ elseif( ANDROID_ABI STREQUAL "mips" )
list( APPEND LLDB_SYSTEM_LIBS atomic )
set( LLDB_SYSTEM_LIBS ${LLDB_SYSTEM_LIBS} CACHE INTERNAL "" FORCE )
endif()
- if( LLVM_BUILD_STATIC )
- # Temporary workaround for static linking with the latest API.
- set( ANDROID_CXX_FLAGS "${ANDROID_CXX_FLAGS} -DANDROID_MIPS_BUILD_STATIC" )
- endif()
endif()
# Use gold linker and enable safe ICF in case of x86, x86_64 and arm
diff --git a/docs/lldb-gdb-remote.txt b/docs/lldb-gdb-remote.txt
index 450981894184..80a44e866cab 100644
--- a/docs/lldb-gdb-remote.txt
+++ b/docs/lldb-gdb-remote.txt
@@ -1029,7 +1029,7 @@ for this region.
// region what contains data mapped from the specified file.
//
// RESPONSE
-// <unsinged-hex64> - Load address of the file in big endian encoding
+// <unsigned-hex64> - Load address of the file in big endian encoding
// "E01" - the requested file isn't loaded
// "EXX" - for any other errors
//
diff --git a/examples/python/crashlog.py b/examples/python/crashlog.py
index abd6aaae7780..7270f60f4373 100755
--- a/examples/python/crashlog.py
+++ b/examples/python/crashlog.py
@@ -259,7 +259,11 @@ class CrashLog(symbolication.Symbolicator):
self.dsymForUUIDBinary, uuid_str)
s = commands.getoutput(dsym_for_uuid_command)
if s:
- plist_root = plistlib.readPlistFromString(s)
+ try:
+ plist_root = plistlib.readPlistFromString(s)
+ except:
+ print("Got exception: ", sys.exc_value, " handling dsymForUUID output: \n", s)
+ raise
if plist_root:
plist = plist_root[uuid_str]
if plist:
diff --git a/examples/python/gdbremote.py b/examples/python/gdbremote.py
index 7d5874e8b0c7..a6ff3f5978e4 100755
--- a/examples/python/gdbremote.py
+++ b/examples/python/gdbremote.py
@@ -322,6 +322,15 @@ def is_hex_byte(str):
return str[0] in string.hexdigits and str[1] in string.hexdigits
return False
+def get_hex_string_if_all_printable(str):
+ try:
+ s = binascii.unhexlify(str)
+ if all(c in string.printable for c in s):
+ return s
+ except TypeError:
+ pass
+ return None
+
# global register info list
g_register_infos = list()
g_max_register_info_name_len = 0
@@ -638,6 +647,14 @@ def cmd_qSymbol(options, cmd, args):
else:
print 'error: bad command format'
+def cmd_QSetWithHexString(options, cmd, args):
+ print '%s("%s")' % (cmd[:-1], binascii.unhexlify(args))
+
+def cmd_QSetWithString(options, cmd, args):
+ print '%s("%s")' % (cmd[:-1], args)
+
+def cmd_QSetWithUnsigned(options, cmd, args):
+ print '%s(%i)' % (cmd[:-1], int(args))
def rsp_qSymbol(options, cmd, cmd_args, rsp):
if len(rsp) == 0:
@@ -766,7 +783,11 @@ def dump_key_value_pairs(key_value_pairs):
for key_value_pair in key_value_pairs:
key = key_value_pair[0]
value = key_value_pair[1]
- print "%*s = %s" % (max_key_len, key, value)
+ unhex_value = get_hex_string_if_all_printable(value)
+ if unhex_value:
+ print "%*s = %s (%s)" % (max_key_len, key, value, unhex_value)
+ else:
+ print "%*s = %s" % (max_key_len, key, value)
def rsp_dump_key_value_pairs(options, cmd, cmd_args, rsp):
@@ -910,26 +931,29 @@ def rsp_qThreadInfo(options, cmd, cmd_args, rsp):
def rsp_hex_big_endian(options, cmd, cmd_args, rsp):
- packet = Packet(rsp)
- uval = packet.get_hex_uint('big')
- print '%s: 0x%x' % (cmd, uval)
+ if rsp == '':
+ print "%s%s is not supported" % (cmd, cmd_args)
+ else:
+ packet = Packet(rsp)
+ uval = packet.get_hex_uint('big')
+ print '%s: 0x%x' % (cmd, uval)
def cmd_read_mem_bin(options, cmd, args):
# x0x7fff5fc39200,0x200
packet = Packet(args)
- addr = packet.get_number()
+ addr = packet.get_hex_uint('big')
comma = packet.get_char()
- size = packet.get_number()
+ size = packet.get_hex_uint('big')
print 'binary_read_memory (addr = 0x%16.16x, size = %u)' % (addr, size)
return False
def rsp_mem_bin_bytes(options, cmd, cmd_args, rsp):
packet = Packet(cmd_args)
- addr = packet.get_number()
+ addr = packet.get_hex_uint('big')
comma = packet.get_char()
- size = packet.get_number()
+ size = packet.get_hex_uint('big')
print 'memory:'
if size > 0:
dump_hex_memory_buffer(addr, rsp)
@@ -1192,11 +1216,11 @@ gdb_remote_commands = {
'QStartNoAckMode': {'cmd': cmd_query_packet, 'rsp': rsp_ok_means_supported, 'name': "query if no ack mode is supported"},
'QThreadSuffixSupported': {'cmd': cmd_query_packet, 'rsp': rsp_ok_means_supported, 'name': "query if thread suffix is supported"},
'QListThreadsInStopReply': {'cmd': cmd_query_packet, 'rsp': rsp_ok_means_supported, 'name': "query if threads in stop reply packets are supported"},
- 'QSetDetachOnError': {'cmd': cmd_query_packet, 'rsp': rsp_ok_means_success, 'name': "set if we should detach on error"},
- 'QSetDisableASLR': {'cmd': cmd_query_packet, 'rsp': rsp_ok_means_success, 'name': "set if we should disable ASLR"},
+ 'QSetDetachOnError:': {'cmd': cmd_QSetWithUnsigned, 'rsp': rsp_ok_means_success, 'name': "set if we should detach on error"},
+ 'QSetDisableASLR:': {'cmd': cmd_QSetWithUnsigned, 'rsp': rsp_ok_means_success, 'name': "set if we should disable ASLR"},
'qLaunchSuccess': {'cmd': cmd_query_packet, 'rsp': rsp_ok_means_success, 'name': "check on launch success for the A packet"},
'A': {'cmd': cmd_A, 'rsp': rsp_ok_means_success, 'name': "launch process"},
- 'QLaunchArch': {'cmd': cmd_query_packet, 'rsp': rsp_ok_means_supported, 'name': "set if we should disable ASLR"},
+ 'QLaunchArch:': {'cmd': cmd_QSetWithString, 'rsp': rsp_ok_means_supported, 'name': "set the arch to launch in case the file contains multiple architectures"},
'qVAttachOrWaitSupported': {'cmd': cmd_query_packet, 'rsp': rsp_ok_means_supported, 'name': "set the launch architecture"},
'qHostInfo': {'cmd': cmd_query_packet, 'rsp': rsp_dump_key_value_pairs, 'name': "get host information"},
'qC': {'cmd': cmd_qC, 'rsp': rsp_qC, 'name': "return the current thread ID"},
@@ -1213,6 +1237,11 @@ gdb_remote_commands = {
'qSupported': {'cmd': cmd_query_packet, 'rsp': rsp_ok_means_supported, 'name': "query supported"},
'qXfer:': {'cmd': cmd_qXfer, 'rsp': rsp_qXfer, 'name': "qXfer"},
'qSymbol:': {'cmd': cmd_qSymbol, 'rsp': rsp_qSymbol, 'name': "qSymbol"},
+ 'QSetSTDIN:' : {'cmd' : cmd_QSetWithHexString, 'rsp' : rsp_ok_means_success, 'name': "set STDIN prior to launching with A packet"},
+ 'QSetSTDOUT:' : {'cmd' : cmd_QSetWithHexString, 'rsp' : rsp_ok_means_success, 'name': "set STDOUT prior to launching with A packet"},
+ 'QSetSTDERR:' : {'cmd' : cmd_QSetWithHexString, 'rsp' : rsp_ok_means_success, 'name': "set STDERR prior to launching with A packet"},
+ 'QEnvironment:' : {'cmd' : cmd_QSetWithString, 'rsp' : rsp_ok_means_success, 'name': "set an environment variable prior to launching with A packet"},
+ 'QEnvironmentHexEncoded:' : {'cmd' : cmd_QSetWithHexString, 'rsp' : rsp_ok_means_success, 'name': "set an environment variable prior to launching with A packet"},
'x': {'cmd': cmd_read_mem_bin, 'rsp': rsp_mem_bin_bytes, 'name': "read memory binary"},
'X': {'cmd': cmd_write_memory, 'rsp': rsp_ok_means_success, 'name': "write memory binary"},
'm': {'cmd': cmd_read_memory, 'rsp': rsp_memory_bytes, 'name': "read memory"},
@@ -1269,7 +1298,7 @@ def parse_gdb_log(file, options):
packet_name_regex = re.compile('([A-Za-z_]+)[^a-z]')
packet_transmit_name_regex = re.compile(
'(?P<direction>send|read) packet: (?P<packet>.*)')
- packet_contents_name_regex = re.compile('\$([^#]+)#[0-9a-fA-F]{2}')
+ packet_contents_name_regex = re.compile('\$([^#]*)#[0-9a-fA-F]{2}')
packet_checksum_regex = re.compile('.*#[0-9a-fA-F]{2}$')
packet_names_regex_str = '(' + \
'|'.join(gdb_remote_commands.keys()) + ')(.*)'
diff --git a/include/lldb/API/SBAttachInfo.h b/include/lldb/API/SBAttachInfo.h
index 6c3561615990..0c52218f57cd 100644
--- a/include/lldb/API/SBAttachInfo.h
+++ b/include/lldb/API/SBAttachInfo.h
@@ -86,7 +86,7 @@ public:
/// This function implies that a call to SBTarget::Attach(...) will
/// be synchronous.
///
- /// @param[in] wait_for
+ /// @param[in] b
/// If \b false, attach to an existing process whose name matches.
/// If \b true, then wait for the next process whose name matches.
//------------------------------------------------------------------
@@ -99,7 +99,7 @@ public:
/// Future calls to SBTarget::Attach(...) will be synchronous or
/// asynchronous depending on the \a async argument.
///
- /// @param[in] wait_for
+ /// @param[in] b
/// If \b false, attach to an existing process whose name matches.
/// If \b true, then wait for the next process whose name matches.
///
diff --git a/include/lldb/API/SBBreakpoint.h b/include/lldb/API/SBBreakpoint.h
index 56509c903c2d..d3f22f39ab00 100644
--- a/include/lldb/API/SBBreakpoint.h
+++ b/include/lldb/API/SBBreakpoint.h
@@ -133,19 +133,13 @@ private:
SBBreakpoint(const lldb::BreakpointSP &bp_sp);
- lldb_private::Breakpoint *operator->() const;
-
- lldb_private::Breakpoint *get() const;
-
- lldb::BreakpointSP &operator*();
-
- const lldb::BreakpointSP &operator*() const;
-
static bool PrivateBreakpointHitCallback(
void *baton, lldb_private::StoppointCallbackContext *context,
lldb::user_id_t break_id, lldb::user_id_t break_loc_id);
- lldb::BreakpointSP m_opaque_sp;
+ lldb::BreakpointSP GetSP() const;
+
+ lldb::BreakpointWP m_opaque_wp;
};
class LLDB_API SBBreakpointList {
diff --git a/include/lldb/API/SBBreakpointLocation.h b/include/lldb/API/SBBreakpointLocation.h
index 344c39c7bfd3..0b5ba79d784f 100644
--- a/include/lldb/API/SBBreakpointLocation.h
+++ b/include/lldb/API/SBBreakpointLocation.h
@@ -78,8 +78,9 @@ private:
friend class SBBreakpoint;
void SetLocation(const lldb::BreakpointLocationSP &break_loc_sp);
+ BreakpointLocationSP GetSP() const;
- lldb::BreakpointLocationSP m_opaque_sp;
+ lldb::BreakpointLocationWP m_opaque_wp;
};
} // namespace lldb
diff --git a/include/lldb/API/SBFrame.h b/include/lldb/API/SBFrame.h
index be5c0920aee5..58339750def6 100644
--- a/include/lldb/API/SBFrame.h
+++ b/include/lldb/API/SBFrame.h
@@ -78,6 +78,10 @@ public:
const char *GetDisplayFunctionName();
const char *GetFunctionName() const;
+
+ // Return the frame function's language. If there isn't a function, then
+ // guess the language type from the mangled name.
+ lldb::LanguageType GuessLanguage() const;
/// Return true if this frame represents an inlined function.
///
diff --git a/include/lldb/API/SBListener.h b/include/lldb/API/SBListener.h
index 05282c215406..a2f82a83c3ed 100644
--- a/include/lldb/API/SBListener.h
+++ b/include/lldb/API/SBListener.h
@@ -89,7 +89,7 @@ protected:
SBListener(const lldb::ListenerSP &listener_sp);
- lldb::ListenerSP GetSP() { return m_opaque_sp; }
+ lldb::ListenerSP GetSP();
private:
lldb_private::Listener *operator->() const;
diff --git a/include/lldb/API/SBTarget.h b/include/lldb/API/SBTarget.h
index 4e8db835ddc0..21341fbc27fa 100644
--- a/include/lldb/API/SBTarget.h
+++ b/include/lldb/API/SBTarget.h
@@ -124,9 +124,6 @@ public:
/// @param[in] envp
/// The environment array.
///
- /// @param[in] launch_flags
- /// Flags to modify the launch (@see lldb::LaunchFlags)
- ///
/// @param[in] stdin_path
/// The path to use when re-directing the STDIN of the new
/// process. If all stdXX_path arguments are nullptr, a pseudo
@@ -480,6 +477,7 @@ public:
/// Resolve a current file address into a section offset address.
///
/// @param[in] file_addr
+ /// The file address to resolve.
///
/// @return
/// An SBAddress which will be valid if...
@@ -653,7 +651,7 @@ public:
/// @param[in] source_file
/// The file from which to read the breakpoints.
///
- /// @param[out] bkpt_list
+ /// @param[out] new_bps
/// A list of the newly created breakpoints.
///
/// @return
@@ -673,7 +671,7 @@ public:
/// Only read in breakpoints whose names match one of the names in this
/// list.
///
- /// @param[out] bkpt_list
+ /// @param[out] new_bps
/// A list of the newly created breakpoints.
///
/// @return
diff --git a/include/lldb/API/SBWatchpoint.h b/include/lldb/API/SBWatchpoint.h
index 284ec12392a3..92d4851fc14d 100644
--- a/include/lldb/API/SBWatchpoint.h
+++ b/include/lldb/API/SBWatchpoint.h
@@ -72,7 +72,7 @@ private:
friend class SBTarget;
friend class SBValue;
- lldb::WatchpointSP m_opaque_sp;
+ std::weak_ptr<lldb_private::Watchpoint> m_opaque_wp;
};
} // namespace lldb
diff --git a/include/lldb/Breakpoint/Breakpoint.h b/include/lldb/Breakpoint/Breakpoint.h
index 9af6e586de39..4a16df047ee3 100644
--- a/include/lldb/Breakpoint/Breakpoint.h
+++ b/include/lldb/Breakpoint/Breakpoint.h
@@ -26,8 +26,8 @@
#include "lldb/Breakpoint/Stoppoint.h"
#include "lldb/Core/Event.h"
#include "lldb/Core/SearchFilter.h"
-#include "lldb/Core/StringList.h"
#include "lldb/Core/StructuredData.h"
+#include "lldb/Utility/StringList.h"
namespace lldb_private {
diff --git a/include/lldb/Breakpoint/BreakpointLocation.h b/include/lldb/Breakpoint/BreakpointLocation.h
index 43aef9fc6a27..d0567ccf2e04 100644
--- a/include/lldb/Breakpoint/BreakpointLocation.h
+++ b/include/lldb/Breakpoint/BreakpointLocation.h
@@ -19,7 +19,7 @@
// Project includes
#include "lldb/Breakpoint/StoppointLocation.h"
#include "lldb/Core/Address.h"
-#include "lldb/Core/UserID.h"
+#include "lldb/Utility/UserID.h"
#include "lldb/lldb-private.h"
namespace lldb_private {
diff --git a/include/lldb/Breakpoint/BreakpointOptions.h b/include/lldb/Breakpoint/BreakpointOptions.h
index e053af352ff2..024e915908c0 100644
--- a/include/lldb/Breakpoint/BreakpointOptions.h
+++ b/include/lldb/Breakpoint/BreakpointOptions.h
@@ -17,9 +17,9 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/Baton.h"
-#include "lldb/Core/StringList.h"
#include "lldb/Core/StructuredData.h"
+#include "lldb/Utility/Baton.h"
+#include "lldb/Utility/StringList.h"
#include "lldb/lldb-private.h"
namespace lldb_private {
diff --git a/include/lldb/Breakpoint/BreakpointResolver.h b/include/lldb/Breakpoint/BreakpointResolver.h
index e19a2135fbd2..7a57250d632b 100644
--- a/include/lldb/Breakpoint/BreakpointResolver.h
+++ b/include/lldb/Breakpoint/BreakpointResolver.h
@@ -15,12 +15,11 @@
// Other libraries and framework includes
// Project includes
#include "lldb/Breakpoint/Breakpoint.h"
-#include "lldb/Breakpoint/BreakpointResolver.h"
#include "lldb/Core/Address.h"
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/RegularExpression.h"
#include "lldb/Core/SearchFilter.h"
-#include "lldb/Host/FileSpec.h"
+#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/FileSpec.h"
+#include "lldb/Utility/RegularExpression.h"
#include "lldb/lldb-private.h"
namespace lldb_private {
diff --git a/include/lldb/Breakpoint/BreakpointResolverFileLine.h b/include/lldb/Breakpoint/BreakpointResolverFileLine.h
index f1fdf60e74ec..50750b1fbdf5 100644
--- a/include/lldb/Breakpoint/BreakpointResolverFileLine.h
+++ b/include/lldb/Breakpoint/BreakpointResolverFileLine.h
@@ -63,6 +63,8 @@ public:
lldb::BreakpointResolverSP CopyForBreakpoint(Breakpoint &breakpoint) override;
protected:
+ void FilterContexts(SymbolContextList &sc_list);
+
friend class Breakpoint;
FileSpec m_file_spec; // This is the file spec we are looking for.
uint32_t m_line_number; // This is the line number that we are looking for.
diff --git a/include/lldb/Breakpoint/BreakpointResolverFileRegex.h b/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
index 0429e264774e..6f00dac3f0a7 100644
--- a/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
+++ b/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
@@ -17,7 +17,7 @@
// Other libraries and framework includes
// Project includes
#include "lldb/Breakpoint/BreakpointResolver.h"
-#include "lldb/Core/ConstString.h"
+#include "lldb/Utility/ConstString.h"
namespace lldb_private {
diff --git a/include/lldb/Breakpoint/BreakpointSite.h b/include/lldb/Breakpoint/BreakpointSite.h
index b334c6e1a276..6e9875615fd9 100644
--- a/include/lldb/Breakpoint/BreakpointSite.h
+++ b/include/lldb/Breakpoint/BreakpointSite.h
@@ -21,7 +21,7 @@
// Project includes
#include "lldb/Breakpoint/BreakpointLocationCollection.h"
#include "lldb/Breakpoint/StoppointLocation.h"
-#include "lldb/Core/UserID.h"
+#include "lldb/Utility/UserID.h"
#include "lldb/lldb-forward.h"
namespace lldb_private {
diff --git a/include/lldb/Breakpoint/Stoppoint.h b/include/lldb/Breakpoint/Stoppoint.h
index 5d131a556ad1..3195ef942d9e 100644
--- a/include/lldb/Breakpoint/Stoppoint.h
+++ b/include/lldb/Breakpoint/Stoppoint.h
@@ -14,7 +14,7 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/UserID.h"
+#include "lldb/Utility/UserID.h"
#include "lldb/lldb-private.h"
namespace lldb_private {
diff --git a/include/lldb/Breakpoint/StoppointLocation.h b/include/lldb/Breakpoint/StoppointLocation.h
index ba03b4ea1f5b..f64035bbb941 100644
--- a/include/lldb/Breakpoint/StoppointLocation.h
+++ b/include/lldb/Breakpoint/StoppointLocation.h
@@ -14,7 +14,7 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/UserID.h"
+#include "lldb/Utility/UserID.h"
#include "lldb/lldb-private.h"
// #include "lldb/Breakpoint/BreakpointOptions.h"
diff --git a/include/lldb/Breakpoint/Watchpoint.h b/include/lldb/Breakpoint/Watchpoint.h
index 97f2e282acc2..beb7bad1ee9d 100644
--- a/include/lldb/Breakpoint/Watchpoint.h
+++ b/include/lldb/Breakpoint/Watchpoint.h
@@ -19,9 +19,9 @@
// Project includes
#include "lldb/Breakpoint/StoppointLocation.h"
#include "lldb/Breakpoint/WatchpointOptions.h"
-#include "lldb/Core/UserID.h"
#include "lldb/Symbol/CompilerType.h"
#include "lldb/Target/Target.h"
+#include "lldb/Utility/UserID.h"
#include "lldb/lldb-private.h"
namespace lldb_private {
diff --git a/include/lldb/Breakpoint/WatchpointOptions.h b/include/lldb/Breakpoint/WatchpointOptions.h
index bfb814ecbd54..6ab1264a1c7f 100644
--- a/include/lldb/Breakpoint/WatchpointOptions.h
+++ b/include/lldb/Breakpoint/WatchpointOptions.h
@@ -17,8 +17,8 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/Baton.h"
-#include "lldb/Core/StringList.h"
+#include "lldb/Utility/Baton.h"
+#include "lldb/Utility/StringList.h"
#include "lldb/lldb-private.h"
namespace lldb_private {
diff --git a/include/lldb/Core/Address.h b/include/lldb/Core/Address.h
index 909a0605eae1..a800570ec8b1 100644
--- a/include/lldb/Core/Address.h
+++ b/include/lldb/Core/Address.h
@@ -10,13 +10,44 @@
#ifndef liblldb_Address_h_
#define liblldb_Address_h_
-// C Includes
-// C++ Includes
+#include "lldb/lldb-defines.h" // for LLDB_INVALID_ADDRESS
+#include "lldb/lldb-enumerations.h" // for AddressClass::eAddressClassInvalid
+#include "lldb/lldb-forward.h" // for SectionWP, SectionSP, ModuleSP
+#include "lldb/lldb-types.h" // for addr_t
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Symbol/SymbolContextScope.h"
-#include "lldb/lldb-private.h"
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, UINT32_MAX, int64_t
+
+namespace lldb_private {
+class Block;
+}
+namespace lldb_private {
+class CompileUnit;
+}
+namespace lldb_private {
+class ExecutionContextScope;
+}
+namespace lldb_private {
+class Function;
+}
+namespace lldb_private {
+class SectionList;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class Symbol;
+}
+namespace lldb_private {
+class SymbolContext;
+}
+namespace lldb_private {
+class Target;
+}
+namespace lldb_private {
+struct LineEntry;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/AddressRange.h b/include/lldb/Core/AddressRange.h
index fa9fefbc0df1..e787d1d5740d 100644
--- a/include/lldb/Core/AddressRange.h
+++ b/include/lldb/Core/AddressRange.h
@@ -10,11 +10,21 @@
#ifndef liblldb_AddressRange_h_
#define liblldb_AddressRange_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/Address.h"
+#include "lldb/lldb-forward.h" // for SectionSP
+#include "lldb/lldb-types.h" // for addr_t
+
+#include <stddef.h> // for size_t
+
+namespace lldb_private {
+class SectionList;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class Target;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/AddressResolver.h b/include/lldb/Core/AddressResolver.h
index 5fe2ec1eaec6..432268e497b4 100644
--- a/include/lldb/Core/AddressResolver.h
+++ b/include/lldb/Core/AddressResolver.h
@@ -10,20 +10,20 @@
#ifndef liblldb_AddressResolver_h_
#define liblldb_AddressResolver_h_
-#include <vector>
-
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/Address.h"
#include "lldb/Core/AddressRange.h"
-#include "lldb/Core/ConstString.h"
#include "lldb/Core/SearchFilter.h"
-#include "lldb/Host/FileSpec.h"
-#include "lldb/lldb-private.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+
+#include <stddef.h> // for size_t
+#include <vector>
namespace lldb_private {
+class ModuleList;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
//----------------------------------------------------------------------
/// @class AddressResolver AddressResolver.h "lldb/Core/AddressResolver.h"
diff --git a/include/lldb/Core/AddressResolverFileLine.h b/include/lldb/Core/AddressResolverFileLine.h
index 950750e5bfa4..ec15cc76d887 100644
--- a/include/lldb/Core/AddressResolverFileLine.h
+++ b/include/lldb/Core/AddressResolverFileLine.h
@@ -10,8 +10,22 @@
#ifndef liblldb_AddressResolverFileLine_h_
#define liblldb_AddressResolverFileLine_h_
-// Project includes
#include "lldb/Core/AddressResolver.h"
+#include "lldb/Core/SearchFilter.h" // for Searcher, Searcher::CallbackR...
+#include "lldb/Utility/FileSpec.h" // for FileSpec
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+
+#include <stdint.h> // for uint32_t
+
+namespace lldb_private {
+class Address;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class SymbolContext;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/AddressResolverName.h b/include/lldb/Core/AddressResolverName.h
index e93d16fbc6aa..aadc05495999 100644
--- a/include/lldb/Core/AddressResolverName.h
+++ b/include/lldb/Core/AddressResolverName.h
@@ -10,10 +10,21 @@
#ifndef liblldb_AddressResolverName_h_
#define liblldb_AddressResolverName_h_
-// Project includes
-
#include "lldb/Core/AddressResolver.h"
-#include "lldb/Core/RegularExpression.h"
+#include "lldb/Core/SearchFilter.h" // for Searcher, Searcher::Call...
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/Utility/RegularExpression.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+
+namespace lldb_private {
+class Address;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class SymbolContext;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ArchSpec.h b/include/lldb/Core/ArchSpec.h
index 7f663f7abd12..648815c21371 100644
--- a/include/lldb/Core/ArchSpec.h
+++ b/include/lldb/Core/ArchSpec.h
@@ -12,13 +12,31 @@
#if defined(__cplusplus)
-#include "lldb/Core/ConstString.h"
-#include "lldb/lldb-forward.h"
+#include "lldb/Utility/ConstString.h"
+#include "lldb/lldb-enumerations.h"
+#include "lldb/lldb-private-enumerations.h"
+#include "llvm/ADT/StringRef.h" // for StringRef
#include "llvm/ADT/Triple.h"
+#include <string> // for string
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t
+
+namespace lldb_private {
+class Platform;
+}
namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class StringList;
+}
+namespace lldb_private {
+class Thread;
+}
-struct CoreDefinition;
+namespace lldb_private {
//----------------------------------------------------------------------
/// @class ArchSpec ArchSpec.h "lldb/Core/ArchSpec.h"
@@ -307,7 +325,7 @@ public:
/// @return A string representing target CPU for the current
/// architecture.
//------------------------------------------------------------------
- std::string GetClangTargetCPU();
+ std::string GetClangTargetCPU() const;
//------------------------------------------------------------------
/// Return a string representing target application ABI.
diff --git a/include/lldb/Core/Broadcaster.h b/include/lldb/Core/Broadcaster.h
index c23f12c30b9c..825287db5984 100644
--- a/include/lldb/Core/Broadcaster.h
+++ b/include/lldb/Core/Broadcaster.h
@@ -10,21 +10,33 @@
#ifndef liblldb_Broadcaster_h_
#define liblldb_Broadcaster_h_
-// C Includes
-// C++ Includes
-#include <functional>
-#include <list>
+#include "lldb/Utility/ConstString.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-forward.h" // for ListenerSP, EventSP, Broadcast...
+
+#include "llvm/ADT/SmallVector.h"
+
+#include <cstdint> // for uint32_t, UINT32_MAX
#include <map>
+#include <memory> // for shared_ptr, operator==, enable...
#include <mutex>
+#include <set> // for set
#include <string>
+#include <utility> // for pair
#include <vector>
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/ConstString.h"
-#include "lldb/lldb-private.h"
-
-#include "llvm/ADT/SmallVector.h"
+namespace lldb_private {
+class Broadcaster;
+}
+namespace lldb_private {
+class EventData;
+}
+namespace lldb_private {
+class Listener;
+}
+namespace lldb_private {
+class Stream;
+}
namespace lldb_private {
@@ -82,8 +94,8 @@ protected:
public:
// Listeners hold onto weak pointers to their broadcaster managers. So they
- // must be
- // made into shared pointers, which you do with MakeBroadcasterManager.
+ // must be made into shared pointers, which you do with
+ // MakeBroadcasterManager.
static lldb::BroadcasterManagerSP MakeBroadcasterManager();
diff --git a/include/lldb/Core/Communication.h b/include/lldb/Core/Communication.h
index 8a875ddad1f8..9459573ca90e 100644
--- a/include/lldb/Core/Communication.h
+++ b/include/lldb/Core/Communication.h
@@ -10,19 +10,31 @@
#ifndef liblldb_Communication_h_
#define liblldb_Communication_h_
-// C Includes
-// C++ Includes
+#include "lldb/Core/Broadcaster.h"
+#include "lldb/Host/HostThread.h"
+#include "lldb/Utility/Timeout.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for ConnectionStatus, FLAGS_ANONYMOU...
+#include "lldb/lldb-forward.h" // for ConnectionSP
+#include "lldb/lldb-types.h" // for thread_arg_t, thread_result_t
+
#include <atomic>
#include <mutex>
+#include <ratio> // for micro
#include <string>
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/Broadcaster.h"
-#include "lldb/Core/Error.h"
-#include "lldb/Host/HostThread.h"
-#include "lldb/Utility/Timeout.h"
-#include "lldb/lldb-private.h"
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint8_t
+
+namespace lldb_private {
+class Connection;
+}
+namespace lldb_private {
+class ConstString;
+}
+namespace lldb_private {
+class Error;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/Connection.h b/include/lldb/Core/Connection.h
index 6ff7b001a709..8d84377e3757 100644
--- a/include/lldb/Core/Connection.h
+++ b/include/lldb/Core/Connection.h
@@ -10,15 +10,24 @@
#ifndef liblldb_Connection_h_
#define liblldb_Connection_h_
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Utility/Timeout.h"
-#include "lldb/lldb-private.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
-// C Includes
-// C++ Includes
+#include "llvm/ADT/StringRef.h" // for StringRef
+
+#include <ratio> // for micro
#include <string>
+#include <stddef.h> // for size_t
+
+namespace lldb_private {
+class Error;
+}
+namespace lldb_private {
+template <typename Ratio> class Timeout;
+}
+
namespace lldb_private {
//----------------------------------------------------------------------
diff --git a/include/lldb/Core/DataBufferMemoryMap.h b/include/lldb/Core/DataBufferMemoryMap.h
deleted file mode 100644
index 1b8277b50488..000000000000
--- a/include/lldb/Core/DataBufferMemoryMap.h
+++ /dev/null
@@ -1,154 +0,0 @@
-//===-- DataBufferMemoryMap.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_DataBufferMemoryMap_h_
-#define liblldb_DataBufferMemoryMap_h_
-
-#include "lldb/Core/DataBuffer.h"
-#include "lldb/Core/Error.h"
-#include "lldb/lldb-private.h"
-#include <string>
-
-namespace lldb_private {
-
-//----------------------------------------------------------------------
-/// @class DataBufferMemoryMap DataBufferMemoryMap.h
-/// "lldb/Core/DataBufferMemoryMap.h"
-/// @brief A subclass of DataBuffer that memory maps data.
-///
-/// This class memory maps data and stores any needed data for the
-/// memory mapping in its internal state. Memory map requests are not
-/// required to have any alignment or size constraints, this class will
-/// work around any host OS issues regarding such things.
-///
-/// This class is designed to allow pages to be faulted in as needed and
-/// works well data from large files that won't be accessed all at once.
-//----------------------------------------------------------------------
-class DataBufferMemoryMap : public DataBuffer {
-public:
- //------------------------------------------------------------------
- /// Default Constructor
- //------------------------------------------------------------------
- DataBufferMemoryMap();
-
- //------------------------------------------------------------------
- /// Destructor.
- ///
- /// Virtual destructor since this class inherits from a pure virtual
- /// base class #DataBuffer.
- //------------------------------------------------------------------
- ~DataBufferMemoryMap() override;
-
- //------------------------------------------------------------------
- /// Reverts this object to an empty state by unmapping any memory
- /// that is currently owned.
- //------------------------------------------------------------------
- void Clear();
-
- //------------------------------------------------------------------
- /// @copydoc DataBuffer::GetBytes()
- //------------------------------------------------------------------
- uint8_t *GetBytes() override;
-
- //------------------------------------------------------------------
- /// @copydoc DataBuffer::GetBytes() const
- //------------------------------------------------------------------
- const uint8_t *GetBytes() const override;
-
- //------------------------------------------------------------------
- /// @copydoc DataBuffer::GetByteSize() const
- //------------------------------------------------------------------
- lldb::offset_t GetByteSize() const override;
-
- //------------------------------------------------------------------
- /// Error get accessor.
- ///
- /// @return
- /// A const reference to Error object in case memory mapping
- /// fails.
- //------------------------------------------------------------------
- const Error &GetError() const;
-
- //------------------------------------------------------------------
- /// Memory map all or part of a file.
- ///
- /// Memory map \a length bytes from \a file starting \a offset
- /// bytes into the file. If \a length is set to \c SIZE_MAX,
- /// then map as many bytes as possible.
- ///
- /// @param[in] file
- /// The file specification from which to map data.
- ///
- /// @param[in] offset
- /// The offset in bytes from the beginning of the file where
- /// memory mapping should begin.
- ///
- /// @param[in] length
- /// The size in bytes that should be mapped starting \a offset
- /// bytes into the file. If \a length is \c SIZE_MAX, map
- /// as many bytes as possible. Even though it may be possible
- /// for a 32-bit host debugger to debug a 64-bit target, size_t
- /// still dictates the maximum possible size that can be mapped
- /// into this process. For this kind of cross-arch debugging
- /// scenario, mappings and views should be managed at a higher
- /// level.
- ///
- /// @return
- /// The number of bytes mapped starting from the \a offset.
- //------------------------------------------------------------------
- size_t MemoryMapFromFileSpec(const FileSpec *file, lldb::offset_t offset = 0,
- size_t length = SIZE_MAX,
- bool writeable = false);
-
- //------------------------------------------------------------------
- /// Memory map all or part of a file.
- ///
- /// Memory map \a length bytes from an opened file descriptor \a fd
- /// starting \a offset bytes into the file. If \a length is set to
- /// \c SIZE_MAX, then map as many bytes as possible.
- ///
- /// @param[in] fd
- /// The posix file descriptor for an already opened file
- /// from which to map data.
- ///
- /// @param[in] offset
- /// The offset in bytes from the beginning of the file where
- /// memory mapping should begin.
- ///
- /// @param[in] length
- /// The size in bytes that should be mapped starting \a offset
- /// bytes into the file. If \a length is \c SIZE_MAX, map
- /// as many bytes as possible.
- ///
- /// @return
- /// The number of bytes mapped starting from the \a offset.
- //------------------------------------------------------------------
- size_t MemoryMapFromFileDescriptor(int fd, lldb::offset_t offset,
- size_t length, bool write,
- bool fd_is_file);
-
-protected:
- //------------------------------------------------------------------
- // Classes that inherit from DataBufferMemoryMap can see and modify these
- //------------------------------------------------------------------
- uint8_t *m_mmap_addr; ///< The actual pointer that was returned from \c mmap()
- size_t m_mmap_size; ///< The actual number of bytes that were mapped when \c
- ///mmap() was called
- uint8_t *m_data; ///< The data the user requested somewhere within the memory
- ///mapped data.
- lldb::offset_t
- m_size; ///< The size of the data the user got when data was requested
-
-private:
- DISALLOW_COPY_AND_ASSIGN(DataBufferMemoryMap);
-};
-
-} // namespace lldb_private
-
-#endif // liblldb_DataBufferMemoryMap_h_
diff --git a/include/lldb/Core/Debugger.h b/include/lldb/Core/Debugger.h
index ccc07b30f0c6..56201273fdd2 100644
--- a/include/lldb/Core/Debugger.h
+++ b/include/lldb/Core/Debugger.h
@@ -14,9 +14,7 @@
#include <stdint.h>
// C++ Includes
-#include <map>
#include <memory>
-#include <mutex>
#include <vector>
// Other libraries and framework includes
@@ -24,21 +22,55 @@
#include "lldb/Core/Broadcaster.h"
#include "lldb/Core/FormatEntity.h"
#include "lldb/Core/IOHandler.h"
-#include "lldb/Core/Listener.h"
#include "lldb/Core/SourceManager.h"
-#include "lldb/Core/UserID.h"
#include "lldb/Core/UserSettingsController.h"
#include "lldb/Host/HostThread.h"
#include "lldb/Host/Terminal.h"
+#include "lldb/Target/ExecutionContext.h" // for ExecutionContext
#include "lldb/Target/Platform.h"
#include "lldb/Target/TargetList.h"
-#include "lldb/lldb-public.h"
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/Utility/Error.h" // for Error
+#include "lldb/Utility/FileSpec.h" // for FileSpec
+#include "lldb/Utility/UserID.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for ScriptLanguage, Langua...
+#include "lldb/lldb-forward.h" // for StreamFileSP, DebuggerSP
+#include "lldb/lldb-private-enumerations.h" // for VarSetOperationType
+#include "lldb/lldb-private-types.h" // for LoadPluginCallbackType
+#include "lldb/lldb-types.h" // for LogOutputCallback, thr...
+
+#include "llvm/ADT/ArrayRef.h" // for ArrayRef
+#include "llvm/ADT/StringMap.h" // for StringMap
+#include "llvm/ADT/StringRef.h" // for StringRef
+#include "llvm/Support/DynamicLibrary.h" // for DynamicLibrary
+#include "llvm/Support/Threading.h"
+
+#include <assert.h> // for assert
+#include <stddef.h> // for size_t
+#include <stdio.h>
+namespace lldb_private {
+class Address;
+}
+namespace lldb_private {
+class CommandInterpreter;
+}
+namespace lldb_private {
+class Process;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class SymbolContext;
+}
+namespace lldb_private {
+class Target;
+}
namespace llvm {
-namespace sys {
-class DynamicLibrary;
-} // namespace sys
-} // namespace llvm
+class raw_ostream;
+}
namespace lldb_private {
@@ -190,9 +222,10 @@ public:
void SetCloseInputOnEOF(bool b);
- bool EnableLog(const char *channel, const char **categories,
- const char *log_file, uint32_t log_options,
- Stream &error_stream);
+ bool EnableLog(llvm::StringRef channel,
+ llvm::ArrayRef<const char *> categories,
+ llvm::StringRef log_file, uint32_t log_options,
+ llvm::raw_ostream &error_stream);
void SetLoggingCallback(lldb::LogOutputCallback log_callback, void *baton);
@@ -363,9 +396,8 @@ protected:
std::unique_ptr<CommandInterpreter> m_command_interpreter_ap;
IOHandlerStack m_input_reader_stack;
- typedef std::map<std::string, lldb::StreamWP> LogStreamMap;
- LogStreamMap m_log_streams;
- lldb::StreamSP m_log_callback_stream_sp;
+ llvm::StringMap<std::weak_ptr<llvm::raw_ostream>> m_log_streams;
+ std::shared_ptr<llvm::raw_ostream> m_log_callback_stream_sp;
ConstString m_instance_name;
static LoadPluginCallbackType g_load_plugin_callback;
typedef std::vector<llvm::sys::DynamicLibrary> LoadedPluginsList;
@@ -374,7 +406,7 @@ protected:
HostThread m_io_handler_thread;
Broadcaster m_sync_broadcaster;
lldb::ListenerSP m_forward_listener_sp;
- std::once_flag m_clear_once;
+ llvm::once_flag m_clear_once;
//----------------------------------------------------------------------
// Events for m_sync_broadcaster
diff --git a/include/lldb/Core/Disassembler.h b/include/lldb/Core/Disassembler.h
index c42074719b1a..929b668c092b 100644
--- a/include/lldb/Core/Disassembler.h
+++ b/include/lldb/Core/Disassembler.h
@@ -10,22 +10,68 @@
#ifndef liblldb_Disassembler_h_
#define liblldb_Disassembler_h_
-// C Includes
-// C++ Includes
-#include <string>
-#include <vector>
-
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/Address.h"
#include "lldb/Core/ArchSpec.h"
#include "lldb/Core/EmulateInstruction.h"
+#include "lldb/Core/FormatEntity.h" // for FormatEntity
#include "lldb/Core/Opcode.h"
#include "lldb/Core/PluginInterface.h"
-#include "lldb/Host/FileSpec.h"
#include "lldb/Interpreter/OptionValue.h"
#include "lldb/Symbol/LineEntry.h"
-#include "lldb/lldb-private.h"
+#include "lldb/Target/ExecutionContext.h" // for ExecutionContext
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/Utility/FileSpec.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for AddressClass, AddressClass...
+#include "lldb/lldb-forward.h" // for InstructionSP, DisassemblerSP
+#include "lldb/lldb-types.h" // for addr_t, offset_t
+
+#include "llvm/ADT/StringRef.h" // for StringRef
+
+#include <functional> // for function
+#include <map>
+#include <memory> // for enable_shared_from_this
+#include <set>
+#include <string>
+#include <vector>
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, int64_t
+#include <stdio.h> // for FILE
+
+namespace lldb_private {
+class AddressRange;
+}
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Debugger;
+}
+namespace lldb_private {
+class Disassembler;
+}
+namespace lldb_private {
+class Module;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class SymbolContext;
+}
+namespace lldb_private {
+class SymbolContextList;
+}
+namespace lldb_private {
+class Target;
+}
+namespace lldb_private {
+struct RegisterInfo;
+}
+namespace llvm {
+template <typename T> class SmallVectorImpl;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/DumpDataExtractor.h b/include/lldb/Core/DumpDataExtractor.h
new file mode 100644
index 000000000000..46e676c239d1
--- /dev/null
+++ b/include/lldb/Core/DumpDataExtractor.h
@@ -0,0 +1,95 @@
+//===-- DumpDataExtractor.h -------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLDB_CORE_DUMPDATAEXTRACTOR_H
+#define LLDB_CORE_DUMPDATAEXTRACTOR_H
+
+#include "lldb/lldb-enumerations.h" // for Format
+#include "lldb/lldb-types.h"
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t
+
+namespace lldb_private {
+class DataExtractor;
+class ExecutionContextScope;
+class Stream;
+
+//------------------------------------------------------------------
+/// Dumps \a item_count objects into the stream \a s.
+///
+/// Dumps \a item_count objects using \a item_format, each of which
+/// are \a item_byte_size bytes long starting at offset \a offset
+/// bytes into the contained data, into the stream \a s. \a
+/// num_per_line objects will be dumped on each line before a new
+/// line will be output. If \a base_addr is a valid address, then
+/// each new line of output will be preceded by the address value
+/// plus appropriate offset, and a colon and space. Bitfield values
+/// can be dumped by calling this function multiple times with the
+/// same start offset, format and size, yet differing \a
+/// item_bit_size and \a item_bit_offset values.
+///
+/// @param[in] s
+/// The stream to dump the output to. This value can not be nullptr.
+///
+/// @param[in] offset
+/// The offset into the data at which to start dumping.
+///
+/// @param[in] item_format
+/// The format to use when dumping each item.
+///
+/// @param[in] item_byte_size
+/// The byte size of each item.
+///
+/// @param[in] item_count
+/// The number of items to dump.
+///
+/// @param[in] num_per_line
+/// The number of items to display on each line.
+///
+/// @param[in] base_addr
+/// The base address that gets added to the offset displayed on
+/// each line if the value is valid. Is \a base_addr is
+/// LLDB_INVALID_ADDRESS then no address values will be prepended
+/// to any lines.
+///
+/// @param[in] item_bit_size
+/// If the value to display is a bitfield, this value should
+/// be the number of bits that the bitfield item has within the
+/// item's byte size value. This function will need to be called
+/// multiple times with identical \a offset and \a item_byte_size
+/// values in order to display multiple bitfield values that
+/// exist within the same integer value. If the items being
+/// displayed are not bitfields, this value should be zero.
+///
+/// @param[in] item_bit_offset
+/// If the value to display is a bitfield, this value should
+/// be the offset in bits, or shift right amount, that the
+/// bitfield item occupies within the item's byte size value.
+/// This function will need to be called multiple times with
+/// identical \a offset and \a item_byte_size values in order
+/// to display multiple bitfield values that exist within the
+/// same integer value. If the items being displayed are not
+/// bitfields, this value should be zero.
+///
+/// @return
+/// The offset at which dumping ended.
+//------------------------------------------------------------------
+lldb::offset_t
+DumpDataExtractor(const DataExtractor &DE, Stream *s, lldb::offset_t offset,
+ lldb::Format item_format, size_t item_byte_size,
+ size_t item_count, size_t num_per_line, uint64_t base_addr,
+ uint32_t item_bit_size, uint32_t item_bit_offset,
+ ExecutionContextScope *exe_scope = nullptr);
+
+void DumpHexBytes(Stream *s, const void *src, size_t src_len,
+ uint32_t bytes_per_line, lldb::addr_t base_addr);
+}
+
+#endif
diff --git a/include/lldb/Core/EmulateInstruction.h b/include/lldb/Core/EmulateInstruction.h
index 90e66d668ca4..bfc9ef054d7a 100644
--- a/include/lldb/Core/EmulateInstruction.h
+++ b/include/lldb/Core/EmulateInstruction.h
@@ -15,9 +15,34 @@
#include "lldb/Core/ArchSpec.h"
#include "lldb/Core/Opcode.h"
#include "lldb/Core/PluginInterface.h"
-#include "lldb/Core/RegisterValue.h"
-#include "lldb/lldb-private.h"
-#include "lldb/lldb-public.h"
+
+#include "lldb/Core/Address.h" // for Address
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for RegisterKind, ByteOrder
+#include "lldb/lldb-private-enumerations.h" // for InstructionType
+#include "lldb/lldb-private-types.h" // for RegisterInfo
+#include "lldb/lldb-types.h" // for addr_t
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t, int64_t
+namespace lldb_private {
+class OptionValueDictionary;
+}
+namespace lldb_private {
+class RegisterContext;
+}
+namespace lldb_private {
+class RegisterValue;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class Target;
+}
+namespace lldb_private {
+class UnwindPlan;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/Event.h b/include/lldb/Core/Event.h
index 049bb3cec224..5d297a719e73 100644
--- a/include/lldb/Core/Event.h
+++ b/include/lldb/Core/Event.h
@@ -10,19 +10,28 @@
#ifndef liblldb_Event_h_
#define liblldb_Event_h_
-// C Includes
-// C++ Includes
+#include "lldb/Core/Broadcaster.h"
+#include "lldb/Core/StructuredData.h"
+#include "lldb/Host/Predicate.h"
+#include "lldb/Utility/ConstString.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-forward.h" // for EventDataSP, ProcessSP, Struct...
+
+#include "llvm/ADT/StringRef.h" // for StringRef
+
#include <chrono>
#include <memory>
#include <string>
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/Broadcaster.h"
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/StructuredData.h"
-#include "lldb/Host/Predicate.h"
-#include "lldb/lldb-private.h"
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t
+
+namespace lldb_private {
+class Event;
+}
+namespace lldb_private {
+class Stream;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/FileLineResolver.h b/include/lldb/Core/FileLineResolver.h
index e9e20c59f93f..54bce4fd2f41 100644
--- a/include/lldb/Core/FileLineResolver.h
+++ b/include/lldb/Core/FileLineResolver.h
@@ -10,9 +10,19 @@
#ifndef liblldb_FileLineResolver_h_
#define liblldb_FileLineResolver_h_
-// Project includes
-#include "lldb/Core/AddressResolver.h"
+#include "lldb/Core/SearchFilter.h" // for Searcher, Searcher::CallbackR...
#include "lldb/Symbol/SymbolContext.h"
+#include "lldb/Utility/FileSpec.h" // for FileSpec
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+
+#include <stdint.h> // for uint32_t, UINT32_MAX
+
+namespace lldb_private {
+class Address;
+}
+namespace lldb_private {
+class Stream;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/FileSpecList.h b/include/lldb/Core/FileSpecList.h
index 75995d1ca9fb..3cbffca44f69 100644
--- a/include/lldb/Core/FileSpecList.h
+++ b/include/lldb/Core/FileSpecList.h
@@ -11,10 +11,16 @@
#define liblldb_FileSpecList_h_
#if defined(__cplusplus)
-#include "lldb/Host/FileSpec.h"
-#include "lldb/lldb-private.h"
+#include "lldb/Utility/FileSpec.h"
+
#include <vector>
+#include <stddef.h> // for size_t
+
+namespace lldb_private {
+class Stream;
+}
+
namespace lldb_private {
//----------------------------------------------------------------------
diff --git a/include/lldb/Core/FormatEntity.h b/include/lldb/Core/FormatEntity.h
index b6fe9ea46bfc..6705c155cefc 100644
--- a/include/lldb/Core/FormatEntity.h
+++ b/include/lldb/Core/FormatEntity.h
@@ -10,19 +10,38 @@
#ifndef liblldb_FormatEntity_h_
#define liblldb_FormatEntity_h_
-// C Includes
-// C++ Includes
+#include "lldb/Utility/Error.h"
+#include "lldb/Utility/FileSpec.h" // for FileSpec
+#include "lldb/lldb-enumerations.h" // for Format::eFormatDefault, Format
+#include "lldb/lldb-types.h" // for addr_t
+#include <algorithm> // for min
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t
+
#include <string>
#include <vector>
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/Error.h"
-#include "lldb/lldb-private.h"
-
+namespace lldb_private {
+class Address;
+}
+namespace lldb_private {
+class ExecutionContext;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class StringList;
+}
+namespace lldb_private {
+class SymbolContext;
+}
+namespace lldb_private {
+class ValueObject;
+}
namespace llvm {
class StringRef;
-} // namespace llvm
+}
namespace lldb_private {
class FormatEntity {
diff --git a/include/lldb/Core/IOHandler.h b/include/lldb/Core/IOHandler.h
index 2e6ff31ee687..ebf56d7908b4 100644
--- a/include/lldb/Core/IOHandler.h
+++ b/include/lldb/Core/IOHandler.h
@@ -10,26 +10,27 @@
#ifndef liblldb_IOHandler_h_
#define liblldb_IOHandler_h_
-// C Includes
-#include <string.h>
+#include "lldb/Core/ValueObjectList.h"
+#include "lldb/Host/Predicate.h"
+#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/Flags.h"
+#include "lldb/Utility/Stream.h"
+#include "lldb/Utility/StringList.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-forward.h" // for IOHandlerSP, StreamFileSP
+#include "llvm/ADT/StringRef.h" // for StringRef
-// C++ Includes
#include <memory>
#include <mutex>
#include <string>
#include <vector>
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/Error.h"
-#include "lldb/Core/Flags.h"
-#include "lldb/Core/Stream.h"
-#include "lldb/Core/StringList.h"
-#include "lldb/Core/ValueObjectList.h"
-#include "lldb/Host/Predicate.h"
-#include "lldb/lldb-enumerations.h"
-#include "lldb/lldb-public.h"
+#include <stdint.h> // for uint32_t
+#include <stdio.h> // for FILE
+
+namespace lldb_private {
+class Debugger;
+}
namespace curses {
class Application;
diff --git a/include/lldb/Core/Listener.h b/include/lldb/Core/Listener.h
index b82844eabbb8..3d12f8fb3391 100644
--- a/include/lldb/Core/Listener.h
+++ b/include/lldb/Core/Listener.h
@@ -10,20 +10,29 @@
#ifndef liblldb_Select_h_
#define liblldb_Select_h_
-// C Includes
-// C++ Includes
-#include <chrono>
+#include "lldb/Core/Broadcaster.h" // for Broadcaster::BroadcasterImplWP
+#include "lldb/Utility/Timeout.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-forward.h" // for BroadcasterManagerWP, EventSP
+
+#include <condition_variable>
#include <list>
#include <map>
+#include <memory> // for owner_less, enable_shared_from_this
#include <mutex>
+#include <ratio> // for micro
#include <string>
#include <vector>
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/Event.h"
-#include "lldb/Utility/Timeout.h"
-#include "lldb/lldb-private.h"
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t
+
+namespace lldb_private {
+class ConstString;
+}
+namespace lldb_private {
+class Event;
+}
namespace lldb_private {
@@ -39,8 +48,7 @@ public:
//------------------------------------------------------------------
//
// Listeners have to be constructed into shared pointers - at least if you
- // want them to listen to
- // Broadcasters,
+ // want them to listen to Broadcasters,
protected:
Listener(const char *name);
diff --git a/include/lldb/Core/Log.h b/include/lldb/Core/Log.h
deleted file mode 100644
index d87c263a427c..000000000000
--- a/include/lldb/Core/Log.h
+++ /dev/null
@@ -1,189 +0,0 @@
-//===-- Log.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_Log_h_
-#define liblldb_Log_h_
-
-// C Includes
-#include <signal.h>
-#include <stdarg.h>
-#include <stdint.h>
-#include <stdio.h>
-
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/Flags.h"
-#include "lldb/Core/Logging.h"
-#include "lldb/Core/PluginInterface.h"
-#include "lldb/lldb-private.h"
-
-#include "llvm/Support/FormatVariadic.h"
-
-//----------------------------------------------------------------------
-// Logging Options
-//----------------------------------------------------------------------
-#define LLDB_LOG_OPTION_THREADSAFE (1u << 0)
-#define LLDB_LOG_OPTION_VERBOSE (1u << 1)
-#define LLDB_LOG_OPTION_DEBUG (1u << 2)
-#define LLDB_LOG_OPTION_PREPEND_SEQUENCE (1u << 3)
-#define LLDB_LOG_OPTION_PREPEND_TIMESTAMP (1u << 4)
-#define LLDB_LOG_OPTION_PREPEND_PROC_AND_THREAD (1u << 5)
-#define LLDB_LOG_OPTION_PREPEND_THREAD_NAME (1U << 6)
-#define LLDB_LOG_OPTION_BACKTRACE (1U << 7)
-#define LLDB_LOG_OPTION_APPEND (1U << 8)
-
-//----------------------------------------------------------------------
-// Logging Functions
-//----------------------------------------------------------------------
-namespace lldb_private {
-
-class Log final {
-public:
- //------------------------------------------------------------------
- // Callback definitions for abstracted plug-in log access.
- //------------------------------------------------------------------
- typedef void (*DisableCallback)(const char **categories,
- Stream *feedback_strm);
- typedef Log *(*EnableCallback)(lldb::StreamSP &log_stream_sp,
- uint32_t log_options, const char **categories,
- Stream *feedback_strm);
- typedef void (*ListCategoriesCallback)(Stream *strm);
-
- struct Callbacks {
- DisableCallback disable;
- EnableCallback enable;
- ListCategoriesCallback list_categories;
- };
-
- //------------------------------------------------------------------
- // Static accessors for logging channels
- //------------------------------------------------------------------
- static void RegisterLogChannel(const ConstString &channel,
- const Log::Callbacks &log_callbacks);
-
- static bool UnregisterLogChannel(const ConstString &channel);
-
- static bool GetLogChannelCallbacks(const ConstString &channel,
- Log::Callbacks &log_callbacks);
-
- static bool EnableLogChannel(lldb::StreamSP &log_stream_sp,
- uint32_t log_options, const char *channel,
- const char **categories, Stream &error_stream);
-
- static void EnableAllLogChannels(lldb::StreamSP &log_stream_sp,
- uint32_t log_options,
- const char **categories,
- Stream *feedback_strm);
-
- static void DisableAllLogChannels(Stream *feedback_strm);
-
- static void ListAllLogChannels(Stream *strm);
-
- static void Initialize();
-
- static void Terminate();
-
- //------------------------------------------------------------------
- // Auto completion
- //------------------------------------------------------------------
- static void AutoCompleteChannelName(const char *channel_name,
- StringList &matches);
-
- //------------------------------------------------------------------
- // Member functions
- //------------------------------------------------------------------
- Log();
-
- Log(const lldb::StreamSP &stream_sp);
-
- ~Log();
-
- void PutCString(const char *cstr);
- void PutString(llvm::StringRef str);
-
- template <typename... Args> void Format(const char *fmt, Args &&... args) {
- PutString(llvm::formatv(fmt, std::forward<Args>(args)...).str());
- }
-
- // CLEANUP: Add llvm::raw_ostream &Stream() function.
- void Printf(const char *format, ...) __attribute__((format(printf, 2, 3)));
-
- void VAPrintf(const char *format, va_list args);
-
- void LogIf(uint32_t mask, const char *fmt, ...)
- __attribute__((format(printf, 3, 4)));
-
- void Debug(const char *fmt, ...) __attribute__((format(printf, 2, 3)));
-
- void Error(const char *fmt, ...) __attribute__((format(printf, 2, 3)));
-
- void VAError(const char *format, va_list args);
-
- void Verbose(const char *fmt, ...) __attribute__((format(printf, 2, 3)));
-
- void Warning(const char *fmt, ...) __attribute__((format(printf, 2, 3)));
-
- Flags &GetOptions();
-
- const Flags &GetOptions() const;
-
- Flags &GetMask();
-
- const Flags &GetMask() const;
-
- bool GetVerbose() const;
-
- bool GetDebug() const;
-
- void SetStream(const lldb::StreamSP &stream_sp) { m_stream_sp = stream_sp; }
-
-protected:
- //------------------------------------------------------------------
- // Member variables
- //------------------------------------------------------------------
- lldb::StreamSP m_stream_sp;
- Flags m_options;
- Flags m_mask_bits;
-
-private:
- DISALLOW_COPY_AND_ASSIGN(Log);
-};
-
-class LogChannel : public PluginInterface {
-public:
- LogChannel();
-
- ~LogChannel() override;
-
- static lldb::LogChannelSP FindPlugin(const char *plugin_name);
-
- // categories is an array of chars that ends with a NULL element.
- virtual void Disable(const char **categories, Stream *feedback_strm) = 0;
-
- virtual bool
- Enable(lldb::StreamSP &log_stream_sp, uint32_t log_options,
- Stream *feedback_strm, // Feedback stream for argument errors etc
- const char **categories) = 0; // The categories to enable within this
- // logging stream, if empty, enable
- // default set
-
- virtual void ListCategories(Stream *strm) = 0;
-
-protected:
- std::unique_ptr<Log> m_log_ap;
-
-private:
- DISALLOW_COPY_AND_ASSIGN(LogChannel);
-};
-
-} // namespace lldb_private
-
-#endif // liblldb_Log_h_
diff --git a/include/lldb/Core/Mangled.h b/include/lldb/Core/Mangled.h
index 4170b708013e..22778fabe63d 100644
--- a/include/lldb/Core/Mangled.h
+++ b/include/lldb/Core/Mangled.h
@@ -11,9 +11,18 @@
#define liblldb_Mangled_h_
#if defined(__cplusplus)
-#include "lldb/Core/ConstString.h"
-#include "lldb/lldb-private.h"
-#include <vector>
+#include "lldb/Utility/ConstString.h"
+#include "lldb/lldb-enumerations.h" // for LanguageType
+#include "llvm/ADT/StringRef.h" // for StringRef
+
+#include <stddef.h> // for size_t
+
+namespace lldb_private {
+class RegularExpression;
+}
+namespace lldb_private {
+class Stream;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/MappedHash.h b/include/lldb/Core/MappedHash.h
index 842a116d07a8..cab98ee5b302 100644
--- a/include/lldb/Core/MappedHash.h
+++ b/include/lldb/Core/MappedHash.h
@@ -22,8 +22,8 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/DataExtractor.h"
-#include "lldb/Core/Stream.h"
+#include "lldb/Utility/DataExtractor.h"
+#include "lldb/Utility/Stream.h"
class MappedHash {
public:
@@ -353,7 +353,7 @@ public:
bool IsValid() const {
return m_header.version == 1 &&
m_header.hash_function == eHashFunctionDJB &&
- m_header.bucket_count > 0 && m_header.hashes_count > 0;
+ m_header.bucket_count > 0;
}
uint32_t GetHashIndex(uint32_t bucket_idx) const {
diff --git a/include/lldb/Core/Module.h b/include/lldb/Core/Module.h
index 90d75b623732..ca47a38a2ef5 100644
--- a/include/lldb/Core/Module.h
+++ b/include/lldb/Core/Module.h
@@ -10,29 +10,86 @@
#ifndef liblldb_Module_h_
#define liblldb_Module_h_
-#include "lldb/Symbol/SymbolContextScope.h"
-
-// Project includes
+#include "lldb/Core/Address.h" // for Address
#include "lldb/Core/ArchSpec.h"
-#include "lldb/Core/UUID.h"
-#include "lldb/Host/FileSpec.h"
+#include "lldb/Core/ModuleSpec.h" // for ModuleSpec
+#include "lldb/Symbol/SymbolContextScope.h"
#include "lldb/Symbol/TypeSystem.h"
#include "lldb/Target/PathMappingList.h"
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/Utility/Error.h" // for Error
+#include "lldb/Utility/FileSpec.h"
+#include "lldb/Utility/UUID.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for LanguageType, SymbolType
#include "lldb/lldb-forward.h"
+#include "lldb/lldb-types.h" // for addr_t, offset_t
-// Other libraries and framework includes
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Chrono.h"
-// C Includes
-// C++ Includes
#include <atomic>
+#include <memory> // for enable_shared_from_this
#include <mutex>
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t
#include <string>
#include <vector>
namespace lldb_private {
+class CompilerDeclContext;
+}
+namespace lldb_private {
+class Function;
+}
+namespace lldb_private {
+class Log;
+}
+namespace lldb_private {
+class ObjectFile;
+}
+namespace lldb_private {
+class RegularExpression;
+}
+namespace lldb_private {
+class SectionList;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class Symbol;
+}
+namespace lldb_private {
+class SymbolContext;
+}
+namespace lldb_private {
+class SymbolContextList;
+}
+namespace lldb_private {
+class SymbolFile;
+}
+namespace lldb_private {
+class SymbolVendor;
+}
+namespace lldb_private {
+class Symtab;
+}
+namespace lldb_private {
+class Target;
+}
+namespace lldb_private {
+class TypeList;
+}
+namespace lldb_private {
+class TypeMap;
+}
+namespace lldb_private {
+class VariableList;
+}
+
+namespace lldb_private {
//----------------------------------------------------------------------
/// @class Module Module.h "lldb/Core/Module.h"
@@ -962,6 +1019,20 @@ public:
bool RemapSourceFile(llvm::StringRef path, std::string &new_path) const;
bool RemapSourceFile(const char *, std::string &) const = delete;
+ //------------------------------------------------------------------
+ /// Loads this module to memory.
+ ///
+ /// Loads the bits needed to create an executable image to the memory.
+ /// It is useful with bare-metal targets where target does not have the
+ /// ability to start a process itself.
+ ///
+ /// @param[in] target
+ /// Target where to load the module.
+ ///
+ /// @return
+ //------------------------------------------------------------------
+ Error LoadInMemory(Target &target, bool set_pc);
+
//----------------------------------------------------------------------
/// @class LookupInfo Module.h "lldb/Core/Module.h"
/// @brief A class that encapsulates name lookup information.
diff --git a/include/lldb/Core/ModuleChild.h b/include/lldb/Core/ModuleChild.h
index f47c5ca135e6..8f2985c8185b 100644
--- a/include/lldb/Core/ModuleChild.h
+++ b/include/lldb/Core/ModuleChild.h
@@ -10,7 +10,7 @@
#ifndef liblldb_ModuleChild_h_
#define liblldb_ModuleChild_h_
-#include "lldb/lldb-private.h"
+#include "lldb/lldb-forward.h"
namespace lldb_private {
diff --git a/include/lldb/Core/ModuleList.h b/include/lldb/Core/ModuleList.h
index 4aa16740bd74..d82d1c0d48d8 100644
--- a/include/lldb/Core/ModuleList.h
+++ b/include/lldb/Core/ModuleList.h
@@ -10,18 +10,67 @@
#ifndef liblldb_ModuleList_h_
#define liblldb_ModuleList_h_
-// C Includes
-// C++ Includes
+#include "lldb/Core/Address.h" // for Address
+#include "lldb/Core/ModuleSpec.h" // for ModuleSpec
+#include "lldb/Utility/Error.h" // for Error
+#include "lldb/Utility/FileSpec.h" // for FileSpec
+#include "lldb/Utility/Iterable.h"
+#include "lldb/lldb-enumerations.h"
+#include "lldb/lldb-forward.h"
+#include "lldb/lldb-types.h"
+
+#include "llvm/ADT/DenseSet.h"
+
#include <functional>
#include <list>
#include <mutex>
#include <vector>
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Utility/Iterable.h"
-#include "lldb/lldb-private.h"
-#include "llvm/ADT/DenseSet.h"
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t
+
+namespace lldb_private {
+class ConstString;
+}
+namespace lldb_private {
+class FileSpecList;
+}
+namespace lldb_private {
+class Function;
+}
+namespace lldb_private {
+class Log;
+}
+namespace lldb_private {
+class Module;
+}
+namespace lldb_private {
+class RegularExpression;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class SymbolContext;
+}
+namespace lldb_private {
+class SymbolContextList;
+}
+namespace lldb_private {
+class SymbolFile;
+}
+namespace lldb_private {
+class Target;
+}
+namespace lldb_private {
+class TypeList;
+}
+namespace lldb_private {
+class UUID;
+}
+namespace lldb_private {
+class VariableList;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ModuleSpec.h b/include/lldb/Core/ModuleSpec.h
index 6a9e60482b91..ce851d8af5fc 100644
--- a/include/lldb/Core/ModuleSpec.h
+++ b/include/lldb/Core/ModuleSpec.h
@@ -12,10 +12,10 @@
// Project includes
#include "lldb/Core/ArchSpec.h"
-#include "lldb/Core/Stream.h"
-#include "lldb/Core/UUID.h"
-#include "lldb/Host/FileSpec.h"
#include "lldb/Target/PathMappingList.h"
+#include "lldb/Utility/FileSpec.h"
+#include "lldb/Utility/Stream.h"
+#include "lldb/Utility/UUID.h"
// Other libraries and framework includes
#include "llvm/Support/Chrono.h"
diff --git a/include/lldb/Core/Opcode.h b/include/lldb/Core/Opcode.h
index d5376d44b814..33857457b2c4 100644
--- a/include/lldb/Core/Opcode.h
+++ b/include/lldb/Core/Opcode.h
@@ -10,20 +10,25 @@
#ifndef lldb_Opcode_h
#define lldb_Opcode_h
-// C Includes
-#include <string.h>
+#include "lldb/Utility/Endian.h"
+#include "lldb/lldb-enumerations.h" // for ByteOrder, ByteOrder::eByteOrde...
-// C++ Includes
-// Other libraries and framework includes
#include "llvm/Support/MathExtras.h"
-// Project includes
-#include "lldb/Host/Endian.h"
-#include "lldb/lldb-public.h"
+#include <assert.h> // for assert
+#include <stdint.h> // for uint32_t, uint8_t, uint16_t
+#include <string.h>
+
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Stream;
+}
namespace lldb {
class SBInstruction;
-} // namespace lldb
+}
namespace lldb_private {
diff --git a/include/lldb/Core/PluginManager.h b/include/lldb/Core/PluginManager.h
index e0de65a6bf16..645ab85eaa7e 100644
--- a/include/lldb/Core/PluginManager.h
+++ b/include/lldb/Core/PluginManager.h
@@ -10,13 +10,28 @@
#ifndef liblldb_PluginManager_h_
#define liblldb_PluginManager_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Host/FileSpec.h"
-#include "lldb/lldb-private.h"
+#include "lldb/Utility/Error.h" // for Error
+#include "lldb/Utility/FileSpec.h"
+#include "lldb/lldb-enumerations.h" // for ScriptLanguage
+#include "lldb/lldb-forward.h" // for OptionValuePropertiesSP
+#include "lldb/lldb-private-interfaces.h" // for DebuggerInitializeCallback
+#include "llvm/ADT/StringRef.h" // for StringRef
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t
+
+namespace lldb_private {
+class CommandInterpreter;
+}
+namespace lldb_private {
+class ConstString;
+}
+namespace lldb_private {
+class Debugger;
+}
+namespace lldb_private {
+class StringList;
+}
namespace lldb_private {
class PluginManager {
@@ -210,22 +225,6 @@ public:
GetObjectContainerGetModuleSpecificationsCallbackAtIndex(uint32_t idx);
//------------------------------------------------------------------
- // LogChannel
- //------------------------------------------------------------------
- static bool RegisterPlugin(const ConstString &name, const char *description,
- LogChannelCreateInstance create_callback);
-
- static bool UnregisterPlugin(LogChannelCreateInstance create_callback);
-
- static LogChannelCreateInstance
- GetLogChannelCreateCallbackAtIndex(uint32_t idx);
-
- static LogChannelCreateInstance
- GetLogChannelCreateCallbackForPluginName(const ConstString &name);
-
- static const char *GetLogChannelCreateNameAtIndex(uint32_t idx);
-
- //------------------------------------------------------------------
// Platform
//------------------------------------------------------------------
static bool
diff --git a/include/lldb/Core/RangeMap.h b/include/lldb/Core/RangeMap.h
index 73a949fcd25f..e37dcd7df443 100644
--- a/include/lldb/Core/RangeMap.h
+++ b/include/lldb/Core/RangeMap.h
@@ -59,6 +59,18 @@ template <typename B, typename S> struct Range {
void Slide(BaseType slide) { base += slide; }
+ bool Union(const Range &rhs)
+ {
+ if (DoesAdjoinOrIntersect(rhs))
+ {
+ auto new_end = std::max<BaseType>(GetRangeEnd(), rhs.GetRangeEnd());
+ base = std::min<BaseType>(base, rhs.base);
+ size = new_end - base;
+ return true;
+ }
+ return false;
+ }
+
BaseType GetRangeEnd() const { return base + size; }
void SetRangeEnd(BaseType end) {
@@ -348,7 +360,33 @@ public:
void Append(B base, S size) { m_entries.emplace_back(base, size); }
- bool RemoveEntrtAtIndex(uint32_t idx) {
+ // Insert an item into a sorted list and optionally combine it with any
+ // adjacent blocks if requested.
+ void Insert(const Entry &entry, bool combine) {
+ if (m_entries.empty()) {
+ m_entries.push_back(entry);
+ return;
+ }
+ auto begin = m_entries.begin();
+ auto end = m_entries.end();
+ auto pos = std::lower_bound(begin, end, entry);
+ if (combine) {
+ if (pos != end && pos->Union(entry)) {
+ CombinePrevAndNext(pos);
+ return;
+ }
+ if (pos != begin) {
+ auto prev = pos - 1;
+ if (prev->Union(entry)) {
+ CombinePrevAndNext(prev);
+ return;
+ }
+ }
+ }
+ m_entries.insert(pos, entry);
+ }
+
+ bool RemoveEntryAtIndex(uint32_t idx) {
if (idx < m_entries.size()) {
m_entries.erase(m_entries.begin() + idx);
return true;
@@ -458,6 +496,7 @@ public:
// Clients must ensure that "i" is a valid index prior to calling this
// function
+ Entry &GetEntryRef(size_t i) { return m_entries[i]; }
const Entry &GetEntryRef(size_t i) const { return m_entries[i]; }
Entry *Back() { return (m_entries.empty() ? nullptr : &m_entries.back()); }
@@ -538,6 +577,28 @@ public:
}
protected:
+
+ void CombinePrevAndNext(typename Collection::iterator pos) {
+ // Check if the prev or next entries in case they need to be unioned with
+ // the entry pointed to by "pos".
+ if (pos != m_entries.begin()) {
+ auto prev = pos - 1;
+ if (prev->Union(*pos))
+ m_entries.erase(pos);
+ pos = prev;
+ }
+
+ auto end = m_entries.end();
+ if (pos != end) {
+ auto next = pos + 1;
+ if (next != end) {
+ if (pos->Union(*next))
+ m_entries.erase(next);
+ }
+ }
+ return;
+ }
+
Collection m_entries;
};
diff --git a/include/lldb/Core/RegisterValue.h b/include/lldb/Core/RegisterValue.h
index 78dfbea97032..66c4689d702d 100644
--- a/include/lldb/Core/RegisterValue.h
+++ b/include/lldb/Core/RegisterValue.h
@@ -10,20 +10,28 @@
#ifndef lldb_RegisterValue_h
#define lldb_RegisterValue_h
-// C Includes
-#include <string.h>
+#include "lldb/Core/Scalar.h"
+#include "lldb/Utility/Endian.h"
+#include "lldb/Utility/Error.h" // for Error
+#include "lldb/lldb-enumerations.h" // for ByteOrder, Format
+#include "lldb/lldb-types.h" // for offset_t
-// C++ Includes
-// Other libraries and framework includes
#include "llvm/ADT/APInt.h"
+#include "llvm/ADT/StringRef.h" // for StringRef
-// Project includes
-#include "lldb/Core/Scalar.h"
-#include "lldb/Host/Endian.h"
-#include "lldb/lldb-private.h"
-#include "lldb/lldb-public.h"
+#include <stdint.h> // for uint32_t, uint8_t, uint64_t, uin...
+#include <string.h>
namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+struct RegisterInfo;
+}
+namespace lldb_private {
class RegisterValue {
public:
diff --git a/include/lldb/Core/Scalar.h b/include/lldb/Core/Scalar.h
index cee257711c5f..c534044af753 100644
--- a/include/lldb/Core/Scalar.h
+++ b/include/lldb/Core/Scalar.h
@@ -10,10 +10,23 @@
#ifndef liblldb_Scalar_h_
#define liblldb_Scalar_h_
-#include "lldb/lldb-private.h"
+#include "lldb/Utility/Error.h" // for Error
+#include "lldb/lldb-enumerations.h" // for Encoding, ByteOrder
+#include "lldb/lldb-private-types.h" // for type128
+
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t, int64_t
+
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Stream;
+}
+
#define NUM_OF_WORDS_INT128 2
#define BITWIDTH_INT128 128
#define NUM_OF_WORDS_INT256 4
diff --git a/include/lldb/Core/SearchFilter.h b/include/lldb/Core/SearchFilter.h
index 6b3a79e99520..829305ff5dee 100644
--- a/include/lldb/Core/SearchFilter.h
+++ b/include/lldb/Core/SearchFilter.h
@@ -10,13 +10,44 @@
#ifndef liblldb_SearchFilter_h_
#define liblldb_SearchFilter_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/FileSpecList.h"
#include "lldb/Core/StructuredData.h"
-#include "lldb/lldb-private.h"
+
+#include "lldb/Utility/FileSpec.h" // for FileSpec
+#include "lldb/lldb-forward.h" // for SearchFilterSP, TargetSP, Modu...
+
+#include <stdint.h> // for uint32_t
+
+namespace lldb_private {
+class Address;
+}
+namespace lldb_private {
+class Breakpoint;
+}
+namespace lldb_private {
+class CompileUnit;
+}
+namespace lldb_private {
+class Error;
+}
+namespace lldb_private {
+class Function;
+}
+namespace lldb_private {
+class ModuleList;
+}
+namespace lldb_private {
+class SearchFilter;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class SymbolContext;
+}
+namespace lldb_private {
+class Target;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/Section.h b/include/lldb/Core/Section.h
index 5afaa11359db..a133298edaf3 100644
--- a/include/lldb/Core/Section.h
+++ b/include/lldb/Core/Section.h
@@ -10,16 +10,39 @@
#ifndef liblldb_Section_h_
#define liblldb_Section_h_
-#include "lldb/Core/AddressRange.h"
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/Flags.h"
#include "lldb/Core/ModuleChild.h"
-#include "lldb/Core/RangeMap.h"
-#include "lldb/Core/UserID.h"
-#include "lldb/Core/VMRange.h"
-#include "lldb/Symbol/ObjectFile.h"
-#include "lldb/lldb-private.h"
-#include <limits.h>
+#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/Flags.h"
+#include "lldb/Utility/UserID.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for SectionType
+#include "lldb/lldb-forward.h" // for SectionSP, ModuleSP, SectionWP
+#include "lldb/lldb-types.h" // for addr_t, offset_t, user_id_t
+
+#include <memory> // for enable_shared_from_this
+#include <vector> // for vector
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, UINT32_MAX
+
+namespace lldb_private {
+class Address;
+}
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class ObjectFile;
+}
+namespace lldb_private {
+class Section;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class Target;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/SourceManager.h b/include/lldb/Core/SourceManager.h
index 9ca2a3297230..053badf64ddc 100644
--- a/include/lldb/Core/SourceManager.h
+++ b/include/lldb/Core/SourceManager.h
@@ -10,20 +10,33 @@
#ifndef liblldb_SourceManager_h_
#define liblldb_SourceManager_h_
-// Project includes
-#include "lldb/Host/FileSpec.h"
-#include "lldb/lldb-private.h"
+#include "lldb/Utility/FileSpec.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-forward.h" // for DebuggerSP, DebuggerWP, DataBufferSP
-// Other libraries and framework includes
#include "llvm/Support/Chrono.h"
-// C Includes
-// C++ Includes
+#include <cstdint> // for uint32_t, UINT32_MAX
#include <map>
#include <memory>
+#include <stddef.h> // for size_t
+#include <string> // for string
#include <vector>
namespace lldb_private {
+class RegularExpression;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class SymbolContextList;
+}
+namespace lldb_private {
+class Target;
+}
+
+namespace lldb_private {
class SourceManager {
public:
diff --git a/include/lldb/Core/State.h b/include/lldb/Core/State.h
index a9d7692ca458..68f0fee254b3 100644
--- a/include/lldb/Core/State.h
+++ b/include/lldb/Core/State.h
@@ -10,11 +10,13 @@
#ifndef liblldb_State_h_
#define liblldb_State_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
-#include "lldb/lldb-private.h"
+#include "llvm/Support/FormatProviders.h"
+
+#include "lldb/lldb-enumerations.h" // for StateType
+#include "llvm/ADT/StringRef.h" // for StringRef
+#include "llvm/Support/raw_ostream.h" // for raw_ostream
+
+#include <stdint.h> // for uint32_t
namespace lldb_private {
@@ -71,4 +73,13 @@ const char *GetPermissionsAsCString(uint32_t permissions);
} // namespace lldb_private
+namespace llvm {
+template <> struct format_provider<lldb::StateType> {
+ static void format(const lldb::StateType &state, raw_ostream &Stream,
+ StringRef Style) {
+ Stream << lldb_private::StateAsCString(state);
+ }
+};
+}
+
#endif // liblldb_State_h_
diff --git a/include/lldb/Core/StreamAsynchronousIO.h b/include/lldb/Core/StreamAsynchronousIO.h
index b3bb49e16e35..29b109757da7 100644
--- a/include/lldb/Core/StreamAsynchronousIO.h
+++ b/include/lldb/Core/StreamAsynchronousIO.h
@@ -1,5 +1,4 @@
-//===-- StreamAsynchronousIO.h -----------------------------------*- C++
-//-*-===//
+//===-- StreamAsynchronousIO.h -----------------------------------*- C++-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -11,9 +10,15 @@
#ifndef liblldb_StreamAsynchronousIO_h_
#define liblldb_StreamAsynchronousIO_h_
+#include "lldb/Utility/Stream.h"
+
#include <string>
-#include "lldb/Core/Stream.h"
+#include <stddef.h> // for size_t
+
+namespace lldb_private {
+class Debugger;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/StreamBuffer.h b/include/lldb/Core/StreamBuffer.h
index 4eef19ff29f7..3b18573021b3 100644
--- a/include/lldb/Core/StreamBuffer.h
+++ b/include/lldb/Core/StreamBuffer.h
@@ -10,7 +10,7 @@
#ifndef liblldb_StreamBuffer_h_
#define liblldb_StreamBuffer_h_
-#include "lldb/Core/Stream.h"
+#include "lldb/Utility/Stream.h"
#include "llvm/ADT/SmallVector.h"
#include <stdio.h>
#include <string>
diff --git a/include/lldb/Core/StreamFile.h b/include/lldb/Core/StreamFile.h
index 8b860321b6b7..a26ae84c7be5 100644
--- a/include/lldb/Core/StreamFile.h
+++ b/include/lldb/Core/StreamFile.h
@@ -10,16 +10,13 @@
#ifndef liblldb_StreamFile_h_
#define liblldb_StreamFile_h_
-// C Includes
-// C++ Includes
-
-#include <string>
-
-// Other libraries and framework includes
-// Project includes
-
-#include "lldb/Core/Stream.h"
#include "lldb/Host/File.h"
+#include "lldb/Utility/Stream.h"
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for FilePermissions::eFilePermission...
+
+#include <stdint.h> // for uint32_t
+#include <stdio.h> // for size_t, FILE
namespace lldb_private {
diff --git a/include/lldb/Core/StructuredData.h b/include/lldb/Core/StructuredData.h
index efd8100f1185..eecfd86f7988 100644
--- a/include/lldb/Core/StructuredData.h
+++ b/include/lldb/Core/StructuredData.h
@@ -10,22 +10,29 @@
#ifndef liblldb_StructuredData_h_
#define liblldb_StructuredData_h_
-// C Includes
-// C++ Includes
+#include "llvm/ADT/StringRef.h"
+
+#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/FileSpec.h" // for FileSpec
+
#include <functional>
#include <map>
#include <memory>
#include <string>
+#include <type_traits> // for move
#include <utility>
#include <vector>
-// Other libraries and framework includes
-#include "llvm/ADT/StringRef.h"
+#include <assert.h> // for assert
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint64_t
-// Project includes
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/Stream.h"
-#include "lldb/lldb-defines.h"
+namespace lldb_private {
+class Error;
+}
+namespace lldb_private {
+class Stream;
+}
namespace lldb_private {
@@ -368,13 +375,12 @@ public:
}
ObjectSP GetKeys() const {
- ObjectSP object_sp(new Array());
- Array *array = object_sp->GetAsArray();
+ auto object_sp = std::make_shared<Array>();
collection::const_iterator iter;
for (iter = m_dict.begin(); iter != m_dict.end(); ++iter) {
- ObjectSP key_object_sp(new String());
- key_object_sp->GetAsString()->SetValue(iter->first.AsCString());
- array->Push(key_object_sp);
+ auto key_object_sp = std::make_shared<String>();
+ key_object_sp->SetValue(iter->first.AsCString());
+ object_sp->Push(key_object_sp);
}
return object_sp;
}
@@ -500,19 +506,19 @@ public:
}
void AddIntegerItem(llvm::StringRef key, uint64_t value) {
- AddItem(key, ObjectSP(new Integer(value)));
+ AddItem(key, std::make_shared<Integer>(value));
}
void AddFloatItem(llvm::StringRef key, double value) {
- AddItem(key, ObjectSP(new Float(value)));
+ AddItem(key, std::make_shared<Float>(value));
}
void AddStringItem(llvm::StringRef key, std::string value) {
- AddItem(key, ObjectSP(new String(std::move(value))));
+ AddItem(key, std::make_shared<String>(std::move(value)));
}
void AddBooleanItem(llvm::StringRef key, bool value) {
- AddItem(key, ObjectSP(new Boolean(value)));
+ AddItem(key, std::make_shared<Boolean>(value));
}
void Dump(Stream &s, bool pretty_print = true) const override;
diff --git a/include/lldb/Core/Timer.h b/include/lldb/Core/Timer.h
index 854d3c31f54f..6da00b0e27a4 100644
--- a/include/lldb/Core/Timer.h
+++ b/include/lldb/Core/Timer.h
@@ -10,18 +10,16 @@
#ifndef liblldb_Timer_h_
#define liblldb_Timer_h_
-// C Includes
-#include <stdarg.h>
-#include <stdio.h>
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "llvm/Support/Chrono.h"
-// C++ Includes
#include <atomic>
-#include <mutex>
-// Other libraries and framework includes
-// Project includes
-#include "lldb/lldb-private.h"
-#include "llvm/Support/Chrono.h"
+#include <stdint.h> // for uint32_t
+
+namespace lldb_private {
+class Stream;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/UniqueCStringMap.h b/include/lldb/Core/UniqueCStringMap.h
index 77a350aaea15..1475fdaa74d9 100644
--- a/include/lldb/Core/UniqueCStringMap.h
+++ b/include/lldb/Core/UniqueCStringMap.h
@@ -17,7 +17,9 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/RegularExpression.h"
+#include "lldb/Utility/RegularExpression.h"
+
+#include "llvm/ADT/StringRef.h"
namespace lldb_private {
diff --git a/include/lldb/Core/UserSettingsController.h b/include/lldb/Core/UserSettingsController.h
index a30dfd45121b..0207187f0718 100644
--- a/include/lldb/Core/UserSettingsController.h
+++ b/include/lldb/Core/UserSettingsController.h
@@ -10,21 +10,32 @@
#ifndef liblldb_UserSettingsController_h_
#define liblldb_UserSettingsController_h_
-// C Includes
-// C++ Includes
+#include "lldb/Utility/Error.h" // for Error
+#include "lldb/lldb-forward.h" // for OptionValuePropertiesSP
+#include "lldb/lldb-private-enumerations.h" // for VarSetOperationType
+
+#include "llvm/ADT/StringRef.h" // for StringRef
-#include <string>
#include <vector>
-// Other libraries and framework includes
-// Project includes
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/Stream.h"
-#include "lldb/Core/StreamString.h"
-#include "lldb/Core/StringList.h"
-#include "lldb/Interpreter/OptionValue.h"
-#include "lldb/lldb-private.h"
+namespace lldb_private {
+class CommandInterpreter;
+}
+namespace lldb_private {
+class ConstString;
+}
+namespace lldb_private {
+class ExecutionContext;
+}
+namespace lldb_private {
+class Property;
+}
+namespace lldb_private {
+class Stream;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/Value.h b/include/lldb/Core/Value.h
index 2800c4f20996..9a667cf65752 100644
--- a/include/lldb/Core/Value.h
+++ b/include/lldb/Core/Value.h
@@ -10,17 +10,39 @@
#ifndef liblldb_Value_h_
#define liblldb_Value_h_
-// C Includes
-// C++ Includes
-#include <vector>
-
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/DataBufferHeap.h"
-#include "lldb/Core/Error.h"
#include "lldb/Core/Scalar.h"
#include "lldb/Symbol/CompilerType.h"
-#include "lldb/lldb-private.h"
+#include "lldb/Utility/DataBufferHeap.h"
+#include "lldb/Utility/Error.h"
+#include "lldb/lldb-enumerations.h" // for ByteOrder, ByteOrder::eB...
+#include "lldb/lldb-private-enumerations.h" // for AddressType
+#include "lldb/lldb-private-types.h" // for type128, RegisterInfo
+
+#include "llvm/ADT/APInt.h" // for APInt
+
+#include <vector>
+
+#include <stdint.h> // for uint8_t, uint32_t, uint64_t
+#include <string.h> // for size_t, memcpy
+
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class ExecutionContext;
+}
+namespace lldb_private {
+class Module;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class Type;
+}
+namespace lldb_private {
+class Variable;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ValueObject.h b/include/lldb/Core/ValueObject.h
index 84b187e54b6c..1c923f317b7c 100644
--- a/include/lldb/Core/ValueObject.h
+++ b/include/lldb/Core/ValueObject.h
@@ -10,32 +10,67 @@
#ifndef liblldb_ValueObject_h_
#define liblldb_ValueObject_h_
-// C Includes
-// C++ Includes
-#include <functional>
-#include <initializer_list>
-#include <map>
-#include <vector>
-
-// Other libraries and framework includes
-#include "llvm/ADT/Optional.h"
-#include "llvm/ADT/SmallVector.h"
-
-// Project includes
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/DataExtractor.h"
-#include "lldb/Core/Error.h"
-#include "lldb/Core/Flags.h"
-#include "lldb/Core/UserID.h"
#include "lldb/Core/Value.h"
+#include "lldb/DataFormatters/DumpValueObjectOptions.h" // for DumpValueObj...
#include "lldb/Symbol/CompilerType.h"
+#include "lldb/Symbol/Type.h" // for TypeImpl
#include "lldb/Target/ExecutionContext.h"
-#include "lldb/Target/ExecutionContextScope.h"
#include "lldb/Target/Process.h"
-#include "lldb/Target/StackID.h"
+#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/DataExtractor.h"
+#include "lldb/Utility/Error.h"
#include "lldb/Utility/SharedCluster.h"
-#include "lldb/lldb-private.h"
+#include "lldb/Utility/UserID.h"
+#include "lldb/lldb-defines.h" // for LLDB_INVALID...
+#include "lldb/lldb-enumerations.h" // for DynamicValue...
+#include "lldb/lldb-forward.h" // for ValueObjectSP
+#include "lldb/lldb-private-enumerations.h" // for AddressType
+#include "lldb/lldb-types.h" // for addr_t, offs...
+
+#include "llvm/ADT/Optional.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h" // for StringRef
+#include <functional>
+#include <initializer_list>
+#include <map>
+#include <mutex> // for recursive_mutex
+#include <string> // for string
+#include <utility> // for pair
+#include <vector>
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t
+namespace lldb_private {
+class Declaration;
+}
+namespace lldb_private {
+class EvaluateExpressionOptions;
+}
+namespace lldb_private {
+class ExecutionContextScope;
+}
+namespace lldb_private {
+class Log;
+}
+namespace lldb_private {
+class Scalar;
+}
+namespace lldb_private {
+class Stream;
+}
+namespace lldb_private {
+class SymbolContextScope;
+}
+namespace lldb_private {
+class TypeFormatImpl;
+}
+namespace lldb_private {
+class TypeSummaryImpl;
+}
+namespace lldb_private {
+class TypeSummaryOptions;
+}
namespace lldb_private {
/// ValueObject:
@@ -552,6 +587,9 @@ public:
lldb::ValueObjectSP GetSP() { return m_manager->GetSharedPointer(this); }
+ // Change the name of the current ValueObject. Should *not* be used from a
+ // synthetic child provider as it would change the name of the non synthetic
+ // child as well.
void SetName(const ConstString &name);
virtual lldb::addr_t GetAddressOf(bool scalar_is_load_address = true,
@@ -600,6 +638,12 @@ public:
virtual lldb::ValueObjectSP Dereference(Error &error);
+ // Creates a copy of the ValueObject with a new name and setting the current
+ // ValueObject as its parent. It should be used when we want to change the
+ // name of a ValueObject without modifying the actual ValueObject itself
+ // (e.g. sythetic child provider).
+ virtual lldb::ValueObjectSP Clone(const ConstString &new_name);
+
virtual lldb::ValueObjectSP AddressOf(Error &error);
virtual lldb::addr_t GetLiveAddress() { return LLDB_INVALID_ADDRESS; }
diff --git a/include/lldb/Core/ValueObjectCast.h b/include/lldb/Core/ValueObjectCast.h
index 50959b927e70..aaa1ecb67db8 100644
--- a/include/lldb/Core/ValueObjectCast.h
+++ b/include/lldb/Core/ValueObjectCast.h
@@ -10,11 +10,18 @@
#ifndef liblldb_ValueObjectCast_h_
#define liblldb_ValueObjectCast_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/ValueObject.h"
+#include "lldb/Symbol/CompilerType.h" // for CompilerType
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for ValueType
+#include "lldb/lldb-forward.h" // for ValueObjectSP
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t
+
+namespace lldb_private {
+class ConstString;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ValueObjectChild.h b/include/lldb/Core/ValueObjectChild.h
index b84cb3dfa216..ec8c9e805cdf 100644
--- a/include/lldb/Core/ValueObjectChild.h
+++ b/include/lldb/Core/ValueObjectChild.h
@@ -10,14 +10,20 @@
#ifndef liblldb_ValueObjectChild_h_
#define liblldb_ValueObjectChild_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/ValueObject.h"
+#include "lldb/Symbol/CompilerType.h" // for CompilerType
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for ValueType
+#include "lldb/lldb-private-enumerations.h" // for LazyBool, AddressType
+#include "lldb/lldb-types.h" // for offset_t
+
#include "llvm/ADT/Optional.h"
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t, int32_t
+
namespace lldb_private {
//----------------------------------------------------------------------
diff --git a/include/lldb/Core/ValueObjectConstResult.h b/include/lldb/Core/ValueObjectConstResult.h
index 994ac477bf2e..403d19324c46 100644
--- a/include/lldb/Core/ValueObjectConstResult.h
+++ b/include/lldb/Core/ValueObjectConstResult.h
@@ -10,15 +10,31 @@
#ifndef liblldb_ValueObjectConstResult_h_
#define liblldb_ValueObjectConstResult_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
+#include "lldb/Core/Value.h" // for Value
#include "lldb/Core/ValueObject.h"
-
#include "lldb/Core/ValueObjectConstResultImpl.h"
+#include "lldb/Symbol/CompilerType.h" // for CompilerType
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/Utility/Error.h" // for Error
+#include "lldb/lldb-defines.h" // for LLDB_INVALID_ADDRESS
+#include "lldb/lldb-enumerations.h" // for ByteOrder, Dynamic...
+#include "lldb/lldb-forward.h" // for ValueObjectSP, Dat...
+#include "lldb/lldb-private-enumerations.h" // for AddressType, Addre...
+#include "lldb/lldb-types.h" // for addr_t
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t
namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class ExecutionContextScope;
+}
+namespace lldb_private {
+class Module;
+}
+namespace lldb_private {
//----------------------------------------------------------------------
// A frozen ValueObject copied into host memory
diff --git a/include/lldb/Core/ValueObjectConstResultCast.h b/include/lldb/Core/ValueObjectConstResultCast.h
index 4b2a3e2fb9b0..3443bfb4885b 100644
--- a/include/lldb/Core/ValueObjectConstResultCast.h
+++ b/include/lldb/Core/ValueObjectConstResultCast.h
@@ -10,12 +10,26 @@
#ifndef liblldb_ValueObjectConstResultCast_h_
#define liblldb_ValueObjectConstResultCast_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/ValueObjectCast.h"
#include "lldb/Core/ValueObjectConstResultImpl.h"
+#include "lldb/Symbol/CompilerType.h" // for CompilerType
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_...
+#include "lldb/lldb-forward.h" // for ValueObjectSP
+#include "lldb/lldb-types.h" // for addr_t
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, int32_t
+
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Error;
+}
+namespace lldb_private {
+class ValueObject;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ValueObjectConstResultChild.h b/include/lldb/Core/ValueObjectConstResultChild.h
index 66127b94b422..3da59dc2eb56 100644
--- a/include/lldb/Core/ValueObjectConstResultChild.h
+++ b/include/lldb/Core/ValueObjectConstResultChild.h
@@ -1,5 +1,4 @@
-//===-- ValueObjectConstResultChild.h -------------------------------*- C++
-//-*-===//
+//===-- ValueObjectConstResultChild.h ----------------------------*- C++-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -11,12 +10,25 @@
#ifndef liblldb_ValueObjectConstResultChild_h_
#define liblldb_ValueObjectConstResultChild_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/ValueObjectChild.h"
#include "lldb/Core/ValueObjectConstResultImpl.h"
+#include "lldb/Symbol/CompilerType.h" // for CompilerType
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_...
+#include "lldb/lldb-forward.h" // for ValueObjectSP
+#include "lldb/lldb-types.h" // for addr_t
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, int32_t
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Error;
+}
+namespace lldb_private {
+class ValueObject;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ValueObjectConstResultImpl.h b/include/lldb/Core/ValueObjectConstResultImpl.h
index c26bf419b18e..2586aab4c781 100644
--- a/include/lldb/Core/ValueObjectConstResultImpl.h
+++ b/include/lldb/Core/ValueObjectConstResultImpl.h
@@ -10,11 +10,26 @@
#ifndef liblldb_ValueObjectConstResultImpl_h_
#define liblldb_ValueObjectConstResultImpl_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/ValueObject.h"
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/lldb-defines.h" // for LLDB_INVALID_ADDRESS
+#include "lldb/lldb-forward.h" // for ValueObjectSP
+#include "lldb/lldb-private-enumerations.h" // for AddressType, AddressType...
+#include "lldb/lldb-types.h" // for addr_t
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, int32_t
+namespace lldb_private {
+class CompilerType;
+}
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Error;
+}
+namespace lldb_private {
+class ValueObject;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ValueObjectDynamicValue.h b/include/lldb/Core/ValueObjectDynamicValue.h
index e58e74f534aa..99eb1ebcf977 100644
--- a/include/lldb/Core/ValueObjectDynamicValue.h
+++ b/include/lldb/Core/ValueObjectDynamicValue.h
@@ -10,13 +10,30 @@
#ifndef liblldb_ValueObjectDynamicValue_h_
#define liblldb_ValueObjectDynamicValue_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
+#include "lldb/Core/Address.h" // for Address
#include "lldb/Core/ValueObject.h"
+#include "lldb/Symbol/CompilerType.h" // for CompilerType
#include "lldb/Symbol/Type.h"
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/Utility/SharingPtr.h" // for operator==
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for DynamicValueType, Langua...
+#include "lldb/lldb-forward.h" // for ValueObjectSP, VariableSP
+#include "lldb/lldb-private-enumerations.h" // for LazyBool, LazyBool::eLaz...
+#include <assert.h> // for assert
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint64_t, uint32_t
+
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Declaration;
+}
+namespace lldb_private {
+class Error;
+}
namespace lldb_private {
//----------------------------------------------------------------------
diff --git a/include/lldb/Core/ValueObjectList.h b/include/lldb/Core/ValueObjectList.h
index c5427c6a846e..a0d2e681dedb 100644
--- a/include/lldb/Core/ValueObjectList.h
+++ b/include/lldb/Core/ValueObjectList.h
@@ -10,15 +10,16 @@
#ifndef liblldb_ValueObjectList_h_
#define liblldb_ValueObjectList_h_
-// C Includes
-// C++ Includes
+#include "lldb/lldb-forward.h" // for ValueObjectSP
+#include "lldb/lldb-types.h" // for user_id_t
+
#include <vector>
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/UserID.h"
-#include "lldb/Target/ExecutionContextScope.h"
-#include "lldb/lldb-private.h"
+#include <stddef.h> // for size_t
+
+namespace lldb_private {
+class ValueObject;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ValueObjectMemory.h b/include/lldb/Core/ValueObjectMemory.h
index f9891c41cec6..8bb649cc3c52 100644
--- a/include/lldb/Core/ValueObjectMemory.h
+++ b/include/lldb/Core/ValueObjectMemory.h
@@ -10,12 +10,21 @@
#ifndef liblldb_ValueObjectMemory_h_
#define liblldb_ValueObjectMemory_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
+#include "lldb/Core/Address.h" // for Address
#include "lldb/Core/ValueObject.h"
#include "lldb/Symbol/CompilerType.h"
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for ValueType
+#include "lldb/lldb-forward.h" // for TypeSP, ValueObjectSP, ModuleSP
+#include "llvm/ADT/StringRef.h" // for StringRef
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t
+
+namespace lldb_private {
+class ExecutionContextScope;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ValueObjectRegister.h b/include/lldb/Core/ValueObjectRegister.h
index 11d205430af8..50d0e12bb3f4 100644
--- a/include/lldb/Core/ValueObjectRegister.h
+++ b/include/lldb/Core/ValueObjectRegister.h
@@ -10,13 +10,33 @@
#ifndef liblldb_ValueObjectRegister_h_
#define liblldb_ValueObjectRegister_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/RegisterValue.h"
#include "lldb/Core/ValueObject.h"
-#include "lldb/lldb-private.h"
+#include "lldb/Symbol/CompilerType.h" // for CompilerType
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for ValueType, ValueType::eValueTy...
+#include "lldb/lldb-forward.h" // for RegisterContextSP, ValueObjectSP
+#include "lldb/lldb-private-types.h" // for RegisterInfo, RegisterSet (ptr...
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t, int32_t
+
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Error;
+}
+namespace lldb_private {
+class ExecutionContextScope;
+}
+namespace lldb_private {
+class Scalar;
+}
+namespace lldb_private {
+class Stream;
+}
namespace lldb_private {
diff --git a/include/lldb/Core/ValueObjectSyntheticFilter.h b/include/lldb/Core/ValueObjectSyntheticFilter.h
index 0a5a4d9f7029..d83f038744e5 100644
--- a/include/lldb/Core/ValueObjectSyntheticFilter.h
+++ b/include/lldb/Core/ValueObjectSyntheticFilter.h
@@ -10,17 +10,31 @@
#ifndef liblldb_ValueObjectSyntheticFilter_h_
#define liblldb_ValueObjectSyntheticFilter_h_
-// C Includes
-// C++ Includes
-#include <memory>
-
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/ThreadSafeSTLMap.h"
#include "lldb/Core/ThreadSafeSTLVector.h"
#include "lldb/Core/ValueObject.h"
+#include "lldb/Symbol/CompilerType.h" // for CompilerType
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/lldb-defines.h" // for ThreadSafeSTLMap::operator=
+#include "lldb/lldb-enumerations.h" // for DynamicValueType, Langua...
+#include "lldb/lldb-forward.h" // for ValueObjectSP, Synthetic...
+#include "lldb/lldb-private-enumerations.h" // for LazyBool, LazyBool::eLaz...
+
+#include <cstdint> // for uint32_t, uint64_t
+#include <memory>
+
+#include <stddef.h> // for size_t
namespace lldb_private {
+class Declaration;
+}
+namespace lldb_private {
+class Error;
+}
+namespace lldb_private {
+class SyntheticChildrenFrontEnd;
+}
+namespace lldb_private {
//----------------------------------------------------------------------
// A ValueObject that obtains its children from some source other than
diff --git a/include/lldb/Core/ValueObjectVariable.h b/include/lldb/Core/ValueObjectVariable.h
index b76c48a24cd9..dbb7c2b9483e 100644
--- a/include/lldb/Core/ValueObjectVariable.h
+++ b/include/lldb/Core/ValueObjectVariable.h
@@ -10,12 +10,34 @@
#ifndef liblldb_ValueObjectVariable_h_
#define liblldb_ValueObjectVariable_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
#include "lldb/Core/ValueObject.h"
+#include "lldb/Core/Value.h" // for Value
+#include "lldb/Symbol/CompilerType.h" // for CompilerType
+#include "lldb/Utility/ConstString.h" // for ConstString
+#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN
+#include "lldb/lldb-enumerations.h" // for ValueType
+#include "lldb/lldb-forward.h" // for VariableSP, ModuleSP, ValueObj...
+
+#include <stddef.h> // for size_t
+#include <stdint.h> // for uint32_t, uint64_t
+
+namespace lldb_private {
+class DataExtractor;
+}
+namespace lldb_private {
+class Declaration;
+}
+namespace lldb_private {
+class Error;
+}
+namespace lldb_private {
+class ExecutionContextScope;
+}
+namespace lldb_private {
+class SymbolContextScope;
+}
+
namespace lldb_private {
//----------------------------------------------------------------------
diff --git a/include/lldb/DataFormatters/DataVisualization.h b/include/lldb/DataFormatters/DataVisualization.h
index 7a632d64c8e9..343099bf2a7b 100644
--- a/include/lldb/DataFormatters/DataVisualization.h
+++ b/include/lldb/DataFormatters/DataVisualization.h
@@ -15,9 +15,9 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/ConstString.h"
#include "lldb/DataFormatters/FormatClasses.h"
#include "lldb/DataFormatters/FormatManager.h"
+#include "lldb/Utility/ConstString.h"
namespace lldb_private {
diff --git a/include/lldb/DataFormatters/DumpValueObjectOptions.h b/include/lldb/DataFormatters/DumpValueObjectOptions.h
index b510a3c50311..00baea77f793 100644
--- a/include/lldb/DataFormatters/DumpValueObjectOptions.h
+++ b/include/lldb/DataFormatters/DumpValueObjectOptions.h
@@ -27,7 +27,7 @@ namespace lldb_private {
class DumpValueObjectOptions {
public:
struct PointerDepth {
- enum class Mode { Always, Formatters, Default, Never } m_mode;
+ enum class Mode { Always, Default, Never } m_mode;
uint32_t m_count;
PointerDepth operator--() const {
@@ -37,9 +37,6 @@ public:
}
bool CanAllowExpansion() const;
-
- bool CanAllowExpansion(bool is_root, TypeSummaryImpl *entry,
- ValueObject *valobj, const std::string &summary);
};
struct PointerAsArraySettings {
diff --git a/include/lldb/DataFormatters/FormatCache.h b/include/lldb/DataFormatters/FormatCache.h
index ab369a1f0453..9901ec91ebd2 100644
--- a/include/lldb/DataFormatters/FormatCache.h
+++ b/include/lldb/DataFormatters/FormatCache.h
@@ -18,7 +18,7 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/ConstString.h"
+#include "lldb/Utility/ConstString.h"
#include "lldb/lldb-public.h"
namespace lldb_private {
diff --git a/include/lldb/DataFormatters/FormattersContainer.h b/include/lldb/DataFormatters/FormattersContainer.h
index e43209969dd0..2df5bf4efcfb 100644
--- a/include/lldb/DataFormatters/FormattersContainer.h
+++ b/include/lldb/DataFormatters/FormattersContainer.h
@@ -22,7 +22,6 @@
// Project includes
#include "lldb/lldb-public.h"
-#include "lldb/Core/RegularExpression.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/DataFormatters/FormatClasses.h"
#include "lldb/DataFormatters/TypeFormat.h"
@@ -30,6 +29,7 @@
#include "lldb/DataFormatters/TypeSynthetic.h"
#include "lldb/DataFormatters/TypeValidator.h"
#include "lldb/Symbol/CompilerType.h"
+#include "lldb/Utility/RegularExpression.h"
#include "lldb/Utility/StringLexer.h"
namespace lldb_private {
diff --git a/include/lldb/DataFormatters/StringPrinter.h b/include/lldb/DataFormatters/StringPrinter.h
index 43329466a9a4..8d4a099fbec9 100644
--- a/include/lldb/DataFormatters/StringPrinter.h
+++ b/include/lldb/DataFormatters/StringPrinter.h
@@ -19,7 +19,7 @@
// Project includes
#include "lldb/lldb-forward.h"
-#include "lldb/Core/DataExtractor.h"
+#include "lldb/Utility/DataExtractor.h"
namespace lldb_private {
namespace formatters {
diff --git a/include/lldb/DataFormatters/TypeSummary.h b/include/lldb/DataFormatters/TypeSummary.h
index 7b2feeb8fc22..fbfc25dd9c9f 100644
--- a/include/lldb/DataFormatters/TypeSummary.h
+++ b/include/lldb/DataFormatters/TypeSummary.h
@@ -23,9 +23,9 @@
#include "lldb/lldb-enumerations.h"
#include "lldb/lldb-public.h"
-#include "lldb/Core/Error.h"
#include "lldb/Core/FormatEntity.h"
#include "lldb/Core/StructuredData.h"
+#include "lldb/Utility/Error.h"
namespace lldb_private {
class TypeSummaryOptions {
diff --git a/include/lldb/DataFormatters/ValueObjectPrinter.h b/include/lldb/DataFormatters/ValueObjectPrinter.h
index f0d09ac01632..41851436873d 100644
--- a/include/lldb/DataFormatters/ValueObjectPrinter.h
+++ b/include/lldb/DataFormatters/ValueObjectPrinter.h
@@ -19,7 +19,8 @@
#include "lldb/lldb-private.h"
#include "lldb/lldb-public.h"
-#include "lldb/Core/Flags.h"
+#include "lldb/Utility/Flags.h"
+
#include "lldb/DataFormatters/DumpValueObjectOptions.h"
#include "lldb/Symbol/CompilerType.h"
diff --git a/include/lldb/DataFormatters/VectorIterator.h b/include/lldb/DataFormatters/VectorIterator.h
index 38bcfe9fe4a8..fcf5aba6ecbe 100644
--- a/include/lldb/DataFormatters/VectorIterator.h
+++ b/include/lldb/DataFormatters/VectorIterator.h
@@ -13,8 +13,8 @@
#include "lldb/lldb-forward.h"
-#include "lldb/Core/ConstString.h"
#include "lldb/Target/ExecutionContext.h"
+#include "lldb/Utility/ConstString.h"
namespace lldb_private {
namespace formatters {
diff --git a/include/lldb/Expression/DWARFExpression.h b/include/lldb/Expression/DWARFExpression.h
index ea3f5cc03db1..ae9eb3fb2d16 100644
--- a/include/lldb/Expression/DWARFExpression.h
+++ b/include/lldb/Expression/DWARFExpression.h
@@ -11,10 +11,10 @@
#define liblldb_DWARFExpression_h_
#include "lldb/Core/Address.h"
-#include "lldb/Core/DataExtractor.h"
#include "lldb/Core/Disassembler.h"
-#include "lldb/Core/Error.h"
#include "lldb/Core/Scalar.h"
+#include "lldb/Utility/DataExtractor.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-private.h"
#include <functional>
diff --git a/include/lldb/Expression/ExpressionParser.h b/include/lldb/Expression/ExpressionParser.h
index 99f583d7ca92..9f33908b8f1b 100644
--- a/include/lldb/Expression/ExpressionParser.h
+++ b/include/lldb/Expression/ExpressionParser.h
@@ -10,7 +10,7 @@
#ifndef liblldb_ExpressionParser_h_
#define liblldb_ExpressionParser_h_
-#include "lldb/Core/Error.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-public.h"
namespace lldb_private {
diff --git a/include/lldb/Expression/ExpressionVariable.h b/include/lldb/Expression/ExpressionVariable.h
index 3f6b020139de..c7570932c15a 100644
--- a/include/lldb/Expression/ExpressionVariable.h
+++ b/include/lldb/Expression/ExpressionVariable.h
@@ -19,8 +19,8 @@
#include "llvm/ADT/DenseMap.h"
// Project includes
-#include "lldb/Core/ConstString.h"
#include "lldb/Core/ValueObject.h"
+#include "lldb/Utility/ConstString.h"
#include "lldb/lldb-public.h"
namespace lldb_private {
diff --git a/include/lldb/Expression/IRExecutionUnit.h b/include/lldb/Expression/IRExecutionUnit.h
index 72c1775b550d..635e0b727d5c 100644
--- a/include/lldb/Expression/IRExecutionUnit.h
+++ b/include/lldb/Expression/IRExecutionUnit.h
@@ -22,10 +22,10 @@
#include "llvm/IR/Module.h"
// Project includes
-#include "lldb/Core/DataBufferHeap.h"
#include "lldb/Expression/IRMemoryMap.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Symbol/SymbolContext.h"
+#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/lldb-forward.h"
#include "lldb/lldb-private.h"
diff --git a/include/lldb/Expression/IRInterpreter.h b/include/lldb/Expression/IRInterpreter.h
index b821e6750b2d..f9392c18c25c 100644
--- a/include/lldb/Expression/IRInterpreter.h
+++ b/include/lldb/Expression/IRInterpreter.h
@@ -10,8 +10,8 @@
#ifndef liblldb_IRInterpreter_h_
#define liblldb_IRInterpreter_h_
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/Stream.h"
+#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/Stream.h"
#include "lldb/lldb-public.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Pass.h"
diff --git a/include/lldb/Expression/IRMemoryMap.h b/include/lldb/Expression/IRMemoryMap.h
index 405de51bfc45..c1a194d1afad 100644
--- a/include/lldb/Expression/IRMemoryMap.h
+++ b/include/lldb/Expression/IRMemoryMap.h
@@ -10,8 +10,8 @@
#ifndef lldb_IRMemoryMap_h_
#define lldb_IRMemoryMap_h_
-#include "lldb/Core/DataBufferHeap.h"
-#include "lldb/Core/UserID.h"
+#include "lldb/Utility/DataBufferHeap.h"
+#include "lldb/Utility/UserID.h"
#include "lldb/lldb-public.h"
#include <map>
diff --git a/include/lldb/Expression/Materializer.h b/include/lldb/Expression/Materializer.h
index 4874929136fd..ed3f91cc67ec 100644
--- a/include/lldb/Expression/Materializer.h
+++ b/include/lldb/Expression/Materializer.h
@@ -17,10 +17,10 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/Error.h"
#include "lldb/Expression/IRMemoryMap.h"
#include "lldb/Symbol/TaggedASTType.h"
#include "lldb/Target/StackFrame.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-private-types.h"
namespace lldb_private {
diff --git a/include/lldb/Host/Config.h b/include/lldb/Host/Config.h
index 16845ae9327b..95d0191397b3 100644
--- a/include/lldb/Host/Config.h
+++ b/include/lldb/Host/Config.h
@@ -7,42 +7,21 @@
//
//===----------------------------------------------------------------------===//
-#ifndef liblldb_Config_h_
-#define liblldb_Config_h_
-
+#ifndef LLDB_HOST_CONFIG_H
+#define LLDB_HOST_CONFIG_H
+
#if defined(__APPLE__)
-#include "lldb/Host/macosx/Config.h"
-
-#elif defined(__ANDROID__)
-
-#include "lldb/Host/android/Config.h"
-
-#elif defined(__linux__) || defined(__GNU__)
-
-#include "lldb/Host/linux/Config.h"
-
-#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
- defined(__OpenBSD__)
-
-#include "lldb/Host/freebsd/Config.h"
-
-#elif defined(__NetBSD__)
-
-#include "lldb/Host/netbsd/Config.h"
-
-#elif defined(__MINGW__) || defined(__MINGW32__)
-
-#include "lldb/Host/mingw/Config.h"
-
-#elif defined(_MSC_VER)
+// This block of code only exists to keep the Xcode project working in the
+// absence of a configuration step.
+#define LLDB_CONFIG_TERMIOS_SUPPORTED 1
-#include "lldb/Host/msvc/Config.h"
+#define HAVE_SYS_EVENT_H 1
#else
-#error undefined platform
+#error This file is only used by the Xcode build.
#endif
-#endif // #ifndef liblldb_Config_h_
+#endif // #ifndef LLDB_HOST_CONFIG_H
diff --git a/include/lldb/Host/Config.h.cmake b/include/lldb/Host/Config.h.cmake
new file mode 100644
index 000000000000..d072c1a08687
--- /dev/null
+++ b/include/lldb/Host/Config.h.cmake
@@ -0,0 +1,19 @@
+//===-- Config.h -----------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLDB_HOST_CONFIG_H
+#define LLDB_HOST_CONFIG_H
+
+#cmakedefine LLDB_CONFIG_TERMIOS_SUPPORTED
+
+#cmakedefine LLDB_DISABLE_POSIX
+
+#cmakedefine01 HAVE_SYS_EVENT_H
+
+#endif // #ifndef LLDB_HOST_CONFIG_H
diff --git a/include/lldb/Host/Editline.h b/include/lldb/Host/Editline.h
index faed373bc218..2b1a8e047261 100644
--- a/include/lldb/Host/Editline.h
+++ b/include/lldb/Host/Editline.h
@@ -43,7 +43,8 @@
// will only be
// used in cases where this is true. This is a compile time dependecy, for now
// selected per target Platform
-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
+ defined(__OpenBSD__)
#define LLDB_EDITLINE_USE_WCHAR 1
#include <codecvt>
#else
@@ -64,8 +65,8 @@
#include <vector>
#include "lldb/Host/ConnectionFileDescriptor.h"
-#include "lldb/Host/FileSpec.h"
#include "lldb/Host/Predicate.h"
+#include "lldb/Utility/FileSpec.h"
namespace lldb_private {
namespace line_editor {
diff --git a/include/lldb/Host/File.h b/include/lldb/Host/File.h
index 6fa4e568218f..35317780f1ce 100644
--- a/include/lldb/Host/File.h
+++ b/include/lldb/Host/File.h
@@ -10,18 +10,15 @@
#ifndef liblldb_File_h_
#define liblldb_File_h_
-// C Includes
-// C++ Includes
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-
-// Other libraries and framework includes
-// Project includes
#include "lldb/Host/IOObject.h"
#include "lldb/Host/PosixApi.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-private.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+
namespace lldb_private {
//----------------------------------------------------------------------
diff --git a/include/lldb/Host/FileCache.h b/include/lldb/Host/FileCache.h
index 1667d05e2a52..094ee695ce32 100644
--- a/include/lldb/Host/FileCache.h
+++ b/include/lldb/Host/FileCache.h
@@ -9,13 +9,14 @@
#ifndef liblldb_Host_FileCache_h
#define liblldb_Host_FileCache_h
+#include <map>
#include <stdint.h>
#include "lldb/lldb-forward.h"
#include "lldb/lldb-types.h"
-#include "lldb/Core/Error.h"
-#include "lldb/Host/FileSpec.h"
+#include "lldb/Utility/Error.h"
+#include "lldb/Utility/FileSpec.h"
namespace lldb_private {
class FileCache {
diff --git a/include/lldb/Host/FileSystem.h b/include/lldb/Host/FileSystem.h
index 6dbea6d2cce3..794308ff4244 100644
--- a/include/lldb/Host/FileSystem.h
+++ b/include/lldb/Host/FileSystem.h
@@ -10,8 +10,8 @@
#ifndef liblldb_Host_FileSystem_h
#define liblldb_Host_FileSystem_h
-#include "lldb/Core/Error.h"
-#include "lldb/Host/FileSpec.h"
+#include "lldb/Utility/Error.h"
+#include "lldb/Utility/FileSpec.h"
#include "llvm/Support/Chrono.h"
#include "lldb/lldb-types.h"
@@ -26,47 +26,15 @@ public:
static const char *DEV_NULL;
static const char *PATH_CONVERSION_ERROR;
- static FileSpec::PathSyntax GetNativePathSyntax();
-
- static Error MakeDirectory(const FileSpec &file_spec, uint32_t mode);
- static Error DeleteDirectory(const FileSpec &file_spec, bool recurse);
-
- static Error GetFilePermissions(const FileSpec &file_spec,
- uint32_t &file_permissions);
- static Error SetFilePermissions(const FileSpec &file_spec,
- uint32_t file_permissions);
- static lldb::user_id_t GetFileSize(const FileSpec &file_spec);
- static bool GetFileExists(const FileSpec &file_spec);
-
- static Error Hardlink(const FileSpec &src, const FileSpec &dst);
- static int GetHardlinkCount(const FileSpec &file_spec);
static Error Symlink(const FileSpec &src, const FileSpec &dst);
static Error Readlink(const FileSpec &src, FileSpec &dst);
- static Error Unlink(const FileSpec &file_spec);
static Error ResolveSymbolicLink(const FileSpec &src, FileSpec &dst);
- static bool CalculateMD5(const FileSpec &file_spec, uint64_t &low,
- uint64_t &high);
- static bool CalculateMD5(const FileSpec &file_spec, uint64_t offset,
- uint64_t length, uint64_t &low, uint64_t &high);
-
- static bool CalculateMD5AsString(const FileSpec &file_spec,
- std::string &digest_str);
- static bool CalculateMD5AsString(const FileSpec &file_spec, uint64_t offset,
- uint64_t length, std::string &digest_str);
-
- /// Return \b true if \a spec is on a locally mounted file system, \b false
- /// otherwise.
- static bool IsLocal(const FileSpec &spec);
-
/// Wraps ::fopen in a platform-independent way. Once opened, FILEs can be
/// manipulated and closed with the normal ::fread, ::fclose, etc. functions.
static FILE *Fopen(const char *path, const char *mode);
- /// Wraps ::stat in a platform-independent way.
- static int Stat(const char *path, struct stat *stats);
-
static llvm::sys::TimePoint<> GetModificationTime(const FileSpec &file_spec);
};
}
diff --git a/include/lldb/Host/Host.h b/include/lldb/Host/Host.h
index 64c0dd6cef6b..8415d429d5e2 100644
--- a/include/lldb/Host/Host.h
+++ b/include/lldb/Host/Host.h
@@ -16,10 +16,10 @@
#include <map>
#include <string>
-#include "lldb/Core/StringList.h"
#include "lldb/Host/File.h"
-#include "lldb/Host/FileSpec.h"
#include "lldb/Host/HostThread.h"
+#include "lldb/Utility/FileSpec.h"
+#include "lldb/Utility/StringList.h"
#include "lldb/lldb-private-forward.h"
#include "lldb/lldb-private.h"
@@ -100,14 +100,6 @@ public:
static void Kill(lldb::pid_t pid, int signo);
//------------------------------------------------------------------
- /// Get the thread ID for the calling thread in the current process.
- ///
- /// @return
- /// The thread ID for the calling thread in the current process.
- //------------------------------------------------------------------
- static lldb::tid_t GetCurrentThreadID();
-
- //------------------------------------------------------------------
/// Get the thread token (the one returned by ThreadCreate when the thread was
/// created) for the
/// calling thread in the current process.
@@ -193,7 +185,7 @@ public:
static bool GetProcessInfo(lldb::pid_t pid, ProcessInstanceInfo &proc_info);
#if (defined(__APPLE__) || defined(__linux__) || defined(__FreeBSD__) || \
- defined(__GLIBC__) || defined(__NetBSD__)) && \
+ defined(__GLIBC__) || defined(__NetBSD__) || defined(__OpenBSD__)) && \
!defined(__ANDROID__)
static short GetPosixspawnFlags(const ProcessLaunchInfo &launch_info);
@@ -246,10 +238,6 @@ public:
uint32_t timeout_sec,
bool run_in_default_shell = true);
- static lldb::DataBufferSP GetAuxvData(lldb_private::Process *process);
-
- static lldb::DataBufferSP GetAuxvData(lldb::pid_t pid);
-
static bool OpenFileInExternalEditor(const FileSpec &file_spec,
uint32_t line_no);
diff --git a/include/lldb/Host/HostInfo.h b/include/lldb/Host/HostInfo.h
index 4646be2b9234..b4a2f8baf37f 100644
--- a/include/lldb/Host/HostInfo.h
+++ b/include/lldb/Host/HostInfo.h
@@ -51,6 +51,9 @@
#elif defined(__NetBSD__)
#include "lldb/Host/netbsd/HostInfoNetBSD.h"
#define HOST_INFO_TYPE HostInfoNetBSD
+#elif defined(__OpenBSD__)
+#include "lldb/Host/openbsd/HostInfoOpenBSD.h"
+#define HOST_INFO_TYPE HostInfoOpenBSD
#elif defined(__APPLE__)
#include "lldb/Host/macosx/HostInfoMacOSX.h"
#define HOST_INFO_TYPE HostInfoMacOSX
diff --git a/include/lldb/Host/HostInfoBase.h b/include/lldb/Host/HostInfoBase.h
index 74ac79b690b9..42e3fc3fd1da 100644
--- a/include/lldb/Host/HostInfoBase.h
+++ b/include/lldb/Host/HostInfoBase.h
@@ -11,7 +11,7 @@
#define lldb_Host_HostInfoBase_h_
#include "lldb/Core/ArchSpec.h"
-#include "lldb/Host/FileSpec.h"
+#include "lldb/Utility/FileSpec.h"
#include "lldb/lldb-enumerations.h"
#include "llvm/ADT/StringRef.h"
@@ -35,39 +35,6 @@ public:
static void Terminate();
//------------------------------------------------------------------
- /// Returns the number of CPUs on this current host.
- ///
- /// @return
- /// Number of CPUs on this current host, or zero if the number
- /// of CPUs can't be determined on this host.
- //------------------------------------------------------------------
- static uint32_t GetNumberCPUS();
-
- //------------------------------------------------------------------
- /// Returns the maximum length of a thread name on this platform.
- ///
- /// @return
- /// Maximum length of a thread name on this platform.
- //------------------------------------------------------------------
- static uint32_t GetMaxThreadNameLength();
-
- //------------------------------------------------------------------
- /// Gets the host vendor string.
- ///
- /// @return
- /// A const string object containing the host vendor name.
- //------------------------------------------------------------------
- static llvm::StringRef GetVendorString();
-
- //------------------------------------------------------------------
- /// Gets the host Operating System (OS) string.
- ///
- /// @return
- /// A const string object containing the host OS name.
- //------------------------------------------------------------------
- static llvm::StringRef GetOSString();
-
- //------------------------------------------------------------------
/// Gets the host target triple as a const string.
///
/// @return
diff --git a/include/lldb/Host/HostNativeProcessBase.h b/include/lldb/Host/HostNativeProcessBase.h
index 204f78eab583..0befe867c296 100644
--- a/include/lldb/Host/HostNativeProcessBase.h
+++ b/include/lldb/Host/HostNativeProcessBase.h
@@ -10,8 +10,8 @@
#ifndef lldb_Host_HostNativeProcessBase_h_
#define lldb_Host_HostNativeProcessBase_h_
-#include "lldb/Core/Error.h"
#include "lldb/Host/HostProcess.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-defines.h"
#include "lldb/lldb-types.h"
diff --git a/include/lldb/Host/HostNativeThread.h b/include/lldb/Host/HostNativeThread.h
index b0411cad7a3e..e33d978d5ae4 100644
--- a/include/lldb/Host/HostNativeThread.h
+++ b/include/lldb/Host/HostNativeThread.h
@@ -14,14 +14,10 @@
#if defined(_WIN32)
#include "lldb/Host/windows/HostThreadWindows.h"
-#elif defined(__linux__)
-#include "lldb/Host/linux/HostThreadLinux.h"
-#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
-#include "lldb/Host/freebsd/HostThreadFreeBSD.h"
-#elif defined(__NetBSD__)
-#include "lldb/Host/netbsd/HostThreadNetBSD.h"
#elif defined(__APPLE__)
#include "lldb/Host/macosx/HostThreadMacOSX.h"
+#else
+#include "lldb/Host/posix/HostThreadPosix.h"
#endif
#endif
diff --git a/include/lldb/Host/HostNativeThreadBase.h b/include/lldb/Host/HostNativeThreadBase.h
index 284b754266fb..9bf86e0759f5 100644
--- a/include/lldb/Host/HostNativeThreadBase.h
+++ b/include/lldb/Host/HostNativeThreadBase.h
@@ -10,7 +10,7 @@
#ifndef lldb_Host_HostNativeThreadBase_h_
#define lldb_Host_HostNativeThreadBase_h_
-#include "lldb/Core/Error.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-defines.h"
#include "lldb/lldb-types.h"
diff --git a/include/lldb/Host/HostNativeThreadForward.h b/include/lldb/Host/HostNativeThreadForward.h
index 5b832136acf5..4691a22ac844 100644
--- a/include/lldb/Host/HostNativeThreadForward.h
+++ b/include/lldb/Host/HostNativeThreadForward.h
@@ -14,18 +14,12 @@ namespace lldb_private {
#if defined(_WIN32)
class HostThreadWindows;
typedef HostThreadWindows HostNativeThread;
-#elif defined(__linux__)
-class HostThreadLinux;
-typedef HostThreadLinux HostNativeThread;
-#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
-class HostThreadFreeBSD;
-typedef HostThreadFreeBSD HostNativeThread;
-#elif defined(__NetBSD__)
-class HostThreadNetBSD;
-typedef HostThreadNetBSD HostNativeThread;
#elif defined(__APPLE__)
class HostThreadMacOSX;
typedef HostThreadMacOSX HostNativeThread;
+#else
+class HostThreadPosix;
+typedef HostThreadPosix HostNativeThread;
#endif
}
diff --git a/include/lldb/Host/HostThread.h b/include/lldb/Host/HostThread.h
index d14f0f6c638c..96314813cf7c 100644
--- a/include/lldb/Host/HostThread.h
+++ b/include/lldb/Host/HostThread.h
@@ -10,8 +10,8 @@
#ifndef lldb_Host_HostThread_h_
#define lldb_Host_HostThread_h_
-#include "lldb/Core/Error.h"
#include "lldb/Host/HostNativeThreadForward.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-types.h"
#include <memory>
diff --git a/include/lldb/Host/LockFileBase.h b/include/lldb/Host/LockFileBase.h
index 3b2f72357bd4..74eafb279324 100644
--- a/include/lldb/Host/LockFileBase.h
+++ b/include/lldb/Host/LockFileBase.h
@@ -10,7 +10,7 @@
#ifndef liblldb_Host_LockFileBase_h_
#define liblldb_Host_LockFileBase_h_
-#include "lldb/Core/Error.h"
+#include "lldb/Utility/Error.h"
#include <functional>
diff --git a/include/lldb/Host/MainLoopBase.h b/include/lldb/Host/MainLoopBase.h
index cd29796bc9d6..b746a9cb208c 100644
--- a/include/lldb/Host/MainLoopBase.h
+++ b/include/lldb/Host/MainLoopBase.h
@@ -14,8 +14,8 @@
#include "llvm/Support/ErrorHandling.h"
-#include "lldb/Core/Error.h"
#include "lldb/Host/IOObject.h"
+#include "lldb/Utility/Error.h"
namespace lldb_private {
diff --git a/include/lldb/Host/PipeBase.h b/include/lldb/Host/PipeBase.h
index e3d7c25a9ae2..f141b5d413a0 100644
--- a/include/lldb/Host/PipeBase.h
+++ b/include/lldb/Host/PipeBase.h
@@ -14,7 +14,7 @@
#include <chrono>
#include <string>
-#include "lldb/Core/Error.h"
+#include "lldb/Utility/Error.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
diff --git a/include/lldb/Utility/PseudoTerminal.h b/include/lldb/Host/PseudoTerminal.h
index fbe93343452e..fdbf6df1a186 100644
--- a/include/lldb/Utility/PseudoTerminal.h
+++ b/include/lldb/Host/PseudoTerminal.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef liblldb_PseudoTerminal_h_
-#define liblldb_PseudoTerminal_h_
+#ifndef LLDB_HOST_PSEUDOTERMINAL_H
+#define LLDB_HOST_PSEUDOTERMINAL_H
#if defined(__cplusplus)
#include <fcntl.h>
@@ -19,7 +19,7 @@
namespace lldb_utility {
//----------------------------------------------------------------------
-/// @class PseudoTerminal PseudoTerminal.h "lldb/Core/PseudoTerminal.h"
+/// @class PseudoTerminal PseudoTerminal.h "lldb/Host/PseudoTerminal.h"
/// @brief A pseudo terminal helper class.
///
/// The pseudo terminal class abstracts the use of pseudo terminals on
diff --git a/include/lldb/Host/Socket.h b/include/lldb/Host/Socket.h
index 1ad3ca765cba..386133e96952 100644
--- a/include/lldb/Host/Socket.h
+++ b/include/lldb/Host/Socket.h
@@ -15,10 +15,10 @@
#include "lldb/lldb-private.h"
-#include "lldb/Core/Error.h"
#include "lldb/Host/IOObject.h"
#include "lldb/Host/Predicate.h"
#include "lldb/Host/SocketAddress.h"
+#include "lldb/Utility/Error.h"
#ifdef _WIN32
#include "lldb/Host/windows/windows.h"
@@ -71,8 +71,7 @@ public:
static Error TcpConnect(llvm::StringRef host_and_port,
bool child_processes_inherit, Socket *&socket);
static Error UdpConnect(llvm::StringRef host_and_port,
- bool child_processes_inherit, Socket *&send_socket,
- Socket *&recv_socket);
+ bool child_processes_inherit, Socket *&socket);
static Error UnixDomainConnect(llvm::StringRef host_and_port,
bool child_processes_inherit, Socket *&socket);
static Error UnixDomainAccept(llvm::StringRef host_and_port,
diff --git a/include/lldb/Host/SocketAddress.h b/include/lldb/Host/SocketAddress.h
index 3d1ed906e1ef..bc66ad915bbe 100644
--- a/include/lldb/Host/SocketAddress.h
+++ b/include/lldb/Host/SocketAddress.h
@@ -32,15 +32,23 @@ typedef ADDRESS_FAMILY sa_family_t;
// Other libraries and framework includes
// Project includes
#include <string>
+#include <vector>
namespace lldb_private {
class SocketAddress {
public:
+ //----------------------------------------------------------------------------
+ // Static method to get all address information for a host and/or service
+ //----------------------------------------------------------------------------
+ static std::vector<SocketAddress> GetAddressInfo(const char *hostname,
+ const char *servname);
+
//------------------------------------------------------------------
// Constructors and Destructors
//------------------------------------------------------------------
SocketAddress();
+ SocketAddress(const struct addrinfo *addr_info);
SocketAddress(const struct sockaddr &s);
SocketAddress(const struct sockaddr_in &s);
SocketAddress(const struct sockaddr_in6 &s);
@@ -63,6 +71,9 @@ public:
const SocketAddress &operator=(const struct sockaddr_storage &s);
+ bool operator==(const SocketAddress &rhs) const;
+ bool operator!=(const SocketAddress &rhs) const;
+
//------------------------------------------------------------------
// Clear the contents of this socket address
//------------------------------------------------------------------
@@ -135,6 +146,11 @@ public:
bool IsValid() const;
//------------------------------------------------------------------
+ // Returns true if the socket is INADDR_ANY
+ //------------------------------------------------------------------
+ bool IsAnyAddr() const;
+
+ //------------------------------------------------------------------
// Direct access to all of the sockaddr structures
//------------------------------------------------------------------
struct sockaddr &sockaddr() {
diff --git a/include/lldb/Host/Symbols.h b/include/lldb/Host/Symbols.h
index 1339c064d54c..5f8632d221f7 100644
--- a/include/lldb/Host/Symbols.h
+++ b/include/lldb/Host/Symbols.h
@@ -16,10 +16,14 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/Host/FileSpec.h"
+#include "lldb/Utility/FileSpec.h"
namespace lldb_private {
+class ArchSpec;
+class ModuleSpec;
+class UUID;
+
class Symbols {
public:
//----------------------------------------------------------------------
diff --git a/include/lldb/Host/ThisThread.h b/include/lldb/Host/ThisThread.h
deleted file mode 100644
index 1392b10e1382..000000000000
--- a/include/lldb/Host/ThisThread.h
+++ /dev/null
@@ -1,37 +0,0 @@
-//===-- ThisThread.h --------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef lldb_Host_ThisThread_h_
-#define lldb_Host_ThisThread_h_
-
-#include "llvm/ADT/StringRef.h"
-
-#include <string>
-
-namespace llvm {
-template <class T> class SmallVectorImpl;
-}
-
-namespace lldb_private {
-
-class ThisThread {
-private:
- ThisThread();
-
-public:
- // ThisThread common functions.
- static void SetName(llvm::StringRef name, int max_length);
-
- // ThisThread platform-specific functions.
- static void SetName(llvm::StringRef name);
- static void GetName(llvm::SmallVectorImpl<char> &name);
-};
-}
-
-#endif
diff --git a/include/lldb/Host/ThreadLauncher.h b/include/lldb/Host/ThreadLauncher.h
index 0f2cb37c835a..4e388ca6bb9c 100644
--- a/include/lldb/Host/ThreadLauncher.h
+++ b/include/lldb/Host/ThreadLauncher.h
@@ -11,8 +11,8 @@
#ifndef lldb_Host_ThreadLauncher_h_
#define lldb_Host_ThreadLauncher_h_
-#include "lldb/Core/Error.h"
#include "lldb/Host/HostThread.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-types.h"
#include "llvm/ADT/StringRef.h"
diff --git a/include/lldb/Host/XML.h b/include/lldb/Host/XML.h
index 4113b3318dd0..04677625672c 100644
--- a/include/lldb/Host/XML.h
+++ b/include/lldb/Host/XML.h
@@ -24,8 +24,8 @@
#include "llvm/ADT/StringRef.h"
// Project includes
-#include "lldb/Core/StreamString.h"
#include "lldb/Core/StructuredData.h"
+#include "lldb/Utility/StreamString.h"
#include "lldb/lldb-private.h"
namespace lldb_private {
diff --git a/include/lldb/Host/android/Config.h b/include/lldb/Host/android/Config.h
deleted file mode 100644
index f16ed86cabb8..000000000000
--- a/include/lldb/Host/android/Config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-//===-- Config.h -----------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-//----------------------------------------------------------------------
-// LLDB currently doesn't have a dynamic configuration mechanism, so we
-// are going to hardcode things for now. Eventually these files will
-// be auto generated by some configuration script that can detect
-// platform functionality availability.
-//----------------------------------------------------------------------
-
-#ifndef liblldb_Platform_Config_h_
-#define liblldb_Platform_Config_h_
-
-#define LLDB_CONFIG_TERMIOS_SUPPORTED 1
-
-//#define LLDB_CONFIG_TILDE_RESOLVES_TO_USER 1
-
-//#define LLDB_CONFIG_DLOPEN_RTLD_FIRST_SUPPORTED 1
-
-//#define LLDB_CONFIG_FCNTL_GETPATH_SUPPORTED 1
-
-#endif // #ifndef liblldb_Platform_Config_h_
diff --git a/include/lldb/Host/common/NativeBreakpointList.h b/include/lldb/Host/common/NativeBreakpointList.h
index 2bb8e565f464..1d314e02b1d5 100644
--- a/include/lldb/Host/common/NativeBreakpointList.h
+++ b/include/lldb/Host/common/NativeBreakpointList.h
@@ -10,7 +10,7 @@
#ifndef liblldb_NativeBreakpointList_h_
#define liblldb_NativeBreakpointList_h_
-#include "lldb/Core/Error.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-private-forward.h"
// #include "lldb/Host/NativeBreakpoint.h"
@@ -19,6 +19,14 @@
#include <mutex>
namespace lldb_private {
+
+struct HardwareBreakpoint {
+ lldb::addr_t m_addr;
+ size_t m_size;
+};
+
+using HardwareBreakpointMap = std::map<lldb::addr_t, HardwareBreakpoint>;
+
class NativeBreakpointList {
public:
typedef std::function<Error(lldb::addr_t addr, size_t size_hint,
diff --git a/include/lldb/Host/common/NativeProcessProtocol.h b/include/lldb/Host/common/NativeProcessProtocol.h
index a0f03b0dafa3..7ad09d41eacf 100644
--- a/include/lldb/Host/common/NativeProcessProtocol.h
+++ b/include/lldb/Host/common/NativeProcessProtocol.h
@@ -10,14 +10,15 @@
#ifndef liblldb_NativeProcessProtocol_h_
#define liblldb_NativeProcessProtocol_h_
-#include <mutex>
-#include <vector>
-
-#include "lldb/Core/Error.h"
#include "lldb/Host/MainLoop.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-private-forward.h"
#include "lldb/lldb-types.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/StringRef.h"
+#include "llvm/Support/MemoryBuffer.h"
+#include <vector>
#include "NativeBreakpointList.h"
#include "NativeWatchpointList.h"
@@ -64,6 +65,12 @@ public:
virtual Error Kill() = 0;
+ //------------------------------------------------------------------
+ // Tells a process not to stop the inferior on given signals
+ // and just reinject them back.
+ //------------------------------------------------------------------
+ virtual Error IgnoreSignals(llvm::ArrayRef<int> signals);
+
//----------------------------------------------------------------------
// Memory and memory region functions
//----------------------------------------------------------------------
@@ -99,18 +106,28 @@ public:
virtual Error SetBreakpoint(lldb::addr_t addr, uint32_t size,
bool hardware) = 0;
- virtual Error RemoveBreakpoint(lldb::addr_t addr);
+ virtual Error RemoveBreakpoint(lldb::addr_t addr, bool hardware = false);
virtual Error EnableBreakpoint(lldb::addr_t addr);
virtual Error DisableBreakpoint(lldb::addr_t addr);
//----------------------------------------------------------------------
+ // Hardware Breakpoint functions
+ //----------------------------------------------------------------------
+ virtual const HardwareBreakpointMap &GetHardwareBreakpointMap() const;
+
+ virtual Error SetHardwareBreakpoint(lldb::addr_t addr, size_t size);
+
+ virtual Error RemoveHardwareBreakpoint(lldb::addr_t addr);
+
+ //----------------------------------------------------------------------
// Watchpoint functions
//----------------------------------------------------------------------
virtual const NativeWatchpointList::WatchpointMap &GetWatchpointMap() const;
- virtual uint32_t GetMaxWatchpoints() const;
+ virtual llvm::Optional<std::pair<uint32_t, uint32_t>>
+ GetHardwareDebugSupportInfo() const;
virtual Error SetWatchpoint(lldb::addr_t addr, size_t size,
uint32_t watch_flags, bool hardware);
@@ -134,6 +151,9 @@ public:
bool GetByteOrder(lldb::ByteOrder &byte_order) const;
+ virtual llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
+ GetAuxvData() const = 0;
+
//----------------------------------------------------------------------
// Exit Status
//----------------------------------------------------------------------
@@ -305,9 +325,14 @@ protected:
std::vector<NativeDelegate *> m_delegates;
NativeBreakpointList m_breakpoint_list;
NativeWatchpointList m_watchpoint_list;
+ HardwareBreakpointMap m_hw_breakpoints_map;
int m_terminal_fd;
uint32_t m_stop_id;
+ // Set of signal numbers that LLDB directly injects back to inferior
+ // without stopping it.
+ llvm::DenseSet<int> m_signals_to_ignore;
+
// lldb_private::Host calls should be used to launch a process for debugging,
// and
// then the process should be attached to. When attaching to a process
diff --git a/include/lldb/Host/common/NativeRegisterContext.h b/include/lldb/Host/common/NativeRegisterContext.h
index dd583d7866a8..1d8b51c60cc4 100644
--- a/include/lldb/Host/common/NativeRegisterContext.h
+++ b/include/lldb/Host/common/NativeRegisterContext.h
@@ -75,6 +75,11 @@ public:
virtual bool ClearHardwareBreakpoint(uint32_t hw_idx);
+ virtual Error ClearAllHardwareBreakpoints();
+
+ virtual Error GetHardwareBreakHitIndex(uint32_t &bp_index,
+ lldb::addr_t trap_addr);
+
virtual uint32_t NumSupportedHardwareWatchpoints();
virtual uint32_t SetHardwareWatchpoint(lldb::addr_t addr, size_t size,
diff --git a/include/lldb/Host/common/NativeThreadProtocol.h b/include/lldb/Host/common/NativeThreadProtocol.h
index 450e74630e71..8f26616a2b4a 100644
--- a/include/lldb/Host/common/NativeThreadProtocol.h
+++ b/include/lldb/Host/common/NativeThreadProtocol.h
@@ -56,6 +56,13 @@ public:
virtual Error RemoveWatchpoint(lldb::addr_t addr) = 0;
+ // ---------------------------------------------------------------------
+ // Thread-specific Hardware Breakpoint routines
+ // ---------------------------------------------------------------------
+ virtual Error SetHardwareBreakpoint(lldb::addr_t addr, size_t size) = 0;
+
+ virtual Error RemoveHardwareBreakpoint(lldb::addr_t addr) = 0;
+
protected:
NativeProcessProtocolWP m_process_wp;
lldb::tid_t m_tid;
diff --git a/include/lldb/Host/common/NativeWatchpointList.h b/include/lldb/Host/common/NativeWatchpointList.h
index 2424e5613332..ae3476f5f07e 100644
--- a/include/lldb/Host/common/NativeWatchpointList.h
+++ b/include/lldb/Host/common/NativeWatchpointList.h
@@ -10,7 +10,7 @@
#ifndef liblldb_NativeWatchpointList_h_
#define liblldb_NativeWatchpointList_h_
-#include "lldb/Core/Error.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-private-forward.h"
#include <map>
diff --git a/include/lldb/Host/common/UDPSocket.h b/include/lldb/Host/common/UDPSocket.h
index 153804be2603..507c9827caf6 100644
--- a/include/lldb/Host/common/UDPSocket.h
+++ b/include/lldb/Host/common/UDPSocket.h
@@ -18,7 +18,7 @@ public:
UDPSocket(bool child_processes_inherit, Error &error);
static Error Connect(llvm::StringRef name, bool child_processes_inherit,
- Socket *&send_socket, Socket *&recv_socket);
+ Socket *&socket);
private:
UDPSocket(NativeSocket socket);
@@ -29,7 +29,7 @@ private:
Error Accept(llvm::StringRef name, bool child_processes_inherit,
Socket *&socket) override;
- SocketAddress m_send_sockaddr;
+ SocketAddress m_sockaddr;
};
}
diff --git a/include/lldb/Host/freebsd/Config.h b/include/lldb/Host/freebsd/Config.h
deleted file mode 100644
index 1e9f55299d52..000000000000
--- a/include/lldb/Host/freebsd/Config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-//===-- Config.h -----------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-//----------------------------------------------------------------------
-// LLDB currently doesn't have a dynamic configuration mechanism, so we
-// are going to hardcode things for now. Eventually these files will
-// be auto generated by some configuration script that can detect
-// platform functionality availability.
-//----------------------------------------------------------------------
-
-#ifndef liblldb_Platform_Config_h_
-#define liblldb_Platform_Config_h_
-
-#define LLDB_CONFIG_TERMIOS_SUPPORTED 1
-
-#define LLDB_CONFIG_TILDE_RESOLVES_TO_USER 1
-
-//#define LLDB_CONFIG_DLOPEN_RTLD_FIRST_SUPPORTED 1
-
-//#define LLDB_CONFIG_FCNTL_GETPATH_SUPPORTED 1
-
-#endif // #ifndef liblldb_Platform_Config_h_
diff --git a/include/lldb/Host/freebsd/HostInfoFreeBSD.h b/include/lldb/Host/freebsd/HostInfoFreeBSD.h
index a549f87740c0..945ec835f778 100644
--- a/include/lldb/Host/freebsd/HostInfoFreeBSD.h
+++ b/include/lldb/Host/freebsd/HostInfoFreeBSD.h
@@ -10,14 +10,13 @@
#ifndef lldb_Host_freebsd_HostInfoFreeBSD_h_
#define lldb_Host_freebsd_HostInfoFreeBSD_h_
-#include "lldb/Host/FileSpec.h"
#include "lldb/Host/posix/HostInfoPosix.h"
+#include "lldb/Utility/FileSpec.h"
namespace lldb_private {
class HostInfoFreeBSD : public HostInfoPosix {
public:
- static uint32_t GetMaxThreadNameLength();
static bool GetOSVersion(uint32_t &major, uint32_t &minor, uint32_t &update);
static bool GetOSBuildString(std::string &s);
static bool GetOSKernelDescription(std::string &s);
diff --git a/include/lldb/Host/freebsd/HostThreadFreeBSD.h b/include/lldb/Host/freebsd/HostThreadFreeBSD.h
deleted file mode 100644
index 2f1d6ceae255..000000000000
--- a/include/lldb/Host/freebsd/HostThreadFreeBSD.h
+++ /dev/null
@@ -1,29 +0,0 @@
-//===-- HostThreadFreeBSD.h -------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef lldb_Host_freebsd_HostThreadFreeBSD_h_
-#define lldb_Host_freebsd_HostThreadFreeBSD_h_
-
-#include "lldb/Host/posix/HostThreadPosix.h"
-
-#include "llvm/ADT/SmallString.h"
-#include "llvm/ADT/StringRef.h"
-
-namespace lldb_private {
-
-class HostThreadFreeBSD : public HostThreadPosix {
-public:
- HostThreadFreeBSD();
- HostThreadFreeBSD(lldb::thread_t thread);
-
- static void GetName(lldb::tid_t tid, llvm::SmallVectorImpl<char> &name);
-};
-}
-
-#endif
diff --git a/include/lldb/Host/linux/Config.h b/include/lldb/Host/linux/Config.h
deleted file mode 100644
index 1e9f55299d52..000000000000
--- a/include/lldb/Host/linux/Config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-//===-- Config.h -----------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-//----------------------------------------------------------------------
-// LLDB currently doesn't have a dynamic configuration mechanism, so we
-// are going to hardcode things for now. Eventually these files will
-// be auto generated by some configuration script that can detect
-// platform functionality availability.
-//----------------------------------------------------------------------
-
-#ifndef liblldb_Platform_Config_h_
-#define liblldb_Platform_Config_h_
-
-#define LLDB_CONFIG_TERMIOS_SUPPORTED 1
-
-#define LLDB_CONFIG_TILDE_RESOLVES_TO_USER 1
-
-//#define LLDB_CONFIG_DLOPEN_RTLD_FIRST_SUPPORTED 1
-
-//#define LLDB_CONFIG_FCNTL_GETPATH_SUPPORTED 1
-
-#endif // #ifndef liblldb_Platform_Config_h_
diff --git a/include/lldb/Host/linux/HostInfoLinux.h b/include/lldb/Host/linux/HostInfoLinux.h
index 8cb97c0b4d6b..d1f2e747b117 100644
--- a/include/lldb/Host/linux/HostInfoLinux.h
+++ b/include/lldb/Host/linux/HostInfoLinux.h
@@ -10,8 +10,8 @@
#ifndef lldb_Host_linux_HostInfoLinux_h_
#define lldb_Host_linux_HostInfoLinux_h_
-#include "lldb/Host/FileSpec.h"
#include "lldb/Host/posix/HostInfoPosix.h"
+#include "lldb/Utility/FileSpec.h"
#include "llvm/ADT/StringRef.h"
@@ -29,7 +29,6 @@ private:
public:
static void Initialize();
- static uint32_t GetMaxThreadNameLength();
static bool GetOSVersion(uint32_t &major, uint32_t &minor, uint32_t &update);
static bool GetOSBuildString(std::string &s);
diff --git a/include/lldb/Host/linux/HostThreadLinux.h b/include/lldb/Host/linux/HostThreadLinux.h
deleted file mode 100644
index ddfa8633ffed..000000000000
--- a/include/lldb/Host/linux/HostThreadLinux.h
+++ /dev/null
@@ -1,30 +0,0 @@
-//===-- HostThreadLinux.h ---------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef lldb_Host_linux_HostThreadLinux_h_
-#define lldb_Host_linux_HostThreadLinux_h_
-
-#include "lldb/Host/posix/HostThreadPosix.h"
-
-#include "llvm/ADT/SmallString.h"
-#include "llvm/ADT/StringRef.h"
-
-namespace lldb_private {
-
-class HostThreadLinux : public HostThreadPosix {
-public:
- HostThreadLinux();
- HostThreadLinux(lldb::thread_t thread);
-
- static void SetName(lldb::thread_t thread, llvm::StringRef name);
- static void GetName(lldb::thread_t thread, llvm::SmallVectorImpl<char> &name);
-};
-}
-
-#endif
diff --git a/include/lldb/Host/linux/Support.h b/include/lldb/Host/linux/Support.h
new file mode 100644
index 000000000000..dae76c78fb4a
--- /dev/null
+++ b/include/lldb/Host/linux/Support.h
@@ -0,0 +1,27 @@
+//===-- Support.h -----------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLDB_HOST_LINUX_SUPPORT_H
+#define LLDB_HOST_LINUX_SUPPORT_H
+
+#include "llvm/Support/ErrorOr.h"
+#include "llvm/Support/MemoryBuffer.h"
+#include <memory>
+
+namespace lldb_private {
+
+llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
+getProcFile(::pid_t pid, ::pid_t tid, const llvm::Twine &file);
+
+llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
+getProcFile(::pid_t pid, const llvm::Twine &file);
+
+} // namespace lldb_private
+
+#endif // #ifndef LLDB_HOST_LINUX_SUPPORT_H
diff --git a/include/lldb/Host/macosx/Config.h b/include/lldb/Host/macosx/Config.h
deleted file mode 100644
index ef8e02cfa4da..000000000000
--- a/include/lldb/Host/macosx/Config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-//===-- Config.h -----------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-//----------------------------------------------------------------------
-// LLDB currently doesn't have a dynamic configuration mechanism, so we
-// are going to hardcode things for now. Eventually these files will
-// be auto generated by some configuration script that can detect
-// platform functionality availability.
-//----------------------------------------------------------------------
-
-#ifndef liblldb_Platform_Config_h_
-#define liblldb_Platform_Config_h_
-
-#define LLDB_CONFIG_TERMIOS_SUPPORTED 1
-
-#define LLDB_CONFIG_TILDE_RESOLVES_TO_USER 1
-
-#define LLDB_CONFIG_DLOPEN_RTLD_FIRST_SUPPORTED 1
-
-#define LLDB_CONFIG_FCNTL_GETPATH_SUPPORTED 1
-
-#endif // #ifndef liblldb_Platform_Config_h_
diff --git a/include/lldb/Host/macosx/HostInfoMacOSX.h b/include/lldb/Host/macosx/HostInfoMacOSX.h
index b182b9bce147..eee842beec87 100644
--- a/include/lldb/Host/macosx/HostInfoMacOSX.h
+++ b/include/lldb/Host/macosx/HostInfoMacOSX.h
@@ -10,8 +10,8 @@
#ifndef lldb_Host_macosx_HostInfoMacOSX_h_
#define lldb_Host_macosx_HostInfoMacOSX_h_
-#include "lldb/Host/FileSpec.h"
#include "lldb/Host/posix/HostInfoPosix.h"
+#include "lldb/Utility/FileSpec.h"
namespace lldb_private {
@@ -30,7 +30,6 @@ public:
static bool GetOSBuildString(std::string &s);
static bool GetOSKernelDescription(std::string &s);
static FileSpec GetProgramFileSpec();
- static uint32_t GetMaxThreadNameLength();
protected:
static bool ComputeSupportExeDirectory(FileSpec &file_spec);
diff --git a/include/lldb/Host/mingw/Config.h b/include/lldb/Host/mingw/Config.h
deleted file mode 100644
index 9cf2735ab709..000000000000
--- a/include/lldb/Host/mingw/Config.h
+++ /dev/null
@@ -1,30 +0,0 @@
-//===-- Config.h -----------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-//----------------------------------------------------------------------
-// LLDB currently doesn't have a dynamic configuration mechanism, so we
-// are going to hardcode things for now. Eventually these files will
-// be auto generated by some configuration script that can detect
-// platform functionality availability.
-//----------------------------------------------------------------------
-
-#ifndef liblldb_Platform_Config_h_
-#define liblldb_Platform_Config_h_
-
-#define LLDB_DISABLE_POSIX
-
-//#define LLDB_CONFIG_TERMIOS_SUPPORTED 1
-
-//#define LLDB_CONFIG_TILDE_RESOLVES_TO_USER 1
-
-//#define LLDB_CONFIG_DLOPEN_RTLD_FIRST_SUPPORTED 1
-
-//#define LLDB_CONFIG_FCNTL_GETPATH_SUPPORTED 1
-
-#endif // #ifndef liblldb_Platform_Config_h_
diff --git a/include/lldb/Host/msvc/Config.h b/include/lldb/Host/msvc/Config.h
deleted file mode 100644
index 37dfbf58a854..000000000000
--- a/include/lldb/Host/msvc/Config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//===-- Config.h -----------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-//----------------------------------------------------------------------
-// LLDB currently doesn't have a dynamic configuration mechanism, so we
-// are going to hardcode things for now. Eventually these files will
-// be auto generated by some configuration script that can detect
-// platform functionality availability.
-//----------------------------------------------------------------------
-
-#ifndef liblldb_host_msvc_Config_h_
-#define liblldb_host_msvc_Config_h_
-
-#define LLDB_DISABLE_POSIX
-
-//#define LLDB_CONFIG_TERMIOS_SUPPORTED 1
-
-//#define LLDB_CONFIG_TILDE_RESOLVES_TO_USER 1
-
-//#define LLDB_CONFIG_DLOPEN_RTLD_FIRST_SUPPORTED 1
-
-//#define LLDB_CONFIG_FCNTL_GETPATH_SUPPORTED 1
-
-#if _HAS_EXCEPTIONS == 0
-// Due to a bug in <thread>, when _HAS_EXCEPTIONS == 0 the header will try to
-// call
-// uncaught_exception() without having a declaration for it. The fix for this
-// is
-// to manually #include <eh.h>, which contains this declaration.
-#include <eh.h>
-#endif
-
-#endif // #ifndef liblldb_Platform_Config_h_
diff --git a/include/lldb/Host/netbsd/Config.h b/include/lldb/Host/netbsd/Config.h
deleted file mode 100644
index 1e9f55299d52..000000000000
--- a/include/lldb/Host/netbsd/Config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-//===-- Config.h -----------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-//----------------------------------------------------------------------
-// LLDB currently doesn't have a dynamic configuration mechanism, so we
-// are going to hardcode things for now. Eventually these files will
-// be auto generated by some configuration script that can detect
-// platform functionality availability.
-//----------------------------------------------------------------------
-
-#ifndef liblldb_Platform_Config_h_
-#define liblldb_Platform_Config_h_
-
-#define LLDB_CONFIG_TERMIOS_SUPPORTED 1
-
-#define LLDB_CONFIG_TILDE_RESOLVES_TO_USER 1
-
-//#define LLDB_CONFIG_DLOPEN_RTLD_FIRST_SUPPORTED 1
-
-//#define LLDB_CONFIG_FCNTL_GETPATH_SUPPORTED 1
-
-#endif // #ifndef liblldb_Platform_Config_h_
diff --git a/include/lldb/Host/netbsd/HostInfoNetBSD.h b/include/lldb/Host/netbsd/HostInfoNetBSD.h
index 684e54e9f052..9ebff6ba6b0e 100644
--- a/include/lldb/Host/netbsd/HostInfoNetBSD.h
+++ b/include/lldb/Host/netbsd/HostInfoNetBSD.h
@@ -10,14 +10,13 @@
#ifndef lldb_Host_netbsd_HostInfoNetBSD_h_
#define lldb_Host_netbsd_HostInfoNetBSD_h_
-#include "lldb/Host/FileSpec.h"
#include "lldb/Host/posix/HostInfoPosix.h"
+#include "lldb/Utility/FileSpec.h"
namespace lldb_private {
class HostInfoNetBSD : public HostInfoPosix {
public:
- static uint32_t GetMaxThreadNameLength();
static bool GetOSVersion(uint32_t &major, uint32_t &minor, uint32_t &update);
static bool GetOSBuildString(std::string &s);
static bool GetOSKernelDescription(std::string &s);
diff --git a/include/lldb/Host/netbsd/HostThreadNetBSD.h b/include/lldb/Host/netbsd/HostThreadNetBSD.h
deleted file mode 100644
index 385f014899f7..000000000000
--- a/include/lldb/Host/netbsd/HostThreadNetBSD.h
+++ /dev/null
@@ -1,30 +0,0 @@
-//===-- HostThreadNetBSD.h -------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef lldb_Host_netbsd_HostThreadNetBSD_h_
-#define lldb_Host_netbsd_HostThreadNetBSD_h_
-
-#include "lldb/Host/posix/HostThreadPosix.h"
-
-#include "llvm/ADT/SmallString.h"
-#include "llvm/ADT/StringRef.h"
-
-namespace lldb_private {
-
-class HostThreadNetBSD : public HostThreadPosix {
-public:
- HostThreadNetBSD();
- HostThreadNetBSD(lldb::thread_t thread);
-
- static void SetName(lldb::thread_t tid, llvm::StringRef &name);
- static void GetName(lldb::thread_t tid, llvm::SmallVectorImpl<char> &name);
-};
-}
-
-#endif
diff --git a/include/lldb/Host/openbsd/HostInfoOpenBSD.h b/include/lldb/Host/openbsd/HostInfoOpenBSD.h
new file mode 100644
index 000000000000..5a0388ffdd97
--- /dev/null
+++ b/include/lldb/Host/openbsd/HostInfoOpenBSD.h
@@ -0,0 +1,27 @@
+//===-- HostInfoOpenBSD.h --------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef lldb_Host_openbsd_HostInfoOpenBSD_h_
+#define lldb_Host_openbsd_HostInfoOpenBSD_h_
+
+#include "lldb/Host/posix/HostInfoPosix.h"
+#include "lldb/Utility/FileSpec.h"
+
+namespace lldb_private {
+
+class HostInfoOpenBSD : public HostInfoPosix {
+public:
+ static bool GetOSVersion(uint32_t &major, uint32_t &minor, uint32_t &update);
+ static bool GetOSBuildString(std::string &s);
+ static bool GetOSKernelDescription(std::string &s);
+ static FileSpec GetProgramFileSpec();
+};
+}
+
+#endif
diff --git a/include/lldb/Host/posix/HostInfoPosix.h b/include/lldb/Host/posix/HostInfoPosix.h
index 6d22776e1854..34994aea44fe 100644
--- a/include/lldb/Host/posix/HostInfoPosix.h
+++ b/include/lldb/Host/posix/HostInfoPosix.h
@@ -10,8 +10,8 @@
#ifndef lldb_Host_posix_HostInfoPosix_h_
#define lldb_Host_posix_HostInfoPosix_h_
-#include "lldb/Host/FileSpec.h"
#include "lldb/Host/HostInfoBase.h"
+#include "lldb/Utility/FileSpec.h"
namespace lldb_private {
diff --git a/include/lldb/Host/posix/HostProcessPosix.h b/include/lldb/Host/posix/HostProcessPosix.h
index 1535e679dd53..aed3cccef2e2 100644
--- a/include/lldb/Host/posix/HostProcessPosix.h
+++ b/include/lldb/Host/posix/HostProcessPosix.h
@@ -14,8 +14,8 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/Error.h"
#include "lldb/Host/HostNativeProcessBase.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-types.h"
namespace lldb_private {
diff --git a/include/lldb/Host/linux/ProcessLauncherLinux.h b/include/lldb/Host/posix/ProcessLauncherPosixFork.h
index 8ad00d091606..77bdab535c1b 100644
--- a/include/lldb/Host/linux/ProcessLauncherLinux.h
+++ b/include/lldb/Host/posix/ProcessLauncherPosixFork.h
@@ -1,4 +1,4 @@
-//===-- ProcessLauncherAndroid.h --------------------------------*- C++ -*-===//
+//===-- ProcessLauncherPosixFork.h ------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,17 +7,17 @@
//
//===----------------------------------------------------------------------===//
-#ifndef lldb_Host_android_ProcessLauncherAndroid_h_
-#define lldb_Host_android_ProcessLauncherAndroid_h_
+#ifndef lldb_Host_posix_ProcessLauncherPosixFork_h_
+#define lldb_Host_posix_ProcessLauncherPosixFork_h_
#include "lldb/Host/ProcessLauncher.h"
namespace lldb_private {
-class ProcessLauncherLinux : public ProcessLauncher {
+class ProcessLauncherPosixFork : public ProcessLauncher {
public:
- virtual HostProcess LaunchProcess(const ProcessLaunchInfo &launch_info,
- Error &error);
+ HostProcess LaunchProcess(const ProcessLaunchInfo &launch_info,
+ Error &error) override;
};
} // end of namespace lldb_private
diff --git a/include/lldb/Host/windows/HostInfoWindows.h b/include/lldb/Host/windows/HostInfoWindows.h
index 5a5d72c2466c..9dfbf93591ed 100644
--- a/include/lldb/Host/windows/HostInfoWindows.h
+++ b/include/lldb/Host/windows/HostInfoWindows.h
@@ -10,8 +10,8 @@
#ifndef lldb_Host_windows_HostInfoWindows_h_
#define lldb_Host_windows_HostInfoWindows_h_
-#include "lldb/Host/FileSpec.h"
#include "lldb/Host/HostInfoBase.h"
+#include "lldb/Utility/FileSpec.h"
namespace lldb_private {
diff --git a/include/lldb/Host/windows/PosixApi.h b/include/lldb/Host/windows/PosixApi.h
index 4f2573781620..de70266a5efb 100644
--- a/include/lldb/Host/windows/PosixApi.h
+++ b/include/lldb/Host/windows/PosixApi.h
@@ -82,8 +82,6 @@ char *strcasestr(const char *s, const char *find);
char *realpath(const char *name, char *resolved);
int usleep(uint32_t useconds);
-char *getcwd(char *path, int max);
-int chdir(const char *path);
char *basename(char *path);
char *dirname(char *path);
diff --git a/include/lldb/Interpreter/Args.h b/include/lldb/Interpreter/Args.h
index 6610be14d0dd..bdbf81e02d9d 100644
--- a/include/lldb/Interpreter/Args.h
+++ b/include/lldb/Interpreter/Args.h
@@ -21,13 +21,14 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
// Project includes
-#include "lldb/Core/Error.h"
-#include "lldb/Host/OptionParser.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-private-types.h"
#include "lldb/lldb-types.h"
namespace lldb_private {
+struct Option;
+
typedef std::vector<std::tuple<std::string, int, std::string>> OptionArgVector;
typedef std::shared_ptr<OptionArgVector> OptionArgVectorSP;
@@ -193,6 +194,15 @@ public:
const char **GetConstArgumentVector() const;
//------------------------------------------------------------------
+ /// Gets the argument as an ArrayRef. Note that the return value does *not*
+ /// have a nullptr const char * at the end, as the size of the list is
+ /// embedded in the ArrayRef object.
+ //------------------------------------------------------------------
+ llvm::ArrayRef<const char *> GetArgumentArrayRef() const {
+ return llvm::makeArrayRef(m_argv).drop_back();
+ }
+
+ //------------------------------------------------------------------
/// Appends a new argument to the end of the list argument list.
///
/// @param[in] arg_cstr
diff --git a/include/lldb/Interpreter/CommandCompletions.h b/include/lldb/Interpreter/CommandCompletions.h
index 2e117358c399..8bac3e8639d7 100644
--- a/include/lldb/Interpreter/CommandCompletions.h
+++ b/include/lldb/Interpreter/CommandCompletions.h
@@ -17,11 +17,14 @@
// Other libraries and framework includes
// Project includes
#include "lldb/Core/FileSpecList.h"
-#include "lldb/Core/RegularExpression.h"
#include "lldb/Core/SearchFilter.h"
+#include "lldb/Utility/RegularExpression.h"
#include "lldb/lldb-private.h"
+#include "llvm/ADT/Twine.h"
+
namespace lldb_private {
+class TildeExpressionResolver;
class CommandCompletions {
public:
//----------------------------------------------------------------------
@@ -76,12 +79,19 @@ public:
int max_return_elements, SearchFilter *searcher,
bool &word_complete, StringList &matches);
+ static int DiskFiles(const llvm::Twine &partial_file_name,
+ StringList &matches, TildeExpressionResolver &Resolver);
+
static int DiskDirectories(CommandInterpreter &interpreter,
llvm::StringRef partial_file_name,
int match_start_point, int max_return_elements,
SearchFilter *searcher, bool &word_complete,
StringList &matches);
+ static int DiskDirectories(const llvm::Twine &partial_file_name,
+ StringList &matches,
+ TildeExpressionResolver &Resolver);
+
static int SourceFiles(CommandInterpreter &interpreter,
llvm::StringRef partial_file_name,
int match_start_point, int max_return_elements,
diff --git a/include/lldb/Interpreter/CommandHistory.h b/include/lldb/Interpreter/CommandHistory.h
index f1a6c855e3b9..faef220bbe94 100644
--- a/include/lldb/Interpreter/CommandHistory.h
+++ b/include/lldb/Interpreter/CommandHistory.h
@@ -18,7 +18,7 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/Stream.h"
+#include "lldb/Utility/Stream.h"
#include "lldb/lldb-private.h"
namespace lldb_private {
diff --git a/include/lldb/Interpreter/CommandInterpreter.h b/include/lldb/Interpreter/CommandInterpreter.h
index 00dec5134c8f..031ea10d6ad4 100644
--- a/include/lldb/Interpreter/CommandInterpreter.h
+++ b/include/lldb/Interpreter/CommandInterpreter.h
@@ -19,13 +19,13 @@
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Event.h"
#include "lldb/Core/IOHandler.h"
-#include "lldb/Core/Log.h"
-#include "lldb/Core/StringList.h"
#include "lldb/Interpreter/Args.h"
#include "lldb/Interpreter/CommandAlias.h"
#include "lldb/Interpreter/CommandHistory.h"
#include "lldb/Interpreter/CommandObject.h"
#include "lldb/Interpreter/ScriptInterpreter.h"
+#include "lldb/Utility/Log.h"
+#include "lldb/Utility/StringList.h"
#include "lldb/lldb-forward.h"
#include "lldb/lldb-private.h"
diff --git a/include/lldb/Interpreter/CommandObject.h b/include/lldb/Interpreter/CommandObject.h
index 9104fd8f9bb7..ff4c829e5c70 100644
--- a/include/lldb/Interpreter/CommandObject.h
+++ b/include/lldb/Interpreter/CommandObject.h
@@ -18,11 +18,12 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/Flags.h"
-#include "lldb/Core/StringList.h"
+#include "lldb/Utility/Flags.h"
+
#include "lldb/Interpreter/Args.h"
#include "lldb/Interpreter/CommandCompletions.h"
#include "lldb/Target/ExecutionContext.h"
+#include "lldb/Utility/StringList.h"
#include "lldb/lldb-private.h"
namespace lldb_private {
diff --git a/include/lldb/Interpreter/CommandObjectRegexCommand.h b/include/lldb/Interpreter/CommandObjectRegexCommand.h
index 44dc4f2bfd58..50dbebc21b1d 100644
--- a/include/lldb/Interpreter/CommandObjectRegexCommand.h
+++ b/include/lldb/Interpreter/CommandObjectRegexCommand.h
@@ -16,8 +16,8 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/RegularExpression.h"
#include "lldb/Interpreter/CommandObject.h"
+#include "lldb/Utility/RegularExpression.h"
namespace lldb_private {
diff --git a/include/lldb/Interpreter/CommandReturnObject.h b/include/lldb/Interpreter/CommandReturnObject.h
index 40db5635afa4..8e467e118477 100644
--- a/include/lldb/Interpreter/CommandReturnObject.h
+++ b/include/lldb/Interpreter/CommandReturnObject.h
@@ -16,8 +16,8 @@
// Project includes
#include "lldb/Core/STLUtils.h"
#include "lldb/Core/StreamFile.h"
-#include "lldb/Core/StreamString.h"
-#include "lldb/Core/StreamTee.h"
+#include "lldb/Utility/StreamString.h"
+#include "lldb/Utility/StreamTee.h"
#include "lldb/lldb-private.h"
#include "llvm/ADT/StringRef.h"
diff --git a/include/lldb/Interpreter/OptionGroupPlatform.h b/include/lldb/Interpreter/OptionGroupPlatform.h
index c51ff5c1f48d..8cee9a671869 100644
--- a/include/lldb/Interpreter/OptionGroupPlatform.h
+++ b/include/lldb/Interpreter/OptionGroupPlatform.h
@@ -14,8 +14,8 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/ConstString.h"
#include "lldb/Interpreter/Options.h"
+#include "lldb/Utility/ConstString.h"
namespace lldb_private {
diff --git a/include/lldb/Interpreter/OptionValue.h b/include/lldb/Interpreter/OptionValue.h
index 2c1d5df90697..648ad33e2fc8 100644
--- a/include/lldb/Interpreter/OptionValue.h
+++ b/include/lldb/Interpreter/OptionValue.h
@@ -14,10 +14,12 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/Error.h"
#include "lldb/Core/FormatEntity.h"
+#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/Error.h"
#include "lldb/lldb-defines.h"
+#include "lldb/lldb-private-enumerations.h"
+#include "lldb/lldb-private-interfaces.h"
namespace lldb_private {
diff --git a/include/lldb/Interpreter/OptionValueEnumeration.h b/include/lldb/Interpreter/OptionValueEnumeration.h
index 273e69cc6d66..d47248b72c67 100644
--- a/include/lldb/Interpreter/OptionValueEnumeration.h
+++ b/include/lldb/Interpreter/OptionValueEnumeration.h
@@ -10,16 +10,13 @@
#ifndef liblldb_OptionValueEnumeration_h_
#define liblldb_OptionValueEnumeration_h_
-// C Includes
-// C++ Includes
-// Other libraries and framework includes
-// Project includes
-#include "lldb/Core/ConstString.h"
-#include "lldb/Core/Error.h"
-#include "lldb/Core/Stream.h"
-#include "lldb/Core/StreamString.h"
#include "lldb/Core/UniqueCStringMap.h"
#include "lldb/Interpreter/OptionValue.h"
+#include "lldb/Utility/ConstString.h"
+#include "lldb/Utility/Error.h"
+#include "lldb/Utility/Stream.h"
+#include "lldb/Utility/StreamString.h"
+#include "lldb/lldb-private-types.h"
namespace lldb_private {
diff --git a/include/lldb/Interpreter/OptionValueFileSpec.h b/include/lldb/Interpreter/OptionValueFileSpec.h
index 8020aa7fb49d..654c04d4d274 100644
--- a/include/lldb/Interpreter/OptionValueFileSpec.h
+++ b/include/lldb/Interpreter/OptionValueFileSpec.h
@@ -12,7 +12,7 @@
#include "lldb/Interpreter/OptionValue.h"
-#include "lldb/Host/FileSpec.h"
+#include "lldb/Utility/FileSpec.h"
#include "llvm/Support/Chrono.h"
namespace lldb_private {
diff --git a/include/lldb/Interpreter/OptionValueProperties.h b/include/lldb/Interpreter/OptionValueProperties.h
index bb4202a2ec1f..0b49e0b00672 100644
--- a/include/lldb/Interpreter/OptionValueProperties.h
+++ b/include/lldb/Interpreter/OptionValueProperties.h
@@ -16,11 +16,11 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/ConstString.h"
#include "lldb/Core/FormatEntity.h"
#include "lldb/Core/UniqueCStringMap.h"
#include "lldb/Interpreter/OptionValue.h"
#include "lldb/Interpreter/Property.h"
+#include "lldb/Utility/ConstString.h"
namespace lldb_private {
diff --git a/include/lldb/Interpreter/OptionValueRegex.h b/include/lldb/Interpreter/OptionValueRegex.h
index 7125daffedee..7bb8d419bde0 100644
--- a/include/lldb/Interpreter/OptionValueRegex.h
+++ b/include/lldb/Interpreter/OptionValueRegex.h
@@ -14,8 +14,8 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/RegularExpression.h"
#include "lldb/Interpreter/OptionValue.h"
+#include "lldb/Utility/RegularExpression.h"
namespace lldb_private {
diff --git a/include/lldb/Interpreter/OptionValueString.h b/include/lldb/Interpreter/OptionValueString.h
index 5b42003f383f..18b8215fe3c7 100644
--- a/include/lldb/Interpreter/OptionValueString.h
+++ b/include/lldb/Interpreter/OptionValueString.h
@@ -16,7 +16,8 @@
// Other libraries and framework includes
// Project includes
-#include "lldb/Core/Flags.h"
+#include "lldb/Utility/Flags.h"
+
#include "lldb/Interpreter/OptionValue.h"
n