Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2013-03

Firebird embedded supported on Windows 64 by SEH patch

6 messages · 5 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Reinier Olislagers

Sergei Gorelkin enabled Win64 SEH support in trunk r23732:

* Make Win64 SEH support enabled by default. If necessary to disable, compiler should be cycled with OPT=-dDISABLE_WIN64_SEH. Mantis #24012.

Seems this fixes issues on Win64 with e.g. embedded Firebird dlls, and I'm sure many other DLLs.

Thanks a lot, Sergei!

Regards,
Reinier

Reply by email

Paul Ishenin
to Reinier Olislagers

09.03.13, 15:49, Reinier Olislagers пишет:

Sergei Gorelkin enabled Win64 SEH support in trunk r23732: * Make Win64 SEH support enabled by default. If necessary to disable, compiler should be cycled with OPT=-dDISABLE_WIN64_SEH. Mantis #24012.

Does win32 SEH differs much from 64 bit version?

Best regards,
Paul Ishenin

Reply by email

Sven Barth
to Paul Ishenin
"Paul Ishenin" wrote 10 lines
09.03.13, 15:49, Reinier Olislagers пишет: > Sergei Gorelkin enabled Win64 SEH support in trunk r23732: > > * Make Win64 SEH support enabled by default. If necessary to disable, > compiler should be cycled with OPT=-dDISABLE_WIN64_SEH. Mantis #24012. Does win32 SEH differs much from 64 bit version?

Yes, radically. It would be easier to implement arm-wince SEH first (which could also be used by a potential arm-winrt target btw.). In x86_64 and arm you have sections in your PE file that basically contain a pointer to the handler function and a memory range where the handler applies. On i386 you have a linked list of handlers on the stack that you (as in "the compiler") need to manage manually.

I386 SEH existed first in Windows and in the arm and x86_64 cases they learned from their problems. It would now be intresting to see how SEH on Dec Alpha, MIPS and PowerPC worked when the platforms where still supported by NT...

Regards,
Sven

Regards,
Sven

Reply by email

Reinier Olislagers
to Florian Klaempfl
Florian Klaempfl wrote 10 lines
Am 09.03.2013 08:49, schrieb Reinier Olislagers: > Sergei Gorelkin enabled Win64 SEH support in trunk r23732: > > * Make Win64 SEH support enabled by default. If necessary to disable, > compiler should be cycled with OPT=-dDISABLE_WIN64_SEH. Mantis #24012. > Is it usefull to make DISABLE_WIN64_SEH a command line switch? From my perspective: no, as it breaks using external dlls whose

errors/exceptions incorrectly bubble up through to FPC.

However, perhaps Sergei has another opinion...

Reply by email

Marco van de Voort
to Reinier Olislagers

In our previous episode, Reinier Olislagers said:

Show quoted text 6 lines
> Is it usefull to make DISABLE_WIN64_SEH a command line switch? >From my perspective: no, as it breaks using external dlls whose errors/exceptions incorrectly bubble up through to FPC. However, perhaps Sergei has another opinion...

Probably he is only careful. Which is only wise.

Reply by email