[fpc-pascal] How __FPC_specific_handler() is invoked

Sven Barth pascaldragon at googlemail.com
Tue Jul 24 13:56:46 CEST 2018


Matias Vara <matiasevara at gmail.com> schrieb am Di., 24. Juli 2018, 11:04:

> Hello,
>
> I am writing my own __FPC_specific_handler() but I can't figure out when
> this function is registered. I guess this function is registered to the OS
> to be invoked when an exception happens. In the assembler code I have
> something like:
>
> .seh_handler __FPC_specific_handler, at unwind
>
> But I am puzzled by "@unwind". How is __FPC_specific_handler() invoked
>

To understand the .seh_*-pseudo instructions it's probably best to look at
their initial check-in in the GNU assembler:
https://sourceware.org/ml/binutils/2009-08/msg00193.html

The handler function is invoked by Windows when an exception happens inside
the code that is governed by the surrounding (implicit) .seh_(end)proc
directives.

Why are you writing your own handler?

Regards,
Sven

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20180724/fed539de/attachment.html>


More information about the fpc-pascal mailing list