svn commit: r317455 - in vendor/lldb/dist: cmake/modules cmake/platforms examples/python include/lldb include/lldb/API include/lldb/Core include/lldb/Host include/lldb/Target packages/Python/lldbsu...
Dimitry Andric
dim at FreeBSD.org
Wed Apr 26 19:24:58 UTC 2017
Author: dim
Date: Wed Apr 26 19:24:53 2017
New Revision: 317455
URL: https://svnweb.freebsd.org/changeset/base/317455
Log:
Vendor import of lldb trunk r301441:
https://llvm.org/svn/llvm-project/lldb/trunk@301441
Added:
vendor/lldb/dist/examples/python/disassembly_mode.py (contents, props changed)
vendor/lldb/dist/include/lldb/API/SBTrace.h (contents, props changed)
vendor/lldb/dist/include/lldb/API/SBTraceOptions.h (contents, props changed)
vendor/lldb/dist/include/lldb/Core/StructuredDataImpl.h (contents, props changed)
vendor/lldb/dist/include/lldb/Core/TraceOptions.h (contents, props changed)
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile (contents, props changed)
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py (contents, props changed)
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cpp (contents, props changed)
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile (contents, props changed)
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/TestSymbols.py (contents, props changed)
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/main.cpp (contents, props changed)
vendor/lldb/dist/scripts/interface/SBTrace.i
vendor/lldb/dist/scripts/interface/SBTraceOptions.i
vendor/lldb/dist/source/API/SBTrace.cpp (contents, props changed)
vendor/lldb/dist/source/API/SBTraceOptions.cpp (contents, props changed)
Deleted:
vendor/lldb/dist/cmake/platforms/Android.cmake
Modified:
vendor/lldb/dist/cmake/modules/LLDBConfig.cmake
vendor/lldb/dist/include/lldb/API/LLDB.h
vendor/lldb/dist/include/lldb/API/SBDefines.h
vendor/lldb/dist/include/lldb/API/SBError.h
vendor/lldb/dist/include/lldb/API/SBProcess.h
vendor/lldb/dist/include/lldb/API/SBStructuredData.h
vendor/lldb/dist/include/lldb/Core/ValueObject.h
vendor/lldb/dist/include/lldb/Host/SocketAddress.h
vendor/lldb/dist/include/lldb/Target/Process.h
vendor/lldb/dist/include/lldb/lldb-enumerations.h
vendor/lldb/dist/include/lldb/lldb-forward.h
vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/TestNoreturnUnwind.py
vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/c/inlines/main.c
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py
vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py
vendor/lldb/dist/scripts/interface/SBProcess.i
vendor/lldb/dist/scripts/interface/SBStructuredData.i
vendor/lldb/dist/scripts/lldb.swig
vendor/lldb/dist/source/API/CMakeLists.txt
vendor/lldb/dist/source/API/SBProcess.cpp
vendor/lldb/dist/source/API/SBStructuredData.cpp
vendor/lldb/dist/source/Core/ValueObject.cpp
vendor/lldb/dist/source/Host/common/SocketAddress.cpp
vendor/lldb/dist/source/Host/freebsd/Host.cpp
vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
vendor/lldb/dist/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.cpp
vendor/lldb/dist/source/Plugins/Language/CPlusPlus/LibCxx.cpp
vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
vendor/lldb/dist/tools/debugserver/source/RNBRemote.cpp
vendor/lldb/dist/unittests/Host/SocketAddressTest.cpp
vendor/lldb/dist/www/build.html
Modified: vendor/lldb/dist/cmake/modules/LLDBConfig.cmake
==============================================================================
--- vendor/lldb/dist/cmake/modules/LLDBConfig.cmake Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/cmake/modules/LLDBConfig.cmake Wed Apr 26 19:24:53 2017 (r317455)
@@ -250,12 +250,6 @@ endif()
set(LLDB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(LLDB_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
-# If building on a 32-bit system, make sure off_t can store offsets > 2GB
-if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
- add_definitions( -D_LARGEFILE_SOURCE )
- add_definitions( -D_FILE_OFFSET_BITS=64 )
-endif()
-
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
message(FATAL_ERROR "In-source builds are not allowed. CMake would overwrite "
"the makefiles distributed with LLDB. Please create a directory and run cmake "
Added: vendor/lldb/dist/examples/python/disassembly_mode.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/examples/python/disassembly_mode.py Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,48 @@
+""" Adds the 'toggle-disassembly' command to switch you into a disassembly only mode """
+import lldb
+
+class DisassemblyMode:
+ def __init__(self, debugger, unused):
+ self.dbg = debugger
+ self.interp = debugger.GetCommandInterpreter()
+ self.store_state()
+ self.mode_off = True
+
+ def store_state(self):
+ self.dis_count = self.get_string_value("stop-disassembly-count")
+ self.dis_display = self.get_string_value("stop-disassembly-display")
+ self.before_count = self.get_string_value("stop-line-count-before")
+ self.after_count = self.get_string_value("stop-line-count-after")
+
+ def get_string_value(self, setting):
+ result = lldb.SBCommandReturnObject()
+ self.interp.HandleCommand("settings show " + setting, result)
+ value = result.GetOutput().split(" = ")[1].rstrip("\n")
+ return value
+
+ def set_value(self, setting, value):
+ result = lldb.SBCommandReturnObject()
+ self.interp.HandleCommand("settings set " + setting + " " + value, result)
+
+ def __call__(self, debugger, command, exe_ctx, result):
+ if self.mode_off:
+ self.mode_off = False
+ self.store_state()
+ self.set_value("stop-disassembly-display","always")
+ self.set_value("stop-disassembly-count", "8")
+ self.set_value("stop-line-count-before", "0")
+ self.set_value("stop-line-count-after", "0")
+ result.AppendMessage("Disassembly mode on.")
+ else:
+ self.mode_off = True
+ self.set_value("stop-disassembly-display",self.dis_display)
+ self.set_value("stop-disassembly-count", self.dis_count)
+ self.set_value("stop-line-count-before", self.before_count)
+ self.set_value("stop-line-count-after", self.after_count)
+ result.AppendMessage("Disassembly mode off.")
+
+ def get_short_help(self):
+ return "Toggles between a disassembly only mode and normal source mode\n"
+
+def __lldb_init_module(debugger, unused):
+ debugger.HandleCommand("command script add -c disassembly_mode.DisassemblyMode toggle-disassembly")
Modified: vendor/lldb/dist/include/lldb/API/LLDB.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/LLDB.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/API/LLDB.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -63,6 +63,8 @@
#include "lldb/API/SBThread.h"
#include "lldb/API/SBThreadCollection.h"
#include "lldb/API/SBThreadPlan.h"
+#include "lldb/API/SBTrace.h"
+#include "lldb/API/SBTraceOptions.h"
#include "lldb/API/SBType.h"
#include "lldb/API/SBTypeCategory.h"
#include "lldb/API/SBTypeEnumMember.h"
Modified: vendor/lldb/dist/include/lldb/API/SBDefines.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBDefines.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/API/SBDefines.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -79,6 +79,8 @@ class LLDB_API SBTarget;
class LLDB_API SBThread;
class LLDB_API SBThreadCollection;
class LLDB_API SBThreadPlan;
+class LLDB_API SBTrace;
+class LLDB_API SBTraceOptions;
class LLDB_API SBType;
class LLDB_API SBTypeCategory;
class LLDB_API SBTypeEnumMember;
Modified: vendor/lldb/dist/include/lldb/API/SBError.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBError.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/API/SBError.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -61,6 +61,7 @@ protected:
friend class SBProcess;
friend class SBStructuredData;
friend class SBThread;
+ friend class SBTrace;
friend class SBTarget;
friend class SBValue;
friend class SBWatchpoint;
Modified: vendor/lldb/dist/include/lldb/API/SBProcess.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBProcess.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/API/SBProcess.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -234,6 +234,33 @@ public:
bool GetDescription(lldb::SBStream &description);
+ //------------------------------------------------------------------
+ /// Start Tracing with the given SBTraceOptions.
+ ///
+ /// @param[in] options
+ /// Class containing trace options like trace buffer size, meta
+ /// data buffer size, TraceType and any custom parameters
+ /// {formatted as a JSON Dictionary}. In case of errors in
+ /// formatting, an error would be reported.
+ /// It must be noted that tracing options such as buffer sizes
+ /// or other custom parameters passed maybe invalid for some
+ /// trace technologies. In such cases the trace implementations
+ /// could choose to either throw an error or could round off to
+ /// the nearest valid options to start tracing if the passed
+ /// value is not supported. To obtain the actual used trace
+ /// options please use the GetTraceConfig API. For the custom
+ /// parameters, only the parameters recognized by the target
+ /// would be used and others would be ignored.
+ ///
+ /// @param[out] error
+ /// An error explaining what went wrong.
+ ///
+ /// @return
+ /// A SBTrace instance, which should be used
+ /// to get the trace data or other trace related operations.
+ //------------------------------------------------------------------
+ lldb::SBTrace StartTrace(SBTraceOptions &options, lldb::SBError &error);
+
uint32_t GetNumSupportedHardwareWatchpoints(lldb::SBError &error) const;
//------------------------------------------------------------------
Modified: vendor/lldb/dist/include/lldb/API/SBStructuredData.h
==============================================================================
--- vendor/lldb/dist/include/lldb/API/SBStructuredData.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/API/SBStructuredData.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -13,8 +13,6 @@
#include "lldb/API/SBDefines.h"
#include "lldb/API/SBModule.h"
-class StructuredDataImpl;
-
namespace lldb {
class SBStructuredData {
@@ -31,14 +29,18 @@ public:
bool IsValid() const;
+ lldb::SBError SetFromJSON(lldb::SBStream &stream);
+
void Clear();
lldb::SBError GetAsJSON(lldb::SBStream &stream) const;
lldb::SBError GetDescription(lldb::SBStream &stream) const;
-private:
- std::unique_ptr<StructuredDataImpl> m_impl_up;
+protected:
+ friend class SBTraceOptions;
+
+ StructuredDataImplUP m_impl_up;
};
}
Added: vendor/lldb/dist/include/lldb/API/SBTrace.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/API/SBTrace.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,122 @@
+//===-- SBTrace.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_SBTrace_h_
+#define LLDB_SBTrace_h_
+
+#include "lldb/API/SBDefines.h"
+#include "lldb/API/SBError.h"
+
+class TraceImpl;
+
+namespace lldb {
+
+class LLDB_API SBTrace {
+public:
+ SBTrace();
+ //------------------------------------------------------------------
+ /// Obtain the trace data as raw bytes.
+ ///
+ /// @param[out] error
+ /// An error explaining what went wrong.
+ ///
+ /// @param[in] buf
+ /// Buffer to write the trace data to.
+ ///
+ /// @param[in] size
+ /// The size of the buffer used to read the data. This is
+ /// also the size of the data intended to read. It is also
+ /// possible to partially read the trace data for some trace
+ /// technologies by specifying a smaller buffer.
+ ///
+ /// @param[in] offset
+ /// The start offset to begin reading the trace data.
+ ///
+ /// @param[in] thread_id
+ /// Tracing could be started for the complete process or a
+ /// single thread, in the first case the uid obtained would
+ /// map to all the threads existing within the process and the
+ /// ones spawning later. The thread_id parameter can be used in
+ /// such a scenario to select the trace data for a specific
+ /// thread.
+ ///
+ /// @return
+ /// The size of the trace data effectively read by the API call.
+ //------------------------------------------------------------------
+ size_t GetTraceData(SBError &error, void *buf, size_t size, size_t offset = 0,
+ lldb::tid_t thread_id = LLDB_INVALID_THREAD_ID);
+
+ //------------------------------------------------------------------
+ /// Obtain any meta data as raw bytes for the tracing instance.
+ /// The input parameter definition is similar to the previous
+ /// function.
+ //------------------------------------------------------------------
+ size_t GetMetaData(SBError &error, void *buf, size_t size, size_t offset = 0,
+ lldb::tid_t thread_id = LLDB_INVALID_THREAD_ID);
+
+ //------------------------------------------------------------------
+ /// Stop the tracing instance. Stopping the trace will also
+ /// lead to deletion of any gathered trace data.
+ ///
+ /// @param[out] error
+ /// An error explaining what went wrong.
+ ///
+ /// @param[in] thread_id
+ /// The user id could map to a tracing instance for a thread
+ /// or could also map to a group of threads being traced with
+ /// the same trace options. A thread_id is normally optional
+ /// except in the case of tracing a complete process and tracing
+ /// needs to switched off on a particular thread.
+ /// A situation could occur where initially a thread (lets say
+ /// thread A) is being individually traced with a particular uid
+ /// and then tracing is started on the complete process, in this
+ /// case thread A will continue without any change. All newly
+ /// spawned threads would be traced with the uid of the process.
+ /// Now if the StopTrace API is called for the whole process,
+ /// thread A will not be stopped and must be stopped separately.
+ //------------------------------------------------------------------
+ void StopTrace(SBError &error,
+ lldb::tid_t thread_id = LLDB_INVALID_THREAD_ID);
+
+ //------------------------------------------------------------------
+ /// Get the trace configuration being used for the trace instance.
+ /// The threadid in the SBTraceOptions needs to be set when the
+ /// configuration used by a specific thread is being requested.
+ ///
+ /// @param[out] options
+ /// The trace options actually used by the trace instance
+ /// would be filled by the API.
+ ///
+ /// @param[out] error
+ /// An error explaining what went wrong.
+ //------------------------------------------------------------------
+ void GetTraceConfig(SBTraceOptions &options, SBError &error);
+
+ lldb::user_id_t GetTraceUID();
+
+ bool IsValid();
+
+protected:
+ typedef std::shared_ptr<TraceImpl> TraceImplSP;
+
+ friend class SBProcess;
+
+ void SetTraceUID(lldb::user_id_t uid);
+
+ TraceImplSP m_trace_impl_sp;
+
+ lldb::ProcessSP GetSP() const;
+
+ void SetSP(const ProcessSP &process_sp);
+
+ lldb::ProcessWP m_opaque_wp;
+};
+} // namespace lldb
+
+#endif // LLDB_SBTrace_h_
Added: vendor/lldb/dist/include/lldb/API/SBTraceOptions.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/API/SBTraceOptions.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,58 @@
+//===-- SBTraceOptions ------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SBTRACEOPTIONS_H_
+#define SBTRACEOPTIONS_H_
+
+#include "lldb/API/SBDefines.h"
+
+namespace lldb {
+
+class LLDB_API SBTraceOptions {
+public:
+ SBTraceOptions();
+
+ lldb::TraceType getType() const;
+
+ uint64_t getTraceBufferSize() const;
+
+ /// The trace parameters consist of any custom parameters
+ /// apart from the generic parameters such as
+ /// TraceType, trace_buffer_size and meta_data_buffer_size.
+ /// The returned parameters would be formatted as a JSON Dictionary.
+ lldb::SBStructuredData getTraceParams(lldb::SBError &error);
+
+ uint64_t getMetaDataBufferSize() const;
+
+ /// SBStructuredData is meant to hold any custom parameters
+ /// apart from meta buffer size and trace size. They should
+ /// be formatted as a JSON Dictionary.
+ void setTraceParams(lldb::SBStructuredData ¶ms);
+
+ void setType(lldb::TraceType type);
+
+ void setTraceBufferSize(uint64_t size);
+
+ void setMetaDataBufferSize(uint64_t size);
+
+ void setThreadID(lldb::tid_t thread_id);
+
+ lldb::tid_t getThreadID();
+
+ bool IsValid();
+
+protected:
+ friend class SBProcess;
+ friend class SBTrace;
+
+ lldb::TraceOptionsSP m_traceoptions_sp;
+};
+}
+
+#endif /* SBTRACEOPTIONS_H_ */
Added: vendor/lldb/dist/include/lldb/Core/StructuredDataImpl.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/Core/StructuredDataImpl.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,95 @@
+//===-- StructuredDataImpl.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_StructuredDataImpl_h_
+#define liblldb_StructuredDataImpl_h_
+
+#include "lldb/Core/Event.h"
+#include "lldb/Core/StructuredData.h"
+#include "lldb/Utility/Error.h"
+#include "lldb/Utility/Stream.h"
+#include "lldb/Target/StructuredDataPlugin.h"
+#include "lldb/lldb-forward.h"
+
+#pragma mark--
+#pragma mark StructuredDataImpl
+
+namespace lldb_private {
+
+class StructuredDataImpl {
+public:
+ StructuredDataImpl() : m_plugin_wp(), m_data_sp() {}
+
+ StructuredDataImpl(const StructuredDataImpl &rhs) = default;
+
+ StructuredDataImpl(const lldb::EventSP &event_sp)
+ : m_plugin_wp(
+ EventDataStructuredData::GetPluginFromEvent(event_sp.get())),
+ m_data_sp(EventDataStructuredData::GetObjectFromEvent(event_sp.get())) {
+ }
+
+ ~StructuredDataImpl() = default;
+
+ StructuredDataImpl &operator=(const StructuredDataImpl &rhs) = default;
+
+ bool IsValid() const { return m_data_sp.get() != nullptr; }
+
+ void Clear() {
+ m_plugin_wp.reset();
+ m_data_sp.reset();
+ }
+
+ Error GetAsJSON(Stream &stream) const {
+ Error error;
+
+ if (!m_data_sp) {
+ error.SetErrorString("No structured data.");
+ return error;
+ }
+
+ m_data_sp->Dump(stream);
+ return error;
+ }
+
+ Error GetDescription(Stream &stream) const {
+ Error error;
+
+ if (!m_data_sp) {
+ error.SetErrorString("Cannot pretty print structured data: "
+ "no data to print.");
+ return error;
+ }
+
+ // Grab the plugin.
+ auto plugin_sp = lldb::StructuredDataPluginSP(m_plugin_wp);
+ if (!plugin_sp) {
+ error.SetErrorString("Cannot pretty print structured data: "
+ "plugin doesn't exist.");
+ return error;
+ }
+
+ // Get the data's description.
+ return plugin_sp->GetDescription(m_data_sp, stream);
+ }
+
+ StructuredData::ObjectSP GetObjectSP() {
+ return m_data_sp;
+ }
+
+ void SetObjectSP(const StructuredData::ObjectSP &obj) {
+ m_data_sp = obj;
+ }
+
+private:
+
+ lldb::StructuredDataPluginWP m_plugin_wp;
+ StructuredData::ObjectSP m_data_sp;
+};
+}
+#endif
Added: vendor/lldb/dist/include/lldb/Core/TraceOptions.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/include/lldb/Core/TraceOptions.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,62 @@
+//===-- TraceOptions.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_TraceOptions_h_
+#define liblldb_TraceOptions_h_
+
+#include "lldb/lldb-defines.h"
+#include "lldb/lldb-enumerations.h"
+
+#include "lldb/Core/StructuredData.h"
+
+namespace lldb_private {
+class TraceOptions {
+public:
+ TraceOptions()
+ : m_trace_params(new StructuredData::Dictionary()) {}
+
+ const StructuredData::DictionarySP &getTraceParams() const {
+ return m_trace_params;
+ }
+
+ lldb::TraceType getType() const { return m_type; }
+
+ uint64_t getTraceBufferSize() const { return m_trace_buffer_size; }
+
+ uint64_t getMetaDataBufferSize() const { return m_meta_data_buffer_size; }
+
+ void setTraceParams(const StructuredData::DictionarySP &dict_obj) {
+ m_trace_params = dict_obj;
+ }
+
+ void setType(lldb::TraceType type) { m_type = type; }
+
+ void setTraceBufferSize(uint64_t size) { m_trace_buffer_size = size; }
+
+ void setMetaDataBufferSize(uint64_t size) { m_meta_data_buffer_size = size; }
+
+ void setThreadID(lldb::tid_t thread_id) { m_thread_id = thread_id; }
+
+ lldb::tid_t getThreadID() { return m_thread_id; }
+
+private:
+ lldb::TraceType m_type;
+ uint64_t m_trace_buffer_size;
+ uint64_t m_meta_data_buffer_size;
+ lldb::tid_t m_thread_id;
+
+ /// m_trace_params is meant to hold any custom parameters
+ /// apart from meta buffer size and trace size.
+ /// The interpretation of such parameters is left to
+ /// the lldb-server.
+ StructuredData::DictionarySP m_trace_params;
+};
+}
+
+#endif // liblldb_TraceOptions_h_
\ No newline at end of file
Modified: vendor/lldb/dist/include/lldb/Core/ValueObject.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Core/ValueObject.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/Core/ValueObject.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -27,6 +27,7 @@
#include "lldb/lldb-private-enumerations.h" // for AddressType
#include "lldb/lldb-types.h" // for addr_t, offs...
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h" // for StringRef
@@ -37,7 +38,6 @@
#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
@@ -489,35 +489,19 @@ public:
virtual lldb::ValueObjectSP GetChildAtIndex(size_t idx, bool can_create);
// this will always create the children if necessary
- lldb::ValueObjectSP
- GetChildAtIndexPath(const std::initializer_list<size_t> &idxs,
- size_t *index_of_error = nullptr);
-
- lldb::ValueObjectSP GetChildAtIndexPath(const std::vector<size_t> &idxs,
+ lldb::ValueObjectSP GetChildAtIndexPath(llvm::ArrayRef<size_t> idxs,
size_t *index_of_error = nullptr);
- lldb::ValueObjectSP GetChildAtIndexPath(
- const std::initializer_list<std::pair<size_t, bool>> &idxs,
- size_t *index_of_error = nullptr);
-
lldb::ValueObjectSP
- GetChildAtIndexPath(const std::vector<std::pair<size_t, bool>> &idxs,
+ GetChildAtIndexPath(llvm::ArrayRef<std::pair<size_t, bool>> idxs,
size_t *index_of_error = nullptr);
// this will always create the children if necessary
- lldb::ValueObjectSP
- GetChildAtNamePath(const std::initializer_list<ConstString> &names,
- ConstString *name_of_error = nullptr);
-
- lldb::ValueObjectSP GetChildAtNamePath(const std::vector<ConstString> &names,
+ lldb::ValueObjectSP GetChildAtNamePath(llvm::ArrayRef<ConstString> names,
ConstString *name_of_error = nullptr);
- lldb::ValueObjectSP GetChildAtNamePath(
- const std::initializer_list<std::pair<ConstString, bool>> &names,
- ConstString *name_of_error = nullptr);
-
lldb::ValueObjectSP
- GetChildAtNamePath(const std::vector<std::pair<ConstString, bool>> &names,
+ GetChildAtNamePath(llvm::ArrayRef<std::pair<ConstString, bool>> names,
ConstString *name_of_error = nullptr);
virtual lldb::ValueObjectSP GetChildMemberWithName(const ConstString &name,
Modified: vendor/lldb/dist/include/lldb/Host/SocketAddress.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Host/SocketAddress.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/Host/SocketAddress.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -41,8 +41,9 @@ 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);
+ static std::vector<SocketAddress>
+ GetAddressInfo(const char *hostname, const char *servname, int ai_family,
+ int ai_socktype, int ai_protocol, int ai_flags = 0);
//------------------------------------------------------------------
// Constructors and Destructors
Modified: vendor/lldb/dist/include/lldb/Target/Process.h
==============================================================================
--- vendor/lldb/dist/include/lldb/Target/Process.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/Target/Process.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -36,6 +36,7 @@
#include "lldb/Core/PluginInterface.h"
#include "lldb/Core/StructuredData.h"
#include "lldb/Core/ThreadSafeValue.h"
+#include "lldb/Core/TraceOptions.h"
#include "lldb/Core/UserSettingsController.h"
#include "lldb/Host/HostThread.h"
#include "lldb/Host/ProcessRunLock.h"
@@ -2766,6 +2767,79 @@ public:
lldb::StructuredDataPluginSP
GetStructuredDataPlugin(const ConstString &type_name) const;
+ //------------------------------------------------------------------
+ /// Starts tracing with the configuration provided in options. To
+ /// enable tracing on the complete process the thread_id in the
+ /// options should be set to LLDB_INVALID_THREAD_ID. The API returns
+ /// a user_id which is needed by other API's that manipulate the
+ /// trace instance.
+ /// The handling of erroneous or unsupported configuration is left
+ /// to the trace technology implementations in the server, as they
+ /// could be returned as an error, or rounded to a valid
+ /// configuration to start tracing. In the later case the
+ /// GetTraceConfig should supply the actual used trace
+ /// configuration.
+ //------------------------------------------------------------------
+ virtual lldb::user_id_t StartTrace(lldb::TraceOptionsSP &options,
+ Error &error) {
+ error.SetErrorString("Not implemented");
+ return LLDB_INVALID_UID;
+ }
+
+ //------------------------------------------------------------------
+ /// Stops the tracing instance leading to deletion of the trace
+ /// data. The tracing instance is identified by the user_id which
+ /// is obtained when tracing was started from the StartTrace.
+ /// In case tracing of the complete process needs to be stopped
+ /// the thread_id should be set to LLDB_INVALID_THREAD_ID.
+ /// In the other case that tracing on an individual thread needs
+ /// to be stopped a thread_id can be supplied.
+ //------------------------------------------------------------------
+ virtual void StopTrace(lldb::user_id_t uid, lldb::tid_t thread_id,
+ Error &error) {
+ error.SetErrorString("Not implemented");
+ }
+
+ //------------------------------------------------------------------
+ /// Provides the trace data as raw bytes. A buffer needs to be
+ /// supplied to copy the trace data. The exact behavior of this API
+ /// may vary across trace technology, as some may support partial
+ /// reading of the trace data from a specified offset while some
+ /// may not. The thread_id should be used to select a particular
+ /// thread for trace extraction.
+ //------------------------------------------------------------------
+ virtual size_t GetData(lldb::user_id_t uid, lldb::tid_t thread_id,
+ Error &error, void *buf, size_t size,
+ size_t offset = 0) {
+ error.SetErrorString("Not implemented");
+ return 0;
+ }
+
+ //------------------------------------------------------------------
+ /// Similar API as above except for obtaining meta data
+ //------------------------------------------------------------------
+ virtual size_t GetMetaData(lldb::user_id_t uid, lldb::tid_t thread_id,
+ Error &error, void *buf, size_t size,
+ size_t offset = 0) {
+ error.SetErrorString("Not implemented");
+ return 0;
+ }
+
+ //------------------------------------------------------------------
+ /// API to obtain the trace configuration used by a trace instance.
+ /// Configurations that may be specific to some trace technology
+ /// should be stored in the custom parameters. The options are
+ /// transported to the server, which shall interpret accordingly.
+ /// The thread_id can be specified in the options to obtain the
+ /// configuration used by a specific thread. The thread_id specified
+ /// should also match the uid otherwise an error will be returned.
+ //------------------------------------------------------------------
+ virtual void GetTraceConfig(lldb::user_id_t uid, Error &error,
+ lldb::TraceOptionsSP &options) {
+ error.SetErrorString("Not implemented");
+ return;
+ }
+
protected:
void SetState(lldb::EventSP &event_sp);
Modified: vendor/lldb/dist/include/lldb/lldb-enumerations.h
==============================================================================
--- vendor/lldb/dist/include/lldb/lldb-enumerations.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/lldb-enumerations.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -718,6 +718,13 @@ enum BasicType {
eBasicTypeOther
};
+enum TraceType {
+ eTraceTypeNone = 0,
+
+ // Hardware Trace generated by the processor.
+ eTraceTypeProcessorTrace
+};
+
FLAGS_ENUM(TypeClass){
eTypeClassInvalid = (0u), eTypeClassArray = (1u << 0),
eTypeClassBlockPointer = (1u << 1), eTypeClassBuiltin = (1u << 2),
Modified: vendor/lldb/dist/include/lldb/lldb-forward.h
==============================================================================
--- vendor/lldb/dist/include/lldb/lldb-forward.h Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/include/lldb/lldb-forward.h Wed Apr 26 19:24:53 2017 (r317455)
@@ -215,6 +215,7 @@ class StreamFile;
class StreamString;
class StringList;
struct StringSummaryFormat;
+class StructuredDataImpl;
class StructuredDataPlugin;
class SystemRuntime;
class TypeSummaryImpl;
@@ -254,6 +255,7 @@ class ThreadPlanStepRange;
class ThreadPlanStepThrough;
class ThreadPlanTracer;
class ThreadSpec;
+class TraceOptions;
class Type;
class TypeAndOrName;
class TypeCategoryMap;
@@ -430,6 +432,7 @@ typedef std::weak_ptr<lldb_private::Stre
typedef std::shared_ptr<lldb_private::StreamFile> StreamFileSP;
typedef std::shared_ptr<lldb_private::StringSummaryFormat>
StringTypeSummaryImplSP;
+typedef std::unique_ptr<lldb_private::StructuredDataImpl> StructuredDataImplUP;
typedef std::shared_ptr<lldb_private::StructuredDataPlugin>
StructuredDataPluginSP;
typedef std::weak_ptr<lldb_private::StructuredDataPlugin>
@@ -451,6 +454,7 @@ typedef std::weak_ptr<lldb_private::Thre
typedef std::shared_ptr<lldb_private::ThreadCollection> ThreadCollectionSP;
typedef std::shared_ptr<lldb_private::ThreadPlan> ThreadPlanSP;
typedef std::shared_ptr<lldb_private::ThreadPlanTracer> ThreadPlanTracerSP;
+typedef std::shared_ptr<lldb_private::TraceOptions> TraceOptionsSP;
typedef std::shared_ptr<lldb_private::Type> TypeSP;
typedef std::weak_ptr<lldb_private::Type> TypeWP;
typedef std::shared_ptr<lldb_private::TypeCategoryImpl> TypeCategoryImplSP;
Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/TestNoreturnUnwind.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/TestNoreturnUnwind.py Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/unwind/noreturn/TestNoreturnUnwind.py Wed Apr 26 19:24:53 2017 (r317455)
@@ -17,7 +17,7 @@ class NoreturnUnwind(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipIfWindows # clang-cl does not support gcc style attributes.
- @expectedFailureAndroid(bugnumber="llvm.org/pr31192", archs=["x86_64"])
+ @expectedFailureAndroid(bugnumber="llvm.org/pr31192")
@expectedFailureAll(bugnumber="llvm.org/pr31192", oslist=['linux'], compiler="gcc", archs=['arm'])
def test(self):
"""Test that we can backtrace correctly with 'noreturn' functions on the stack"""
Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/functionalities/watchpoint/step_over_watchpoint/TestStepOverWatchpoint.py Wed Apr 26 19:24:53 2017 (r317455)
@@ -89,7 +89,7 @@ class TestStepOverWatchpoint(TestBase):
# resolve_location=True, read=False, write=True
write_watchpoint = write_value.Watch(True, False, True, error)
- self.assertTrue(read_watchpoint, "Failed to set write watchpoint.")
+ self.assertTrue(write_watchpoint, "Failed to set write watchpoint.")
self.assertTrue(error.Success(),
"Error while setting watchpoint: %s" %
error.GetCString())
Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/lang/c/inlines/main.c
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/lang/c/inlines/main.c Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/lang/c/inlines/main.c Wed Apr 26 19:24:53 2017 (r317455)
@@ -5,6 +5,11 @@ inline void test2(int) __attribute__ ((a
void test2(int b) {
printf("test2(%d)\n", b); //% self.expect("expression b", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["42"])
+ {
+ int c = b * 2;
+ printf("c=%d\n", c); //% self.expect("expression b", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["42"])
+ //% self.expect("expression c", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["84"])
+ }
}
void test1(int a) {
Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/class_static/TestStaticVariables.py Wed Apr 26 19:24:53 2017 (r317455)
@@ -61,7 +61,7 @@ class StaticVariableTestCase(TestBase):
bugnumber="Compiler emits incomplete debug info")
@expectedFailureAll(
compiler=["clang"],
- compiler_version=["<", "3.8"],
+ compiler_version=["<", "3.9"],
bugnumber='llvm.org/pr20550')
@add_test_categories(['pyapi'])
def test_with_python_api(self):
Added: vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/Makefile Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,3 @@
+LEVEL = ../../../make
+CXX_SOURCES := main.cpp
+include $(LEVEL)/Makefile.rules
\ No newline at end of file
Added: vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/TestLLVMStyle.py Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,7 @@
+from lldbsuite.test import lldbinline
+from lldbsuite.test import decorators
+
+lldbinline.MakeInlineTest(
+ __file__, globals(), [
+ decorators.expectedFailureAll(
+ oslist=["windows"], bugnumber="llvm.org/pr24764")])
\ No newline at end of file
Added: vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/llvm-style/main.cpp Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,36 @@
+//===-- main.cpp ------------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LIDENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+namespace n {
+ struct D {
+ int i;
+ static int anInt() { return 2; }
+ int dump() { return i; }
+ };
+
+ class C {
+ public:
+ int foo(D *D);
+ };
+}
+
+using namespace n;
+
+int C::foo(D* D) {
+ return D->dump(); //% self.expect("expression -- D->dump()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "2"])
+ //% self.expect("expression -- D::anInt()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "2"])
+
+}
+
+int main (int argc, char const *argv[])
+{
+ D myD { D::anInt() };
+ C().foo(&myD);
+ return 0;
+}
Modified: vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py
==============================================================================
--- vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py Wed Apr 26 19:24:53 2017 (r317455)
@@ -111,8 +111,8 @@ class TestCppNsImport(TestBase):
test_result = frame.EvaluateExpression("imported")
self.assertTrue(
- test_result.IsValid() and test_result.GetError().Fail(),
- "imported is ambiguous")
+ test_result.IsValid() and test_result.GetValueAsSigned() == 99,
+ "imported = 99")
test_result = frame.EvaluateExpression("single")
self.assertTrue(
Added: vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/Makefile Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,3 @@
+LEVEL = ../../../make
+CXX_SOURCES := main.cpp
+include $(LEVEL)/Makefile.rules
Added: vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/TestSymbols.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/TestSymbols.py Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,7 @@
+from lldbsuite.test import lldbinline
+from lldbsuite.test import decorators
+
+lldbinline.MakeInlineTest(
+ __file__, globals(), [
+ decorators.expectedFailureAll(
+ oslist=["windows"], bugnumber="llvm.org/pr24764")])
Added: vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/main.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/packages/Python/lldbsuite/test/lang/cpp/symbols/main.cpp Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,40 @@
+//===-- main.cpp ------------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LIDENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+void *D = 0;
+
+class D {
+ static int i;
+};
+
+int D::i = 3;
+
+namespace errno {
+ int j = 4;
+};
+
+int twice(int n)
+{
+ return n * 2; //% self.expect("expression -- D::i", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "3"])
+ //% self.expect("expression -- D", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["void"])
+ //% self.expect("expression -- errno::j", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "4"])
+}
+
+const char getAChar()
+{
+ const char D[] = "Hello world";
+ return D[0]; //% self.expect("expression -- D::i", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "3"])
+ //% self.expect("expression -- D", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["char", "Hello"])
+}
+
+int main (int argc, char const *argv[])
+{
+ int six = twice(3);
+ return 0;
+}
Modified: vendor/lldb/dist/scripts/interface/SBProcess.i
==============================================================================
--- vendor/lldb/dist/scripts/interface/SBProcess.i Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/scripts/interface/SBProcess.i Wed Apr 26 19:24:53 2017 (r317455)
@@ -408,6 +408,9 @@ public:
lldb::SBError
SaveCore(const char *file_name);
+ lldb::SBTrace
+ StartTrace(SBTraceOptions &options, lldb::SBError &error);
+
lldb::SBError
GetMemoryRegionInfo(lldb::addr_t load_addr, lldb::SBMemoryRegionInfo ®ion_info);
Modified: vendor/lldb/dist/scripts/interface/SBStructuredData.i
==============================================================================
--- vendor/lldb/dist/scripts/interface/SBStructuredData.i Wed Apr 26 19:24:50 2017 (r317454)
+++ vendor/lldb/dist/scripts/interface/SBStructuredData.i Wed Apr 26 19:24:53 2017 (r317455)
@@ -38,5 +38,8 @@ namespace lldb {
lldb::SBError
GetDescription(lldb::SBStream &stream) const;
+
+ lldb::SBError
+ SetFromJSON(lldb::SBStream &stream);
};
}
Added: vendor/lldb/dist/scripts/interface/SBTrace.i
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/scripts/interface/SBTrace.i Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,34 @@
+//===-- SWIG Interface for SBTrace.h ----------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+namespace lldb {
+
+class LLDB_API SBTrace {
+public:
+ SBTrace();
+ size_t GetTraceData(SBError &error, void *buf,
+ size_t size, size_t offset,
+ lldb::tid_t thread_id);
+
+ size_t GetMetaData(SBError &error, void *buf,
+ size_t size, size_t offset,
+ lldb::tid_t thread_id);
+
+ void StopTrace(SBError &error,
+ lldb::tid_t thread_id);
+
+ void GetTraceConfig(SBTraceOptions &options,
+ SBError &error);
+
+ lldb::user_id_t GetTraceUID();
+
+ bool IsValid();
+
+};
+} // namespace lldb
\ No newline at end of file
Added: vendor/lldb/dist/scripts/interface/SBTraceOptions.i
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/lldb/dist/scripts/interface/SBTraceOptions.i Wed Apr 26 19:24:53 2017 (r317455)
@@ -0,0 +1,38 @@
+//===-- SWIG Interface for SBTraceOptions -----------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+namespace lldb {
+
+class LLDB_API SBTraceOptions {
+public:
+ SBTraceOptions();
+
+ lldb::TraceType getType() const;
+
+ uint64_t getTraceBufferSize() const;
+
+ lldb::SBStructuredData getTraceParams(lldb::SBError &error);
+
+ uint64_t getMetaDataBufferSize() const;
+
+ void setTraceParams(lldb::SBStructuredData ¶ms);
+
+ void setType(lldb::TraceType type);
+
+ void setTraceBufferSize(uint64_t size);
+
+ void setMetaDataBufferSize(uint64_t size);
+
+ void setThreadID(lldb::tid_t thread_id);
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-vendor
mailing list