mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 19:39:20 +02:00
+ added more patches from Mazen for SPARC port
This commit is contained in:
parent
842b44b8bc
commit
f3e1648aa9
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user