- disabled assembler implementations for darwin/i386 because they don't

work on i386 targets that require a 16-byte aligned stack

git-svn-id: trunk@23045 -
This commit is contained in:
Jonas Maebe 2012-11-22 13:34:21 +00:00
parent dfe3ca5328
commit 631fa329e5

View File

@ -34,6 +34,16 @@ unit Hermes;
{$MODE objfpc}
{$if defined(darwin) and defined(cpui386)}
{ darwin/i386 requires a 16 byte aligned stack, and inserts code for that on
entry in assembler routines (unless they are declared with "nostackframe").
These assembler routines manually create their own stack frame and hardcode
parameter offsets without using nostackframe, so they can never work on
Darwin.
}
{$define noassembler}
{$endif}
{$IF defined(cpui386) and not defined(noassembler)}
{$IF defined(linux) or defined(win32) or defined(go32v2) or defined(freebsd) or defined(haiku) or defined(beos)}
{$DEFINE I386_ASSEMBLER}