diff options
Diffstat (limited to 'include/lldb/Target/Process.h')
-rw-r--r-- | include/lldb/Target/Process.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/include/lldb/Target/Process.h b/include/lldb/Target/Process.h index f85069ea09067..a4ef1cc40414a 100644 --- a/include/lldb/Target/Process.h +++ b/include/lldb/Target/Process.h @@ -50,6 +50,7 @@ #include "lldb/lldb-private.h" #include "llvm/ADT/ArrayRef.h" +#include "llvm/Support/Threading.h" #include "llvm/Support/VersionTuple.h" namespace lldb_private { @@ -680,10 +681,19 @@ public: /// shared library load state. /// /// \return - /// The number of shared libraries that were loaded - virtual size_t LoadModules() { return 0; } + /// A status object indicating if the operation was sucessful or not. + virtual llvm::Error LoadModules() { + return llvm::make_error<llvm::StringError>("Not implemented.", + llvm::inconvertibleErrorCode()); + } - virtual size_t LoadModules(LoadedModuleInfoList &) { return 0; } + /// Query remote GDBServer for a detailed loaded library list + /// \return + /// The list of modules currently loaded by the process, or an error. + virtual llvm::Expected<LoadedModuleInfoList> GetLoadedModuleList() { + return llvm::createStringError(llvm::inconvertibleErrorCode(), + "Not implemented"); + } protected: virtual JITLoaderList &GetJITLoaders(); @@ -1186,6 +1196,9 @@ public: /// VersionTuple is returner. virtual llvm::VersionTuple GetHostOSVersion() { return llvm::VersionTuple(); } + /// \return the macCatalyst version of the host OS. + virtual llvm::VersionTuple GetHostMacCatalystVersion() { return {}; } + /// Get the target object pointer for this module. /// /// \return @@ -2259,6 +2272,8 @@ public: void ClearPreResumeAction(PreResumeActionCallback callback, void *baton); ProcessRunLock &GetRunLock(); + + bool CurrentThreadIsPrivateStateThread(); virtual Status SendEventData(const char *data) { Status return_error("Sending an event is not supported for this process."); @@ -2453,6 +2468,11 @@ public: return Status("Not implemented"); } + // This calls a function of the form "void * (*)(void)". + bool CallVoidArgVoidPtrReturn(const Address *address, + lldb::addr_t &returned_func, + bool trap_exceptions = false); + protected: void SetState(lldb::EventSP &event_sp); @@ -2732,7 +2752,7 @@ protected: enum { eCanJITDontKnow = 0, eCanJITYes, eCanJITNo } m_can_jit; std::unique_ptr<UtilityFunction> m_dlopen_utility_func_up; - std::once_flag m_dlopen_utility_func_flag_once; + llvm::once_flag m_dlopen_utility_func_flag_once; size_t RemoveBreakpointOpcodesFromBuffer(lldb::addr_t addr, size_t size, uint8_t *buf) const; |