mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-02 10:49:33 +01:00
+ Added alpha cpu and linux for alpha os
This commit is contained in:
parent
010544014c
commit
20e0eaf145
@ -46,19 +46,20 @@ unit systems;
|
||||
type
|
||||
tasmmode= (asmmode_none
|
||||
,asmmode_i386_direct,asmmode_i386_att,asmmode_i386_intel
|
||||
,asmmode_m68k_mot
|
||||
,asmmode_m68k_mot,asmmode_alpha_direct
|
||||
);
|
||||
const
|
||||
{$ifdef i386} i386asmmodecnt=3; {$else} i386asmmodecnt=0; {$endif}
|
||||
{$ifdef m68k} m68kasmmodecnt=1; {$else} m68kasmmodecnt=0; {$endif}
|
||||
asmmodecnt=i386asmmodecnt+m68kasmmodecnt+1;
|
||||
{$ifdef i386} i386asmmodecnt=3; {$else} i386asmmodecnt=0; {$endif}
|
||||
{$ifdef m68k} m68kasmmodecnt=1; {$else} m68kasmmodecnt=0; {$endif}
|
||||
{$ifdef alpha} alphaasmmodecnt=1; {$else} alphaasmmodecnt=0; {$endif}
|
||||
asmmodecnt=i386asmmodecnt+m68kasmmodecnt+Alphaasmmodecnt+1;
|
||||
|
||||
type
|
||||
ttarget = (target_none
|
||||
,target_i386_GO32V1,target_i386_GO32V2,target_i386_linux,
|
||||
target_i386_OS2,target_i386_Win32
|
||||
,target_m68k_Amiga,target_m68k_Atari,target_m68k_Mac,
|
||||
target_m68k_linux,target_m68k_PalmOS
|
||||
target_m68k_linux,target_m68k_PalmOS,target_alpha_linux
|
||||
);
|
||||
|
||||
ttargetflags = (tf_needs_isconsole,tf_supports_stack_checking);
|
||||
@ -66,7 +67,8 @@ unit systems;
|
||||
const
|
||||
{$ifdef i386} i386targetcnt=5; {$else} i386targetcnt=0; {$endif}
|
||||
{$ifdef m68k} m68ktargetcnt=5; {$else} m68ktargetcnt=0; {$endif}
|
||||
targetcnt=i386targetcnt+m68ktargetcnt+1;
|
||||
{$ifdef alpha} alphatargetcnt=1; {$else} alphatargetcnt=0; {$endif}
|
||||
targetcnt=i386targetcnt+m68ktargetcnt+alphatargetcnt+1;
|
||||
|
||||
type
|
||||
tasm = (as_none
|
||||
@ -74,13 +76,15 @@ unit systems;
|
||||
as_i386_nasmcoff,as_i386_nasmelf,as_i386_nasmobj,
|
||||
as_i386_tasm,as_i386_masm,
|
||||
as_i386_dbg,as_i386_coff,as_i386_pecoff
|
||||
,as_m68k_as,as_m68k_gas,as_m68k_mit,as_m68k_mot,as_m68k_mpw
|
||||
,as_m68k_as,as_m68k_gas,as_m68k_mit,as_m68k_mot,as_m68k_mpw,
|
||||
as_alpha_as
|
||||
);
|
||||
{ binary assembler writers, needed to test for -a }
|
||||
const
|
||||
{$ifdef i386} i386asmcnt=11; {$else} i386asmcnt=0; {$endif}
|
||||
{$ifdef m68k} m68kasmcnt=5; {$else} m68kasmcnt=0; {$endif}
|
||||
asmcnt=i386asmcnt+m68kasmcnt+1;
|
||||
{$ifdef alpha} alphaasmcnt=1; {$else} alphaasmcnt=0; {$endif}
|
||||
asmcnt=i386asmcnt+m68kasmcnt+alphaasmcnt+1;
|
||||
|
||||
binassem : set of tasm = [
|
||||
as_i386_dbg,as_i386_coff,as_i386_pecoff
|
||||
@ -91,22 +95,24 @@ unit systems;
|
||||
,link_i386_ld,link_i386_ldgo32v1,
|
||||
link_i386_ldgo32v2,link_i386_ldw,
|
||||
link_i386_ldos2
|
||||
,link_m68k_ld
|
||||
,link_m68k_ld,link_alpha_ld
|
||||
);
|
||||
const
|
||||
{$ifdef i386} i386linkcnt=5; {$else} i386linkcnt=0; {$endif}
|
||||
{$ifdef m68k} m68klinkcnt=1; {$else} m68klinkcnt=0; {$endif}
|
||||
linkcnt=i386linkcnt+m68klinkcnt+1;
|
||||
{$ifdef alpha} alphalinkcnt=1; {$else} alphalinkcnt=0; {$endif}
|
||||
linkcnt=i386linkcnt+m68klinkcnt+alphalinkcnt+1;
|
||||
|
||||
type
|
||||
tar = (ar_none
|
||||
,ar_i386_ar,ar_i386_arw
|
||||
,ar_m68k_ar
|
||||
,ar_m68k_ar,ar_alpha_ar
|
||||
);
|
||||
const
|
||||
{$ifdef i386} i386arcnt=2; {$else} i386arcnt=0; {$endif}
|
||||
{$ifdef m68k} m68karcnt=1; {$else} m68karcnt=0; {$endif}
|
||||
arcnt=i386arcnt+m68karcnt+1;
|
||||
{$ifdef alpha} alphaarcnt=1; {$else} alphaarcnt=0; {$endif}
|
||||
arcnt=i386arcnt+m68karcnt+alphaarcnt+1;
|
||||
|
||||
type
|
||||
tres = (res_none
|
||||
@ -115,19 +121,21 @@ unit systems;
|
||||
const
|
||||
{$ifdef i386} i386rescnt=1; {$else} i386rescnt=0; {$endif}
|
||||
{$ifdef m68k} m68krescnt=0; {$else} m68krescnt=0; {$endif}
|
||||
rescnt=i386rescnt+m68krescnt+1;
|
||||
{$ifdef alpha} alpharescnt=0; {$else} alpharescnt=0; {$endif}
|
||||
rescnt=i386rescnt+m68krescnt+alpharescnt+1;
|
||||
|
||||
type
|
||||
tos = ( os_none,
|
||||
os_i386_GO32V1,os_i386_GO32V2,os_i386_Linux,os_i386_OS2,
|
||||
os_i386_Win32,
|
||||
os_m68k_Amiga,os_m68k_Atari,os_m68k_Mac,os_m68k_Linux,
|
||||
os_m68k_PalmOS
|
||||
os_m68k_PalmOS,os_alpha_linux
|
||||
);
|
||||
const
|
||||
i386oscnt=5;
|
||||
m68koscnt=5;
|
||||
oscnt=i386oscnt+m68koscnt+1;
|
||||
alphaoscnt=1;
|
||||
oscnt=i386oscnt+m68koscnt+alphaoscnt+1;
|
||||
|
||||
type
|
||||
tosinfo = packed record
|
||||
@ -473,6 +481,27 @@ implementation
|
||||
size_of_longint : 4;
|
||||
use_bound_instruction : false;
|
||||
use_function_relative_addresses : false
|
||||
),
|
||||
(
|
||||
id : os_alpha_linux;
|
||||
name : 'Linux for Alpha';
|
||||
shortname : 'linux';
|
||||
sharedlibext : '.so';
|
||||
staticlibext : '.a';
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : '';
|
||||
defext : '.def';
|
||||
scriptext : '.sh';
|
||||
libprefix : 'lib';
|
||||
Cprefix : '';
|
||||
newline : #10;
|
||||
endian : endian_little;
|
||||
stackalignment : 8;
|
||||
size_of_pointer : 8;
|
||||
size_of_longint : 4;
|
||||
use_bound_instruction : false;
|
||||
use_function_relative_addresses : true
|
||||
)
|
||||
);
|
||||
|
||||
@ -731,6 +760,23 @@ implementation
|
||||
'.stab','.stabstr')
|
||||
)
|
||||
{$endif m68k}
|
||||
{$ifdef alpha}
|
||||
,(
|
||||
id : as_alpha_as;
|
||||
idtxt : 'AS';
|
||||
asmbin : 'as';
|
||||
asmcmd : '-o $OBJ $ASM';
|
||||
allowdirect : true;
|
||||
externals : false;
|
||||
needar : true;
|
||||
labelprefix : '.L';
|
||||
comment : '# ';
|
||||
secnames : ('',
|
||||
'.text','.data','.bss',
|
||||
'','','','','','',
|
||||
'.stab','.stabstr')
|
||||
)
|
||||
{$endif}
|
||||
);
|
||||
|
||||
|
||||
@ -850,6 +896,25 @@ implementation
|
||||
libprefix : '-l'
|
||||
)
|
||||
{$endif m68k}
|
||||
{$ifdef alpha}
|
||||
,(
|
||||
id : link_alpha_ld;
|
||||
linkbin : 'ld';
|
||||
linkcmd : '$OPT -o $EXE $RES';
|
||||
binders : 0;
|
||||
bindbin : ('','');
|
||||
bindcmd : ('','');
|
||||
stripopt : '-s';
|
||||
stripbind : false;
|
||||
libpathprefix : 'SEARCH_DIR(';
|
||||
libpathsuffix : ')';
|
||||
groupstart : 'GROUP(';
|
||||
groupend : ')';
|
||||
inputstart : 'INPUT(';
|
||||
inputend : ')';
|
||||
libprefix : '-l'
|
||||
)
|
||||
{$endif}
|
||||
);
|
||||
|
||||
{****************************************************************************
|
||||
@ -878,6 +943,13 @@ implementation
|
||||
arcmd : 'rs $LIB $FILES'
|
||||
)
|
||||
{$endif m68k}
|
||||
{$ifdef alpha}
|
||||
,(
|
||||
id : ar_alha_ar;
|
||||
arbin : 'ar';
|
||||
arcmd : 'rs $LIB $FILES'
|
||||
)
|
||||
{$endif}
|
||||
);
|
||||
|
||||
|
||||
@ -1162,6 +1234,33 @@ implementation
|
||||
stacksize : 8192
|
||||
)
|
||||
{$endif m68k}
|
||||
{$ifdef alpha}
|
||||
(
|
||||
target : target_alpha_LINUX;
|
||||
flags : [];
|
||||
cpu : alpha;
|
||||
short_name : 'LINUX';
|
||||
unit_env : 'LINUXUNITS';
|
||||
system_unit : 'syslinux';
|
||||
smartext : '.sl';
|
||||
unitext : '.ppu';
|
||||
unitlibext : '.ppl';
|
||||
asmext : '.s';
|
||||
objext : '.o';
|
||||
resext : '.res';
|
||||
resobjext : '.or';
|
||||
exeext : '';
|
||||
os : os_alpha_Linux;
|
||||
link : link_alpha_ld;
|
||||
assem : as_alpha_as;
|
||||
assemsrc : as_alpha_as;
|
||||
ar : ar_alpha_ar;
|
||||
res : res_none;
|
||||
heapsize : 256*1024;
|
||||
maxheapsize : 32768*1024;
|
||||
stacksize : 8192
|
||||
)
|
||||
{$endif}
|
||||
);
|
||||
|
||||
{****************************************************************************
|
||||
@ -1192,6 +1291,12 @@ implementation
|
||||
idtxt : 'MOT'
|
||||
)
|
||||
{$endif m68k}
|
||||
{$ifdef alpha}
|
||||
,(
|
||||
id : asmmode_alpha_direct;
|
||||
idtxt : 'DIRECT'
|
||||
)
|
||||
{$endif}
|
||||
);
|
||||
|
||||
{****************************************************************************
|
||||
@ -1516,7 +1621,10 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.83 1999-07-10 10:26:20 peter
|
||||
Revision 1.84 1999-08-02 23:56:51 michael
|
||||
+ Added alpha cpu and linux for alpha os
|
||||
|
||||
Revision 1.83 1999/07/10 10:26:20 peter
|
||||
* merged
|
||||
|
||||
Revision 1.82.2.2 1999/07/10 10:03:16 peter
|
||||
|
||||
Loading…
Reference in New Issue
Block a user