aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
diff options
context:
space:
mode:
authorAntonio Afonso <antonio.afonso@gmail.com>2019-06-14 21:15:08 +0000
committerAntonio Afonso <antonio.afonso@gmail.com>2019-06-14 21:15:08 +0000
commitf4335b8e3c6a787e3616f3b0ccdfd64409eaf149 (patch)
tree7fbcb3e390df5c927ba9738f46368d251af2928d /lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
parent2de984cd3046de0ec6b9557721a08688beadf7e2 (diff)
downloadllvm-f4335b8e3c6a787e3616f3b0ccdfd64409eaf149.tar.gz
llvm-f4335b8e3c6a787e3616f3b0ccdfd64409eaf149.tar.bz2
llvm-f4335b8e3c6a787e3616f3b0ccdfd64409eaf149.zip
Implement GetSharedLibraryInfoAddress
Summary: This is the third patch to improve module loading in a series that started here (where I explain the motivation and solution): D62499 Add functions to read the r_debug location to know where the linked list of loaded libraries are so I can generate the `xfer:libraries-svr4` packet. I'm also using this function to implement `GetSharedLibraryInfoAddress` that was "not implemented" for linux. Most of this code was inspired by the current ds2 implementation here: https://github.com/facebook/ds2/blob/master/Sources/Target/POSIX/ELFProcess.cpp. Reviewers: clayborg, xiaobai, labath Reviewed By: clayborg, labath Subscribers: emaste, krytarowski, mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D62501 llvm-svn: 363458
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeProcessLinux.h')
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeProcessLinux.h10
1 files changed, 2 insertions, 8 deletions
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
index 0a67af0a0a46..1366f0b1fe3c 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
@@ -12,7 +12,6 @@
#include <csignal>
#include <unordered_set>
-#include "Plugins/Process/Utility/AuxVector.h"
#include "lldb/Host/Debug.h"
#include "lldb/Host/HostThread.h"
#include "lldb/Host/linux/Support.h"
@@ -22,8 +21,8 @@
#include "lldb/lldb-types.h"
#include "NativeThreadLinux.h"
+#include "Plugins/Process/POSIX/NativeProcessELF.h"
#include "ProcessorTrace.h"
-#include "lldb/Host/common/NativeProcessProtocol.h"
namespace lldb_private {
class Status;
@@ -37,7 +36,7 @@ namespace process_linux {
/// for debugging.
///
/// Changes in the inferior process state are broadcasted.
-class NativeProcessLinux : public NativeProcessProtocol {
+class NativeProcessLinux : public NativeProcessELF {
public:
class Factory : public NativeProcessProtocol::Factory {
public:
@@ -77,8 +76,6 @@ public:
Status DeallocateMemory(lldb::addr_t addr) override;
- lldb::addr_t GetSharedLibraryInfoAddress() override;
-
size_t UpdateThreads() override;
const ArchSpec &GetArchitecture() const override { return m_arch; }
@@ -103,8 +100,6 @@ public:
return getProcFile(GetID(), "auxv");
}
- llvm::Optional<uint64_t> GetAuxValue(enum AuxVector::EntryType type);
-
lldb::user_id_t StartTrace(const TraceOptions &config,
Status &error) override;
@@ -135,7 +130,6 @@ protected:
private:
MainLoop::SignalHandleUP m_sigchld_handle;
ArchSpec m_arch;
- std::unique_ptr<AuxVector> m_aux_vector;
LazyBool m_supports_mem_region = eLazyBoolCalculate;
std::vector<std::pair<MemoryRegionInfo, FileSpec>> m_mem_region_cache;