1 //===-- SystemRuntime.cpp -------------------------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #include "lldb/Target/SystemRuntime.h"
10 #include "lldb/Core/PluginManager.h"
11 #include "lldb/Target/Process.h"
12 #include "lldb/lldb-private.h"
15 using namespace lldb_private
;
17 SystemRuntime
*SystemRuntime::FindPlugin(Process
*process
) {
18 SystemRuntimeCreateInstance create_callback
= nullptr;
19 for (uint32_t idx
= 0;
20 (create_callback
= PluginManager::GetSystemRuntimeCreateCallbackAtIndex(
23 std::unique_ptr
<SystemRuntime
> instance_up(create_callback(process
));
25 return instance_up
.release();
30 SystemRuntime::SystemRuntime(Process
*process
) : Runtime(process
), m_types() {}
32 SystemRuntime::~SystemRuntime() = default;
34 void SystemRuntime::DidAttach() {}
36 void SystemRuntime::DidLaunch() {}
38 void SystemRuntime::Detach() {}
40 void SystemRuntime::ModulesDidLoad(const ModuleList
&module_list
) {}
42 const std::vector
<ConstString
> &SystemRuntime::GetExtendedBacktraceTypes() {
46 ThreadSP
SystemRuntime::GetExtendedBacktraceThread(ThreadSP thread
,