summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Utility
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2010-11-09 01:21:22 +0000
committerJason Molenda <jmolenda@apple.com>2010-11-09 01:21:22 +0000
commit45b49245502eda6ab774b3d6ecd9398d86d17717 (patch)
tree06f0fcfe786b8434bd56c83e7b396e47390180b0 /lldb/source/Plugins/Process/Utility
parent478382521e966efd996194cbbce0088fbcf4db5c (diff)
downloadbcm5719-llvm-45b49245502eda6ab774b3d6ecd9398d86d17717.tar.gz
bcm5719-llvm-45b49245502eda6ab774b3d6ecd9398d86d17717.zip
Fix thinko in UnwindTable.cpp where it wouldn't provde a
FuncUnwinders object if the eh_frame section was missing from an objfile. Worked fine on x86_64 but on i386 where eh_frame is unusual, that resulted in the arch default UnwindPlan being used all the time instead of picking up an assembly profile based unwindplan. llvm-svn: 118467
Diffstat (limited to 'lldb/source/Plugins/Process/Utility')
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp11
-rw-r--r--lldb/source/Plugins/Process/Utility/UnwindLLDB.h1
2 files changed, 9 insertions, 3 deletions
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
index dcfb1343297..9b02b466f5b 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
@@ -764,9 +764,14 @@ RegisterContextLLDB::SavedLocationForRegister (uint32_t lldb_regnum, RegisterLoc
{
if (log)
{
- log->Printf("%*sFrame %d could not convert lldb regnum %d into %d RegisterKind reg numbering scheme",
- m_frame_number < 100 ? m_frame_number : 100, "", m_frame_number,
- lldb_regnum, (int) unwindplan_registerkind);
+ if (unwindplan_registerkind == eRegisterKindGeneric)
+ log->Printf("%*sFrame %d could not convert lldb regnum %d into eRegisterKindGeneric reg numbering scheme",
+ m_frame_number < 100 ? m_frame_number : 100, "", m_frame_number,
+ lldb_regnum);
+ else
+ log->Printf("%*sFrame %d could not convert lldb regnum %d into %d RegisterKind reg numbering scheme",
+ m_frame_number < 100 ? m_frame_number : 100, "", m_frame_number,
+ lldb_regnum, (int) unwindplan_registerkind);
}
return false;
}
diff --git a/lldb/source/Plugins/Process/Utility/UnwindLLDB.h b/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
index 128a4a7d20f..1741a125f95 100644
--- a/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
+++ b/lldb/source/Plugins/Process/Utility/UnwindLLDB.h
@@ -56,6 +56,7 @@ private:
lldb::RegisterContextSP reg_ctx; // These are all RegisterContextLLDB's
Cursor () : start_pc (LLDB_INVALID_ADDRESS), cfa (LLDB_INVALID_ADDRESS), sctx(), reg_ctx() { }
+ private:
DISALLOW_COPY_AND_ASSIGN (Cursor);
};
OpenPOWER on IntegriCloud