You are not logged in.
Pages: 1
/// map the stack memory layout at TInterfacedObjectFake.FakeCall()
TFakeCallStack = packed record
{$ifdef CPU64}
{$ifdef LINUX}
XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7: double;
{$else}
XMM1, XMM2, XMM3: double;
{$endif}
MethodIndex: PtrUInt;
Frame, Ret: pointer;
{$ifdef LINUX}
RDI, RSI, RDX, RCX, R8, R9: pointer;
{$endif}
RCX, RDX, R8, R9: pointer; // Here error !!!
{$else}
EDX, ECX, MethodIndex, EBP, Ret: Cardinal;
{$endif}
Stack: array[word] of byte;
end;
Fo example correct version
/// map the stack memory layout at TInterfacedObjectFake.FakeCall()
TFakeCallStack = packed record
{$ifdef CPU64}
{$ifdef LINUX}
XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7: double;
{$else}
XMM1, XMM2, XMM3: double;
{$endif}
MethodIndex: PtrUInt;
Frame, Ret: pointer;
{$ifdef LINUX}
RDI, RSI, RDX, RCX, R8, R9: pointer;
{$else}
RCX, RDX, R8, R9: pointer;
{$endif}
{$else}
EDX, ECX, MethodIndex, EBP, Ret: Cardinal;
{$endif}
Stack: array[word] of byte;
end;
Lazarus x64 Linux
Offline
Next small step
Last to weeks I was on holiday . Now I begin to test x64 linux
Lazarus x64 Linux
Offline
Nice!
See http://synopse.info/fossil/info/16c7d9aa04
But not yet fully finished...
Offline
Pages: 1