On 27.11.2011 16:45, Sergei Gorelkin wrote:
The fact it works with DISABLE_TLS_DIRECTORY and fails otherwise
suggests that the foreign thread raises exceptions and FPC tries to
handle them. Error 255 is most likely caused by Halt(255) in
rtl/inc/except.inc line 200 or 303, these are the only places where RTL
can exit with code 255.
This is explainable: FPC won't have ExceptObjectStack or
ExceptAddressStack set up for the foreign thread, they will contain nil
values.

But I don't imagine how it manages to work *without* TLS callbacks. The
difference is that RTL will remain in single-threaded mode, but
SetUnhandledExceptionFilter that is used to intercept exceptions is
AFAIK global and will still break in.

Also interesting question: why does so far only Leonardo experience that problem? I myself have no problem building trunk on a Windows 7 machine using 2.4.4 as a starting compiler.

Regards,
Sven
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to