+ added more patches from Mazen for SPARC port

This commit is contained in:
carl 2002-05-06 19:46:36 +00:00
parent 842b44b8bc
commit f3e1648aa9
4 changed files with 103 additions and 16 deletions

View File

@ -90,13 +90,6 @@ interface
OS_FLOAT = OS_F??; OS_FLOAT = OS_F??;
OS_VECTOR = OS_NO; { the normal registers can also be used as vectors } OS_VECTOR = OS_NO; { the normal registers can also be used as vectors }
{$endif ia64} {$endif ia64}
{$ifdef SPARC}
OS_ADDR=OS_32;
OS_INT=OS_32;
OS_FLOAT=OS_F64;
{$WARNING "OS_VECTOR" was set to "OS_M64" but not verified!}
OS_VECTOR=OS_M64;
{$endif SPARC}
const const
tcgsize2size : Array[tcgsize] of integer = tcgsize2size : Array[tcgsize] of integer =
@ -121,7 +114,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.5 2002-04-21 19:46:52 carl Revision 1.6 2002-05-06 19:48:26 carl
+ added more patches from Mazen for SPARC port
Revision 1.5 2002/04/21 19:46:52 carl
+ added patch for SPARC from Mazen (to move to cpuinfo) + added patch for SPARC from Mazen (to move to cpuinfo)
Revision 1.4 2002/04/21 15:26:15 carl Revision 1.4 2002/04/21 15:26:15 carl

View File

@ -145,7 +145,14 @@ Const
-1,-1,-1,-1,-1,-1,-1,-1 -1,-1,-1,-1,-1,-1,-1,-1
); );
{$endif} {$endif}
{$IFDEF SPARC}
GDB_SPARC_index:ARRAY[tregister]OF ShortInt=(0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
{$ENDIF SPARC}
implementation implementation
{ to use N_EXCL we have to count the character in the stabs for { to use N_EXCL we have to count the character in the stabs for
@ -297,7 +304,10 @@ end.
{ {
$Log$ $Log$
Revision 1.9 2001-12-02 17:20:58 peter Revision 1.10 2002-05-06 19:49:26 carl
+ added more patches from Mazen for SPARC port
Revision 1.9 2001/12/02 17:20:58 peter
* merged register fixes * merged register fixes
Revision 1.8 2001/10/12 16:05:36 peter Revision 1.8 2001/10/12 16:05:36 peter

View File

@ -112,7 +112,8 @@ interface
,as_m68k_as,as_m68k_gas,as_m68k_mit,as_m68k_mot, ,as_m68k_as,as_m68k_gas,as_m68k_mit,as_m68k_mot,
as_m68k_mpw,as_m68k_palm as_m68k_mpw,as_m68k_palm
,as_alpha_as ,as_alpha_as
,as_powerpc_as,as_powerpc_mpw ,as_powerpc_as,as_powerpc_mpw,
as_SPARC_as,as_SPARC_elf32
); );
tld = (ld_none, tld = (ld_none,
@ -122,7 +123,8 @@ interface
ld_m68k_Amiga,ld_m68k_Atari,ld_m68k_Mac, ld_m68k_Amiga,ld_m68k_Atari,ld_m68k_Mac,
ld_m68k_linux,ld_m68k_PalmOS,ld_m68k_freebsd, ld_m68k_linux,ld_m68k_PalmOS,ld_m68k_freebsd,
ld_alpha_linux, ld_alpha_linux,
ld_powerpc_linux,ld_powerpc_macos,ld_i386_Wdosx ld_powerpc_linux,ld_powerpc_macos,ld_i386_Wdosx,
ld_SPARC_SunOs,ld_SPARC_linux
); );
tar = (ar_none tar = (ar_none
@ -641,7 +643,6 @@ begin
{$endif atari} {$endif atari}
{$endif amiga} {$endif amiga}
{$endif cpu68} {$endif cpu68}
{ Now default target, this is dependent on the i386 or m68k define, { Now default target, this is dependent on the i386 or m68k define,
when the define is the same as the current cpu then we use the source when the define is the same as the current cpu then we use the source
os, else we pick a default } os, else we pick a default }
@ -673,6 +674,9 @@ begin
default_target(target_powerpc_linux); default_target(target_powerpc_linux);
{$endif cpuppc} {$endif cpuppc}
{$endif powerpc} {$endif powerpc}
{$IFDEF SPARC}
default_target(target_SPARC_linux);
{$ENDIF SPARC}
end; end;
@ -682,7 +686,10 @@ finalization
end. end.
{ {
$Log$ $Log$
Revision 1.41 2002-04-24 16:08:30 carl Revision 1.42 2002-05-06 19:52:04 carl
+ added more patches from Mazen for SPARC port
Revision 1.41 2002/04/24 16:08:30 carl
* fix compilation problem * fix compilation problem

View File

@ -699,7 +699,72 @@ end;
use_function_relative_addresses : true use_function_relative_addresses : true
); );
{$endif alpha} {$endif alpha}
{$IFDEF SPARC}
CONST
target_SPARC_linux_info : ttargetinfo =
(
target : target_SPARC_Linux;
name : 'Linux for SPARC';
shortname : 'Linux';
flags : [];
cpu : cpu_SPARC;
unit_env : 'LINUXUNITS';
extradefines : 'UNIX';
sourceext : '.pp';
pasext : '.pas';
exeext : '';
defext : '.def';
scriptext : '.sh';
smartext : '.sl';
unitext : '.ppu';
unitlibext : '.ppl';
asmext : '.s';
objext : '.o';
resext : '.res';
resobjext : '.or';
sharedlibext : '.so';
staticlibext : '.a';
staticlibprefix : 'libp';
sharedlibprefix : 'lib';
sharedClibext : '.so';
staticClibext : '.a';
staticClibprefix : 'lib';
sharedClibprefix : 'lib';
Cprefix : '';
newline : #10;
dirsep : '/';
files_case_relevent : true;
assem : as_SPARC_elf32;
assemextern : as_SPARC_as;
link : ld_SPARC_linux;
linkextern : ld_SPARC_linux;
ar : ar_gnu_ar;
res : res_none;
script : script_unix;
endian : endian_little;
alignment :
(
procalign : 4;
loopalign : 4;
jumpalign : 0;
constalignmin : 0;
constalignmax : 4;
varalignmin : 0;
varalignmax : 4;
localalignmin : 0;
localalignmax : 4;
paraalign : 4;
recordalignmin : 0;
recordalignmax : 2;
maxCrecordalign : 4
);
first_parm_offset : 8;
heapsize : 256*1024;
stacksize : 262144;
DllScanSupported:false;
use_function_relative_addresses : true
);
{$ENDIF SPARC}
initialization initialization
{$ifdef i386} {$ifdef i386}
@ -726,10 +791,19 @@ initialization
RegisterExport(target_alpha_linux,texportliblinux); RegisterExport(target_alpha_linux,texportliblinux);
RegisterTarget(target_alpha_linux_info); RegisterTarget(target_alpha_linux_info);
{$endif alpha} {$endif alpha}
{$IFDEF SPARC}
RegisterLinker(ld_SPARC_linux,TLinkerLinux);
RegisterImport(target_SPARC_linux,timportliblinux);
RegisterExport(target_SPARC_linux,texportliblinux);
RegisterTarget(target_SPARC_linux_info);
{$ENDIF SPARC}
end. end.
{ {
$Log$ $Log$
Revision 1.21 2002-04-22 18:19:22 carl Revision 1.22 2002-05-06 19:46:36 carl
+ added more patches from Mazen for SPARC port
Revision 1.21 2002/04/22 18:19:22 carl
- remove use_bound_instruction field - remove use_bound_instruction field
Revision 1.20 2002/04/20 21:43:18 carl Revision 1.20 2002/04/20 21:43:18 carl