Fix accidentally truncated addresses in call frame unwind.
This commit is contained in:
@@ -315,8 +315,8 @@ ArchitectureX8664::CreateStackFrame(Image* image, FunctionDebugInfo* function,
|
|||||||
|
|
||||||
// The syscall stubs are frameless, the return address is on top of the
|
// The syscall stubs are frameless, the return address is on top of the
|
||||||
// stack.
|
// stack.
|
||||||
uint32 rsp = cpuState->IntRegisterValue(X86_64_REGISTER_RSP);
|
uint64 rsp = cpuState->IntRegisterValue(X86_64_REGISTER_RSP);
|
||||||
uint32 address;
|
uint64 address;
|
||||||
if (fTeamMemory->ReadMemory(rsp, &address, 8) == 8) {
|
if (fTeamMemory->ReadMemory(rsp, &address, 8) == 8) {
|
||||||
returnAddress = address;
|
returnAddress = address;
|
||||||
previousFramePointer = framePointer;
|
previousFramePointer = framePointer;
|
||||||
|
|||||||
Reference in New Issue
Block a user