From 62121a9029426665d691f22d352173a3148b53c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1roly=20Balogh?= Date: Sun, 5 Jun 2005 13:07:13 +0000 Subject: [PATCH] made m68k to compile again git-svn-id: trunk@212 - --- compiler/m68k/cgcpu.pas | 8 ++++---- compiler/m68k/n68kmat.pas | 2 +- compiler/m68k/rgcpu.pas | 1 - compiler/systems.pas | 3 ++- compiler/systems/i_amiga.pas | 9 +++++---- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/compiler/m68k/cgcpu.pas b/compiler/m68k/cgcpu.pas index f3c849ec91..159f15c4e1 100644 --- a/compiler/m68k/cgcpu.pas +++ b/compiler/m68k/cgcpu.pas @@ -88,8 +88,8 @@ unit cgcpu; end; tcg64f68k = class(tcg64f32) - procedure a_op64_reg_reg(list : taasmoutput;op:TOpCG;regsrc,regdst : tregister64);override; - procedure a_op64_const_reg(list : taasmoutput;op:TOpCG;value : int64;regdst : tregister64);override; + procedure a_op64_reg_reg(list : taasmoutput;op:TOpCG; size: tcgsize; regsrc,regdst : tregister64);override; + procedure a_op64_const_reg(list : taasmoutput;op:TOpCG; size: tcgsize; value : int64;regdst : tregister64);override; end; { This function returns true if the reference+offset is valid. @@ -1200,7 +1200,7 @@ unit cgcpu; {****************************************************************************} { TCG64F68K } {****************************************************************************} - procedure tcg64f68k.a_op64_reg_reg(list : taasmoutput;op:TOpCG;regsrc,regdst : tregister64); + procedure tcg64f68k.a_op64_reg_reg(list : taasmoutput;op:TOpCG;size: tcgsize; regsrc,regdst : tregister64); var hreg1, hreg2 : tregister; opcode : tasmop; @@ -1262,7 +1262,7 @@ unit cgcpu; end; - procedure tcg64f68k.a_op64_const_reg(list : taasmoutput;op:TOpCG;value : int64;regdst : tregister64); + procedure tcg64f68k.a_op64_const_reg(list : taasmoutput;op:TOpCG;size: tcgsize; value : int64;regdst : tregister64); var lowvalue : cardinal; highvalue : cardinal; diff --git a/compiler/m68k/n68kmat.pas b/compiler/m68k/n68kmat.pas index 31134b034d..c615420f68 100644 --- a/compiler/m68k/n68kmat.pas +++ b/compiler/m68k/n68kmat.pas @@ -114,7 +114,7 @@ implementation secondpass(left); location_copy(location,left.location); location_force_reg(exprasmlist,location,OS_64,false); - cg64.a_op64_loc_reg(exprasmlist,OP_NOT,location, + cg64.a_op64_loc_reg(exprasmlist,OP_NOT,OS_64,location, joinreg64(location.register64.reglo,location.register64.reghi)); end else diff --git a/compiler/m68k/rgcpu.pas b/compiler/m68k/rgcpu.pas index bd104b21d2..4911fca540 100644 --- a/compiler/m68k/rgcpu.pas +++ b/compiler/m68k/rgcpu.pas @@ -20,7 +20,6 @@ **************************************************************************** } -{$i fpcdefs.inc} unit rgcpu; {$i fpcdefs.inc} diff --git a/compiler/systems.pas b/compiler/systems.pas index 217ebc9e49..1560480f33 100644 --- a/compiler/systems.pas +++ b/compiler/systems.pas @@ -111,7 +111,8 @@ interface system_i386_watcom, { 32 } system_powerpc_MorphOS, { 33 } system_x86_64_freebsd, { 34 } - system_i386_netwlibc { 35 } + system_i386_netwlibc, { 35 } + system_powerpc_Amiga { 36 } ); tasm = (as_none diff --git a/compiler/systems/i_amiga.pas b/compiler/systems/i_amiga.pas index 13beda08b6..3ff72ab091 100644 --- a/compiler/systems/i_amiga.pas +++ b/compiler/systems/i_amiga.pas @@ -85,7 +85,8 @@ unit i_amiga; first_parm_offset : 8; stacksize : 262144; DllScanSupported:false; - use_function_relative_addresses : true + use_function_relative_addresses : true; + abi : abi_default; ); system_powerpc_amiga_info : tsysteminfo = @@ -97,8 +98,6 @@ unit i_amiga; cpu : cpu_powerpc; unit_env : ''; extradefines : ''; - sourceext : '.pp'; - pasext : '.pas'; exeext : ''; defext : '.def'; scriptext : '.sh'; @@ -117,6 +116,7 @@ unit i_amiga; staticClibext : '.a'; staticClibprefix : 'lib'; sharedClibprefix : ''; + p_ext_support : false; Cprefix : ''; newline : #10; dirsep : '/'; @@ -147,7 +147,8 @@ unit i_amiga; first_parm_offset : 8; stacksize : 262144; DllScanSupported:false; - use_function_relative_addresses : true + use_function_relative_addresses : true; + abi : abi_powerpc_sysv; ); implementation