forked from OSchip/llvm-project
Some 32-bit arm corefiles on darwin may have their general purpose
register set indicated by ARM_THREAD_STATE32 (value 9) instead of the old ARM_THREAD_STATE (value 1); this patch changes lldb to accept either register set flavor code. <rdar://problem/24246257> llvm-svn: 258289
This commit is contained in:
parent
3c43dc27ab
commit
c197e81d07
|
@ -541,6 +541,7 @@ public:
|
|||
lldb::offset_t next_thread_state = offset + (count * 4);
|
||||
switch (flavor)
|
||||
{
|
||||
case GPRAltRegSet:
|
||||
case GPRRegSet:
|
||||
for (uint32_t i=0; i<count; ++i)
|
||||
{
|
||||
|
@ -5059,7 +5060,7 @@ ObjectFileMachO::GetEntryPointAddress ()
|
|||
switch (m_header.cputype)
|
||||
{
|
||||
case llvm::MachO::CPU_TYPE_ARM:
|
||||
if (flavor == 1) // ARM_THREAD_STATE from mach/arm/thread_status.h
|
||||
if (flavor == 1 || flavor == 9) // ARM_THREAD_STATE/ARM_THREAD_STATE32 from mach/arm/thread_status.h
|
||||
{
|
||||
offset += 60; // This is the offset of pc in the GPR thread state data structure.
|
||||
start_address = m_data.GetU32(&offset);
|
||||
|
|
|
@ -596,6 +596,7 @@ RegisterContextDarwin_arm::ReadRegisterSet (uint32_t set, bool force)
|
|||
switch (set)
|
||||
{
|
||||
case GPRRegSet: return ReadGPR(force);
|
||||
case GPRAltRegSet: return ReadGPR(force);
|
||||
case FPURegSet: return ReadFPU(force);
|
||||
case EXCRegSet: return ReadEXC(force);
|
||||
case DBGRegSet: return ReadDBG(force);
|
||||
|
@ -613,6 +614,7 @@ RegisterContextDarwin_arm::WriteRegisterSet (uint32_t set)
|
|||
switch (set)
|
||||
{
|
||||
case GPRRegSet: return WriteGPR();
|
||||
case GPRAltRegSet: return WriteGPR();
|
||||
case FPURegSet: return WriteFPU();
|
||||
case EXCRegSet: return WriteEXC();
|
||||
case DBGRegSet: return WriteDBG();
|
||||
|
|
|
@ -163,6 +163,7 @@ protected:
|
|||
enum
|
||||
{
|
||||
GPRRegSet = 1, // ARM_THREAD_STATE
|
||||
GPRAltRegSet = 9, // ARM_THREAD_STATE32
|
||||
FPURegSet = 2, // ARM_VFP_STATE
|
||||
EXCRegSet = 3, // ARM_EXCEPTION_STATE
|
||||
DBGRegSet = 4 // ARM_DEBUG_STATE
|
||||
|
|
Loading…
Reference in New Issue