- Set up correct stack pointer rule (value offset, not location offset).
- Init all registers to same value by default. gcc doesn't set up explicit CFI for same-value registers, so assume any register follows that rule until explicitly told otherwise (c.f. gdb/dwarf2-frame.c:793). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39817 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
87d85ea382
commit
2e3906da98
|
@ -73,15 +73,12 @@ Architecture::InitRegisterRules(CfaContext& context) const
|
|||
switch (registers[i].Type()) {
|
||||
case REGISTER_TYPE_STACK_POINTER:
|
||||
{
|
||||
// TODO: determine why this fails to retrieve the
|
||||
// correct values.
|
||||
// context.RegisterRule(dwarfReg)->SetToLocationOffset(0);
|
||||
context.RegisterRule(dwarfReg)->SetToValueOffset(0);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
if (registers[i].IsCalleePreserved())
|
||||
context.RegisterRule(dwarfReg)->SetToSameValue();
|
||||
context.RegisterRule(dwarfReg)->SetToSameValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue