summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/UnwindAssembly/x86
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/UnwindAssembly/x86')
-rw-r--r--lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp15
-rw-r--r--lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h23
2 files changed, 25 insertions, 13 deletions
diff --git a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
index 28bb3364243..8382e3ea26f 100644
--- a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
+++ b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
@@ -818,6 +818,17 @@ AssemblyParse_x86::find_first_non_prologue_insn (Address &address)
// UnwindAssemblyParser_x86 method definitions
//-----------------------------------------------------------------------------------------------
+UnwindAssembly_x86::UnwindAssembly_x86 (const ArchSpec &arch, int cpu) :
+ lldb_private::UnwindAssembly(arch),
+ m_cpu(cpu)
+{
+}
+
+
+UnwindAssembly_x86::~UnwindAssembly_x86 ()
+{
+}
+
bool
UnwindAssembly_x86::GetNonCallSiteUnwindPlanFromAssembly (AddressRange& func, Thread& thread, UnwindPlan& unwind_plan)
{
@@ -844,9 +855,9 @@ UnwindAssembly_x86::CreateInstance (const ArchSpec &arch)
{
const llvm::Triple::ArchType cpu = arch.GetMachine ();
if (cpu == llvm::Triple::x86)
- return new UnwindAssembly_x86 (k_i386);
+ return new UnwindAssembly_x86 (arch, k_i386);
else if (cpu == llvm::Triple::x86_64)
- return new UnwindAssembly_x86 (k_x86_64);
+ return new UnwindAssembly_x86 (arch, k_x86_64);
return NULL;
}
diff --git a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h
index 4c29dcf7b28..f5d039141b2 100644
--- a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h
+++ b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h
@@ -12,25 +12,29 @@
#include "lldb/lldb-private.h"
#include "lldb/Target/UnwindAssembly.h"
-#include "lldb/Target/Thread.h"
-namespace lldb_private {
-
class UnwindAssembly_x86 : public lldb_private::UnwindAssembly
{
public:
- ~UnwindAssembly_x86 () { }
+ ~UnwindAssembly_x86 ();
virtual bool
- GetNonCallSiteUnwindPlanFromAssembly (AddressRange& func, lldb_private::Thread& thread, UnwindPlan& unwind_plan);
+ GetNonCallSiteUnwindPlanFromAssembly (lldb_private::AddressRange& func,
+ lldb_private::Thread& thread,
+ lldb_private::UnwindPlan& unwind_plan);
virtual bool
- GetFastUnwindPlan (AddressRange& func, lldb_private::Thread& thread, UnwindPlan &unwind_plan);
+ GetFastUnwindPlan (lldb_private::AddressRange& func,
+ lldb_private::Thread& thread,
+ lldb_private::UnwindPlan &unwind_plan);
// thread may be NULL in which case we only use the Target (e.g. if this is called pre-process-launch).
virtual bool
- FirstNonPrologueInsn (AddressRange& func, lldb_private::Target& target, lldb_private::Thread* thread, Address& first_non_prologue_insn);
+ FirstNonPrologueInsn (lldb_private::AddressRange& func,
+ lldb_private::Target& target,
+ lldb_private::Thread* thread,
+ lldb_private::Address& first_non_prologue_insn);
static lldb_private::UnwindAssembly *
CreateInstance (const lldb_private::ArchSpec &arch);
@@ -61,13 +65,10 @@ public:
GetPluginVersion();
private:
- UnwindAssembly_x86(int cpu) :
- lldb_private::UnwindAssembly(), m_cpu(cpu) { } // Call CreateInstance instead.
+ UnwindAssembly_x86 (const lldb_private::ArchSpec &arch, int cpu);
int m_cpu;
};
-} // namespace lldb_private
-
#endif // liblldb_UnwindAssembly_x86_h_
OpenPOWER on IntegriCloud