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