Fix FDE generation on Intel 32-bit
Make the generated FDE program reflect that ESI and EDI are callee saved registers. For some reason the program we've had in qv4unwindhelper_p-dw.h for 32-bit was already correct, but the generator was broken (and even mixed up the registers). Change-Id: Id8132580d20636c8ea17f8460d161547227c95fc Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
parent
b17f57df9d
commit
713a4c5b1d
|
@ -87,10 +87,10 @@ enum DwarfRegs {
|
|||
EDX = 1,
|
||||
ECX = 2,
|
||||
EBX = 3,
|
||||
ESI = 4,
|
||||
EDI = 5,
|
||||
EBP = 6,
|
||||
ESP = 7,
|
||||
ESP = 4,
|
||||
EBP = 5,
|
||||
ESI = 6,
|
||||
EDI = 7,
|
||||
EIP = 8,
|
||||
|
||||
InstructionPointerRegister = EIP,
|
||||
|
@ -105,6 +105,9 @@ static const DwarfRegs calleeSavedRegisters[] = {
|
|||
#if defined(Q_PROCESSOR_X86_64)
|
||||
R12,
|
||||
R14
|
||||
#elif defined(Q_PROCESSOR_X86)
|
||||
ESI,
|
||||
EDI
|
||||
#endif
|
||||
};
|
||||
static const int calleeSavedRegisterCount = sizeof(calleeSavedRegisters) / sizeof(calleeSavedRegisters[0]);
|
||||
|
|
Loading…
Reference in New Issue