mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-26 21:09:26 +02:00
+ ppc-amigaos stack cookie support
git-svn-id: trunk@2199 -
This commit is contained in:
parent
b334da9a54
commit
fd54c6b468
@ -356,12 +356,31 @@ implementation
|
||||
|
||||
|
||||
procedure insertmemorysizes;
|
||||
{$IFDEF POWERPC}
|
||||
var
|
||||
stkcookie: string;
|
||||
{$ENDIF POWERPC}
|
||||
begin
|
||||
{ stacksize can be specified and is now simulated }
|
||||
maybe_new_object_file(asmlist[al_globals]);
|
||||
new_section(asmlist[al_globals],sec_data,'__stklen', sizeof(aint));
|
||||
asmlist[al_globals].concat(Tai_symbol.Createname_global('__stklen',AT_DATA,sizeof(aint)));
|
||||
asmlist[al_globals].concat(Tai_const.Create_aint(stacksize));
|
||||
{$IFDEF POWERPC}
|
||||
{ AmigaOS4 "stack cookie" support }
|
||||
if ( target_info.system = system_powerpc_amiga ) then
|
||||
begin
|
||||
{ this symbol is needed to ignite powerpc amigaos' }
|
||||
{ stack allocation magic for us with the given stack size. }
|
||||
{ note: won't work for m68k amigaos or morphos. (KB) }
|
||||
str(stacksize,stkcookie);
|
||||
stkcookie:='$STACK: '+stkcookie+#0;
|
||||
maybe_new_object_file(asmlist[al_globals]);
|
||||
new_section(asmlist[al_globals],sec_data,'__stack_cookie',length(stkcookie));
|
||||
asmlist[al_globals].concat(Tai_symbol.Createname_global('__stack_cookie',AT_DATA,length(stkcookie)));
|
||||
asmlist[al_globals].concat(Tai_string.Create(stkcookie));
|
||||
end;
|
||||
{$ENDIF POWERPC}
|
||||
{ Initial heapsize }
|
||||
maybe_new_object_file(asmlist[al_globals]);
|
||||
new_section(asmlist[al_globals],sec_data,'__heapsize',sizeof(aint));
|
||||
|
Loading…
Reference in New Issue
Block a user