* fixed morphos syscall

This commit is contained in:
florian 2004-11-14 16:26:29 +00:00
parent 2dfadfc8fd
commit 60e0494a74
3 changed files with 43 additions and 24 deletions

View File

@ -72,6 +72,7 @@
{$ifdef powerpc} {$ifdef powerpc}
{$define cpuflags} {$define cpuflags}
{$define cputargethasfixedstack}
{$define noopt} {$define noopt}
{define oldregvars} {define oldregvars}
{$endif powerpc} {$endif powerpc}
@ -90,7 +91,10 @@
{ {
$Log$ $Log$
Revision 1.46 2004-10-31 18:54:24 peter Revision 1.47 2004-11-14 16:26:29 florian
* fixed morphos syscall
Revision 1.46 2004/10/31 18:54:24 peter
* $fpctarget expands to <cpu>-<os> * $fpctarget expands to <cpu>-<os>
* allow * in middle of the path to support ../*/units/$fpctarget * allow * in middle of the path to support ../*/units/$fpctarget

View File

@ -1176,7 +1176,7 @@ begin
include(pd.procoptions,po_explicitparaloc); include(pd.procoptions,po_explicitparaloc);
if consume_sym(sym,symtable) then if consume_sym(sym,symtable) then
begin begin
if (sym.typ in [localvarsym,paravarsym]) and if (sym.typ in [localvarsym,paravarsym,globalvarsym]) and
((tabstractvarsym(sym).vartype.def.deftype=pointerdef) or ((tabstractvarsym(sym).vartype.def.deftype=pointerdef) or
is_32bitint(tabstractvarsym(sym).vartype.def) is_32bitint(tabstractvarsym(sym).vartype.def)
) then ) then
@ -1888,6 +1888,8 @@ const
{ insert parentfp parameter if required } { insert parentfp parameter if required }
insert_parentfp_para(pd); insert_parentfp_para(pd);
if not(po_explicitparaloc in pd.procoptions) then
begin
currpara:=tparaitem(pd.para.first); currpara:=tparaitem(pd.para.first);
while assigned(currpara) do while assigned(currpara) do
begin begin
@ -1907,6 +1909,7 @@ const
currpara:=tparaitem(currpara.next); currpara:=tparaitem(currpara.next);
end; end;
end; end;
end;
@ -2266,7 +2269,10 @@ const
end. end.
{ {
$Log$ $Log$
Revision 1.203 2004-11-11 19:31:33 peter Revision 1.204 2004-11-14 16:26:29 florian
* fixed morphos syscall
Revision 1.203 2004/11/11 19:31:33 peter
* fixed compile of powerpc,sparc,arm * fixed compile of powerpc,sparc,arm
Revision 1.202 2004/11/09 22:32:59 peter Revision 1.202 2004/11/09 22:32:59 peter

View File

@ -324,6 +324,11 @@ unit cpupara;
end; end;
begin begin
{$ifdef extdebug}
if po_explicitparaloc in p.procoptions then
internalerror(200411141);
{$endif extdebug}
result:=0; result:=0;
nextintreg := curintreg; nextintreg := curintreg;
nextfloatreg := curfloatreg; nextfloatreg := curfloatreg;
@ -524,10 +529,11 @@ unit cpupara;
system_powerpc_morphos: system_powerpc_morphos:
begin begin
p.paraloc[callerside].alignment:=4; p.paraloc[callerside].alignment:=4;
p.paraloc[callerside].size:=def_cgsize(p.paratype.def);
paraloc:=p.paraloc[callerside].add_location; paraloc:=p.paraloc[callerside].add_location;
paraloc^.loc:=LOC_REFERENCE; paraloc^.loc:=LOC_REFERENCE;
paraloc^.size:=def_cgsize(p.paratype.def); paraloc^.size:=def_cgsize(p.paratype.def);
paraloc^.reference.index:=NR_R2; paraloc^.reference.index:=newreg(R_INTREGISTER,RS_R2,R_SUBWHOLE);
{ pattern is always uppercase'd } { pattern is always uppercase'd }
if s='D0' then if s='D0' then
paraloc^.reference.offset:=0 paraloc^.reference.offset:=0
@ -583,7 +589,10 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.69 2004-09-25 20:28:20 florian Revision 1.70 2004-11-14 16:26:29 florian
* fixed morphos syscall
Revision 1.69 2004/09/25 20:28:20 florian
* indention fixed * indention fixed
Revision 1.68 2004/09/21 17:25:13 peter Revision 1.68 2004/09/21 17:25:13 peter