llvm-project/lldb/source/Plugins/Process/AIX/NativeThreadAIX.cpp
Dhruv Srivastava bcb1227c3c
[lldb][AIX] Adding NativeThreadAIX (#139537)
This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

**Description:**
Adding NativeThreadAIX base files, 
to be integrated with already merged NativeProcessAIX.
2025-05-16 11:30:07 +05:30

59 lines
2.0 KiB
C++

//===-- NativeThreadAIX.cpp ---------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "NativeThreadAIX.h"
#include "NativeProcessAIX.h"
#include "lldb/Utility/State.h"
using namespace lldb;
using namespace lldb_private;
using namespace lldb_private::process_aix;
NativeThreadAIX::NativeThreadAIX(NativeProcessAIX &process, lldb::tid_t tid)
: NativeThreadProtocol(process, tid), m_state(StateType::eStateInvalid) {}
std::string NativeThreadAIX::GetName() { return ""; }
lldb::StateType NativeThreadAIX::GetState() { return m_state; }
bool NativeThreadAIX::GetStopReason(ThreadStopInfo &stop_info,
std::string &description) {
return false;
}
Status NativeThreadAIX::SetWatchpoint(lldb::addr_t addr, size_t size,
uint32_t watch_flags, bool hardware) {
return Status("Unable to Set hardware watchpoint.");
}
Status NativeThreadAIX::RemoveWatchpoint(lldb::addr_t addr) {
return Status("Clearing hardware watchpoint failed.");
}
Status NativeThreadAIX::SetHardwareBreakpoint(lldb::addr_t addr, size_t size) {
return Status("Unable to set hardware breakpoint.");
}
Status NativeThreadAIX::RemoveHardwareBreakpoint(lldb::addr_t addr) {
return Status("Clearing hardware breakpoint failed.");
}
NativeProcessAIX &NativeThreadAIX::GetProcess() {
return static_cast<NativeProcessAIX &>(m_process);
}
const NativeProcessAIX &NativeThreadAIX::GetProcess() const {
return static_cast<const NativeProcessAIX &>(m_process);
}
llvm::Expected<std::unique_ptr<llvm::MemoryBuffer>>
NativeThreadAIX::GetSiginfo() const {
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"Not implemented");
}