summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp')
-rw-r--r--lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp b/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
index 3dd14f0e1f6..dd2745d9330 100644
--- a/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
+++ b/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
@@ -158,6 +158,16 @@ void NativeThreadNetBSD::SetStepping() {
std::string NativeThreadNetBSD::GetName() {
Log *log(ProcessPOSIXLog::GetLogIfAllCategoriesSet(POSIX_LOG_THREAD));
+#ifdef PT_LWPSTATUS
+ struct ptrace_lwpstatus info = {};
+ info.pl_lwpid = m_tid;
+ Status error = NativeProcessNetBSD::PtraceWrapper(
+ PT_LWPSTATUS, static_cast<int>(m_process.GetID()), &info, sizeof(info));
+ if (error.Fail()) {
+ return "";
+ }
+ return info.pl_name;
+#else
std::vector<struct kinfo_lwp> infos;
int mib[5] = {CTL_KERN, KERN_LWP, static_cast<int>(m_process.GetID()),
sizeof(struct kinfo_lwp), 0};
@@ -186,6 +196,7 @@ std::string NativeThreadNetBSD::GetName() {
LLDB_LOG(log, "unable to find lwp {0} in LWP infos", m_tid);
return "";
+#endif
}
lldb::StateType NativeThreadNetBSD::GetState() { return m_state; }
OpenPOWER on IntegriCloud