<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Martin Frb via lazarus <<a href="mailto:lazarus@lists.lazarus-ide.org" target="_blank" rel="noreferrer">lazarus@lists.lazarus-ide.org</a>> schrieb am Do., 16. Dez. 2021, 23:27:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Only, question is, if we need the ABI?<br>
- Do win64 and linux64 share the same ABI? (or win32 <> linux32)?<br>
Afaik SEH is win specific (and probably would be best of in the ABI?).<br>
But there could still be a base class that is shared between Win/Linux.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Yes, SEH is Windows specific. The ABI is mostly CPU specific however. E.g. all the i386 calling conventions can be used on all OSes. On the x86_64 systems one usually uses either the SysV or the Win64 ABI, but both FPC and Clang allow the use of the other calling convention as well. On the other hand the register usage on m68k for example differs between Amiga and non-Amiga (the stack pointer is a different register and the stack alignment is 2 instead of 4 Byte) and this can't be changed. </div><div dir="auto">So in my opinion the design should allow for as much code sharing/reuse as possible, e.g. with a general x86_64 ABI with OS specifics (e.g. SEH) on top. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>