pleriche/FastMM4

FullDebugMode does not work on OSX32

mterrisse opened this issue · 1 comments

There is an access violation in GetStackRange (FastMM_FullDebugMode.dpr) when it executes mov ecx, fs:[4]

procedure GetStackRange(var AStackBaseAddress, ACurrentStackPointer: NativeUInt);
asm
{$if SizeOf(Pointer) = 8}
mov rax, gs:[abs 8]
mov [rcx], rax
mov [rdx], rbp
{$else}
mov ecx, fs:[4]
mov [eax], ecx
mov [edx], ebp
{$ifend}
end;

This code can work only on Windows, it queries the Win32 Thread Information Block.
I can go further if I change
mov ecx, fs:[4]
mov [eax], ecx
to
mov [eax], $ffffffff

Regards,

Michel Terrisse