2
0
Эх сурвалжийг харах

+ some x86-64 support added

florian 23 жил өмнө
parent
commit
95c6c8f430
2 өөрчлөгдсөн 76 нэмэгдсэн , 23 устгасан
  1. 56 19
      rtl/inc/system.inc
  2. 20 4
      rtl/inc/systemh.inc

+ 56 - 19
rtl/inc/system.inc

@@ -84,24 +84,58 @@ Procedure Rewrite(var f : TypedFile); [INTERNPROC: In_Rewrite_TypedFile];
                     Include processor specific routines
 ****************************************************************************}
 
-{$IFDEF I386}
-  {$IFNDEF ENDIAN_LITTLE}
-    {$DEFINE ENDIAN_LITTLE}
-  {$ENDIF}
-  {$IFDEF M68K}
+{$ifdef i386}
+  {$ifdef SYSPROCDEFINED}
     {$Error Can't determine processor type !}
-  {$ENDIF}
-  {$I i386.inc}  { Case dependent, don't change }
-{$ELSE}
-  {$IFDEF M68K}
-  {$IFNDEF ENDIAN_BIG}
-    {$DEFINE ENDIAN_BIG}
-  {$ENDIF}
-    {$I m68k.inc}  { Case dependent, don't change }
-  {$ELSE}
+  {$endif}
+  {$define ENDIAN_LITTLE}
+  {$i i386.inc}  { Case dependent, don't change }
+{$endif i386}
+
+{$ifdef m68k}
+  {$ifdef SYSPROCDEFINED}
     {$Error Can't determine processor type !}
-  {$ENDIF}
-{$ENDIF}
+  {$endif}
+  {$define ENDIAN_BIG}
+  {$i m68k.inc}  { Case dependent, don't change }
+  {$define SYSPROCDEFINED}
+{$endif m68k}
+
+{$ifdef x86_64}
+  {$ifdef SYSPROCDEFINED}
+    {$Error Can't determine processor type !}
+  {$endif}
+  {$define ENDIAN_LITTLE}
+  {$i x86_64.inc}  { Case dependent, don't change }
+  {$define SYSPROCDEFINED}
+{$endif x86_64}
+
+{$ifdef powerpc}
+  {$ifdef SYSPROCDEFINED}
+    {$Error Can't determine processor type !}
+  {$endif}
+  {$fatal !!!! Fix endian directive} 
+  {$i powerpc.inc}  { Case dependent, don't change }
+  {$define SYSPROCDEFINED}
+{$endif powerpc}
+
+{$ifdef alpha}
+  {$ifdef SYSPROCDEFINED}
+    {$Error Can't determine processor type !}
+  {$endif}
+  {$define ENDIAN_BIG}
+  {$i alpha.inc}  { Case dependent, don't change }
+  {$define SYSPROCDEFINED}
+{$endif alpha}
+
+{$ifdef iA64}
+  {$ifdef SYSPROCDEFINED}
+    {$Error Can't determine processor type !}
+  {$endif}
+  {$define ENDIAN_BIG}
+  {$i ia64.inc}  { Case dependent, don't change }
+  {$define SYSPROCDEFINED}
+{$endif iA64}
 
 { Include generic pascal only routines which are not defined in the processor
   specific include file }
@@ -113,10 +147,10 @@ Procedure Rewrite(var f : TypedFile); [INTERNPROC: In_Rewrite_TypedFile];
 ****************************************************************************}
 
 { Include set support which is processor specific}
-{$I set.inc}
+{$i set.inc}
 { Include generic pascal routines for sets if the processor }
 { specific routines are not available.                      }
-{$I genset.inc}
+{$i genset.inc}
 
 
 {****************************************************************************
@@ -721,7 +755,10 @@ end;
 
 {
   $Log$
-  Revision 1.28  2002-04-21 15:51:50  carl
+  Revision 1.29  2002-07-04 20:40:09  florian
+    + some x86-64 support added
+
+  Revision 1.28  2002/04/21 15:51:50  carl
   * StackError is now a typed constant
   + $S can be used under unix
 

+ 20 - 4
rtl/inc/systemh.inc

@@ -45,7 +45,6 @@ Type
   LongWord = Cardinal;
   Integer  = SmallInt;
 
-{ at least declare Turbo Pascal real types }
 {$ifdef i386}
   StrLenInt = LongInt;
 
@@ -61,6 +60,21 @@ Type
   ValReal = Extended;
 {$endif}
 
+{$ifdef x86_64}
+  StrLenInt = LongInt;
+
+  {$define DEFAULT_EXTENDED}
+
+  {$define SUPPORT_SINGLE}
+  {$define SUPPORT_DOUBLE}
+  {$define SUPPORT_EXTENDED}
+  {$define SUPPORT_COMP}
+
+  ValSInt = Longint;
+  ValUInt = Cardinal;
+  ValReal = Extended;
+{$endif x86_64}
+
 {$ifdef m68k}
   StrLenInt = Longint;
 
@@ -556,7 +570,10 @@ const
 
 {
   $Log$
-  Revision 1.47  2002-07-01 16:29:05  peter
+  Revision 1.48  2002-07-04 20:40:09  florian
+    + some x86-64 support added
+
+  Revision 1.47  2002/07/01 16:29:05  peter
     * sLineBreak changed to normal constant like Kylix
 
   Revision 1.46  2002/06/02 10:49:30  marco
@@ -606,7 +623,7 @@ const
   * bugfix #1639 (IsMultiThread varialbe setting)
 
   Revision 1.35  2001/08/19 21:02:01  florian
-    * fixed and added a lot of stuff to get the Jedi DX( headers
+    * fixed and added a lot of stuff to get the Jedi DX8 headers
       compiled
 
   Revision 1.34  2001/08/01 18:01:20  peter
@@ -730,5 +747,4 @@ const
 
   Revision 1.2  2000/07/13 11:33:45  michael
   + removed logs
-
 }