[fpc-devel] SEH-based exceptions enabled on win32

Florian Klämpfl florian at freepascal.org
Fri Jan 10 08:02:18 CET 2020


Am 10. Januar 2020 07:49:32 schrieb Sven Barth via fpc-devel <fpc-devel at lists.freepascal.org>:

> J. Gareth Moreton <gareth at moreton-family.com> schrieb am Fr., 10. Jan.
> 2020, 01:20:
>
>> Has code generation changed as a result? I recall i386 making heavy use
>> of push and pop within routines rather than pre-reserving the stack in
>> the prologue - this is a big no-no for SEH if I recall.
>
> That might be due to the stack alignment that was recently introduced as
> well.

win32 does not use the 16 Byte alignment. Nothing should have changed for win32.

>
>
> Whether the stack of is manipulated with push/pop or is reserved in one go
> shouldn't matter for SEH as the original stack pointer is stored in EBP
> anyway and thus can be restored (or stored on the stack in nested calls and
> can be restored from there as it's one of the first actions done in the
> prologue).
>
> Regards,
> Sven
>
>>
>
>
>
> ----------
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel






More information about the fpc-devel mailing list