+ describe for each supported target the default guaranteed stack alignment

git-svn-id: trunk@22278 -
This commit is contained in:
Jonas Maebe 2012-09-02 14:32:12 +00:00
parent a5cb157091
commit bd31004fdb
27 changed files with 66 additions and 1 deletions

View File

@ -207,6 +207,8 @@ interface
} }
first_parm_offset : longint; first_parm_offset : longint;
stacksize : longint; stacksize : longint;
{ stack alignment }
stackalign : byte;
abi : tabi; abi : tabi;
end; end;

View File

@ -88,6 +88,7 @@ unit i_aix;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 32*1024*1024; stacksize : 32*1024*1024;
stackalign : 16;
abi : abi_powerpc_aix; abi : abi_powerpc_aix;
); );
@ -150,6 +151,7 @@ unit i_aix;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 10*1024*1024; stacksize : 10*1024*1024;
stackalign : 16;
abi : abi_powerpc_aix abi : abi_powerpc_aix
); );

View File

@ -87,6 +87,7 @@ unit i_amiga;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 2;
abi : abi_default; abi : abi_default;
); );
@ -148,6 +149,7 @@ unit i_amiga;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 16;
abi : abi_powerpc_sysv; abi : abi_powerpc_sysv;
); );

View File

@ -73,9 +73,9 @@ unit i_atari;
dbg : dbg_stabs; dbg : dbg_stabs;
script : script_unix; script : script_unix;
endian : endian_big; endian : endian_big;
stackalignment : 2;
maxCrecordalignment : 4; maxCrecordalignment : 4;
stacksize : 8192; stacksize : 8192;
stackalign : 2;
DllScanSupported:false; DllScanSupported:false;
use_function_relative_addresses : false use_function_relative_addresses : false
); );

View File

@ -98,6 +98,7 @@ unit i_beos;
so i use this new value. so i use this new value.
} }
stacksize : 16 * 1024 * 1024; stacksize : 16 * 1024 * 1024;
stackalign : 4;
abi : abi_default abi : abi_default
); );

View File

@ -117,6 +117,7 @@ unit i_bsd;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );
@ -182,6 +183,7 @@ unit i_bsd;
); );
first_parm_offset : 16; first_parm_offset : 16;
stacksize : 256*1024; stacksize : 256*1024;
stackalign : 16;
abi : abi_default; abi : abi_default;
); );
@ -244,6 +246,7 @@ unit i_bsd;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );
@ -305,6 +308,7 @@ unit i_bsd;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );
@ -369,6 +373,7 @@ unit i_bsd;
); );
first_parm_offset : 16; first_parm_offset : 16;
stacksize : 256*1024; stacksize : 256*1024;
stackalign : 16;
abi : abi_default; abi : abi_default;
); );
@ -430,6 +435,7 @@ unit i_bsd;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );
@ -491,6 +497,7 @@ unit i_bsd;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 32*1024*1024; stacksize : 32*1024*1024;
stackalign : 16;
{ abi_powerpc_sysv doesn't work yet } { abi_powerpc_sysv doesn't work yet }
abi : abi_powerpc_aix; abi : abi_powerpc_aix;
); );
@ -556,6 +563,7 @@ unit i_bsd;
); );
first_parm_offset : 16; first_parm_offset : 16;
stacksize : 256*1024; stacksize : 256*1024;
stackalign : 16;
abi : abi_default; abi : abi_default;
); );
@ -617,6 +625,7 @@ unit i_bsd;
); );
first_parm_offset : 24; first_parm_offset : 24;
stacksize : 262144; stacksize : 262144;
stackalign : 16;
abi : abi_powerpc_aix; abi : abi_powerpc_aix;
); );
@ -680,6 +689,7 @@ unit i_bsd;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 16;
abi : abi_default; abi : abi_default;
); );
@ -743,6 +753,7 @@ unit i_bsd;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 16;
abi : abi_default; abi : abi_default;
); );
@ -806,6 +817,7 @@ unit i_bsd;
); );
first_parm_offset : 48; first_parm_offset : 48;
stacksize : 262144; stacksize : 262144;
stackalign : 16;
abi : abi_powerpc_aix; abi : abi_powerpc_aix;
); );
@ -869,6 +881,7 @@ unit i_bsd;
); );
first_parm_offset : 16; first_parm_offset : 16;
stacksize : 262144; stacksize : 262144;
stackalign : 16;
abi : abi_default; abi : abi_default;
); );
@ -931,6 +944,7 @@ unit i_bsd;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default abi : abi_default
); );

View File

@ -87,6 +87,7 @@ unit i_embed;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default abi : abi_default
); );
@ -149,6 +150,7 @@ unit i_embed;
); );
first_parm_offset : 0; first_parm_offset : 0;
stacksize : 1024; stacksize : 1024;
stackalign : 4;
abi : abi_default abi : abi_default
); );
@ -211,6 +213,7 @@ unit i_embed;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 4096; stacksize : 4096;
stackalign : 4;
abi : abi_default abi : abi_default
); );

View File

@ -98,6 +98,7 @@ unit i_emx;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 256*1024; stacksize : 256*1024;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );

View File

@ -88,6 +88,7 @@ unit i_gba;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 16384; stacksize : 16384;
stackalign : 8;
abi : abi_eabi abi : abi_eabi
); );

View File

@ -87,6 +87,7 @@ unit i_go32v2;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );

View File

@ -99,6 +99,7 @@ unit i_haiku;
so i use this new value. so i use this new value.
} }
stacksize : 16 * 1024 * 1024; stacksize : 16 * 1024 * 1024;
stackalign : 4;
abi : abi_default abi : abi_default
); );

View File

@ -105,6 +105,7 @@ unit i_jvm;
); );
first_parm_offset : 0; first_parm_offset : 0;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );
@ -169,6 +170,7 @@ unit i_jvm;
); );
first_parm_offset : 0; first_parm_offset : 0;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );

View File

@ -93,6 +93,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 8*1024*1024; stacksize : 8*1024*1024;
stackalign : 4;
abi : abi_default abi : abi_default
); );
@ -156,6 +157,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 8*1024*1024; stacksize : 8*1024*1024;
stackalign : 16;
abi : abi_default abi : abi_default
); );
@ -218,6 +220,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 32*1024*1024; stacksize : 32*1024*1024;
stackalign : 4;
abi : abi_default abi : abi_default
); );
@ -280,6 +283,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 32*1024*1024; stacksize : 32*1024*1024;
stackalign : 16;
abi : abi_powerpc_sysv; abi : abi_powerpc_sysv;
); );
@ -342,6 +346,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 10*1024*1024; stacksize : 10*1024*1024;
stackalign : 16;
abi : abi_powerpc_sysv abi : abi_powerpc_sysv
); );
@ -404,6 +409,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 32*1024*1024; stacksize : 32*1024*1024;
stackalign : 8; { ??? }
abi : abi_default abi : abi_default
); );
@ -467,6 +473,7 @@ unit i_linux;
); );
first_parm_offset : 16; first_parm_offset : 16;
stacksize : 8*1024*1024; stacksize : 8*1024*1024;
stackalign : 16;
abi : abi_default abi : abi_default
); );
@ -531,6 +538,7 @@ unit i_linux;
); );
first_parm_offset : 92; first_parm_offset : 92;
stacksize : 8*1024*1024; stacksize : 8*1024*1024;
stackalign : 8;
abi : abi_default abi : abi_default
); );
@ -595,6 +603,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 8*1024*1024; stacksize : 8*1024*1024;
stackalign : 8;
abi : abi_eabihf abi : abi_eabihf
); );
{$else FPC_ARMHF} {$else FPC_ARMHF}
@ -659,6 +668,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 8*1024*1024; stacksize : 8*1024*1024;
stackalign : 8;
abi : abi_eabi abi : abi_eabi
); );
{$else FPC_ARMEL} {$else FPC_ARMEL}
@ -723,6 +733,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 8*1024*1024; stacksize : 8*1024*1024;
stackalign : 4;
abi : abi_default abi : abi_default
); );
{$else FPC_ARMEB} {$else FPC_ARMEB}
@ -786,6 +797,7 @@ unit i_linux;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 8*1024*1024; stacksize : 8*1024*1024;
stackalign : 4;
abi : abi_default abi : abi_default
); );
{$endif FPC_ARMEB} {$endif FPC_ARMEB}
@ -853,6 +865,7 @@ unit i_linux;
); );
first_parm_offset : 0; first_parm_offset : 0;
stacksize : 32*1024*1024; stacksize : 32*1024*1024;
stackalign : 8;
abi : abi_default abi : abi_default
); );
@ -917,6 +930,7 @@ unit i_linux;
); );
first_parm_offset : 0; first_parm_offset : 0;
stacksize : 32*1024*1024; stacksize : 32*1024*1024;
stackalign : 8;
abi : abi_default abi : abi_default
); );

View File

@ -86,6 +86,7 @@ unit i_macos;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 16;
abi : abi_powerpc_aix; abi : abi_powerpc_aix;
); );

View File

@ -87,6 +87,7 @@ unit i_morph;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 16;
abi : abi_powerpc_sysv; abi : abi_powerpc_sysv;
); );

View File

@ -92,6 +92,7 @@ unit i_nativent;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 16*1024*1024; stacksize : 16*1024*1024;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );

View File

@ -88,6 +88,7 @@ unit i_nds;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : $3CFF; //15615? or 16384?; stacksize : $3CFF; //15615? or 16384?;
stackalign : 8;
abi : abi_eabi abi : abi_eabi
); );

View File

@ -87,6 +87,7 @@ unit i_nwl;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 16384; stacksize : 16384;
stackalign : 4;
abi : abi_default abi : abi_default
); );

View File

@ -87,6 +87,7 @@ unit i_nwm;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 16384; stacksize : 16384;
stackalign : 4;
abi : abi_default abi : abi_default
); );

View File

@ -98,6 +98,7 @@ unit i_os2;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 256*1024; stacksize : 256*1024;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );

View File

@ -87,6 +87,7 @@ unit i_palmos;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 8192; stacksize : 8192;
stackalign : 2;
abi : abi_default; abi : abi_default;
); );
@ -159,6 +160,7 @@ unit i_palmos;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 8192; stacksize : 8192;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );

View File

@ -89,6 +89,7 @@ unit i_sunos;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );
@ -155,6 +156,7 @@ unit i_sunos;
); );
first_parm_offset : 16; first_parm_offset : 16;
stacksize : 8*1024*1024; stacksize : 8*1024*1024;
stackalign : 16;
abi : abi_default abi : abi_default
); );
@ -220,6 +222,7 @@ unit i_sunos;
); );
first_parm_offset : 92; first_parm_offset : 92;
stacksize : 262144; stacksize : 262144;
stackalign : 8;
abi : abi_default; abi : abi_default;
); );

View File

@ -89,6 +89,7 @@ unit i_symbian;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );
@ -151,6 +152,7 @@ unit i_symbian;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );

View File

@ -87,6 +87,7 @@ unit i_watcom;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 16384; stacksize : 16384;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );

View File

@ -87,6 +87,7 @@ unit i_wdosx;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 32*1024*1024; stacksize : 32*1024*1024;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );

View File

@ -87,6 +87,7 @@ unit i_wii;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 131072; // 128 kb stacksize : 131072; // 128 kb
stackalign : 16;
abi : abi_powerpc_sysv; abi : abi_powerpc_sysv;
); );

View File

@ -92,6 +92,7 @@ unit i_win;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 16*1024*1024; stacksize : 16*1024*1024;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );
@ -158,6 +159,7 @@ unit i_win;
); );
first_parm_offset : 16; first_parm_offset : 16;
stacksize : 16*1024*1024; stacksize : 16*1024*1024;
stackalign : 16;
abi : abi_default; abi : abi_default;
); );
@ -222,6 +224,7 @@ unit i_win;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );
@ -286,6 +289,7 @@ unit i_win;
); );
first_parm_offset : 8; first_parm_offset : 8;
stacksize : 262144; stacksize : 262144;
stackalign : 4;
abi : abi_default; abi : abi_default;
); );