+ Added alpha cpu and linux for alpha os

This commit is contained in:
michael 1999-08-02 23:56:51 +00:00
parent 010544014c
commit 20e0eaf145

View File

@ -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