Forráskód Böngészése

* fix stack size for some targets
+ add offset to parameters from frame pointer info.
- remove some unused stuff

carl 23 éve
szülő
commit
e24605c17e

+ 7 - 4
compiler/targets/t_amiga.pas

@@ -46,7 +46,7 @@ implementation
             name         : 'Commodore Amiga';
             shortname    : 'amiga';
             flags        : [];
-            cpu          : m68k;
+            cpu          : cpu_m68k;
             short_name   : 'AMIGA';
             unit_env     : '';
             extradefines : '';
@@ -80,9 +80,7 @@ implementation
             endian       : endian_big;
             stackalignment : 2;
             maxCrecordalignment : 4;
-            size_of_longint : 4;
             heapsize     : 128*1024;
-            maxheapsize  : 32768*1024;
             stacksize    : 8192;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -95,7 +93,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.6  2002-04-15 19:16:57  carl
+  Revision 1.7  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.6  2002/04/15 19:16:57  carl
   - remove size_of_pointer field
 
   Revision 1.5  2001/09/17 21:29:15  peter

+ 7 - 4
compiler/targets/t_atari.pas

@@ -46,7 +46,7 @@ implementation
             name         : 'Atari ST/STE';
             shortname    : 'atari';
             flags        : [];
-            cpu          : m68k;
+            cpu          : cpu_m68k;
             short_name   : 'ATARI';
             unit_env     : '';
             extradefines : '';
@@ -80,9 +80,7 @@ implementation
             endian       : endian_big;
             stackalignment : 2;
             maxCrecordalignment : 4;
-            size_of_longint : 4;
             heapsize     : 16*1024;
-            maxheapsize  : 32768*1024;
             stacksize    : 8192;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -95,7 +93,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.6  2002-04-15 19:16:57  carl
+  Revision 1.7  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.6  2002/04/15 19:16:57  carl
   - remove size_of_pointer field
 
   Revision 1.5  2001/09/17 21:29:15  peter

+ 8 - 4
compiler/targets/t_beos.pas

@@ -463,7 +463,7 @@ end;
             name         : 'Beos for i386';
             shortname    : 'Beos';
             flags        : [tf_under_development];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'BEOSUNITS';
             extradefines : '';
             sourceext    : '.pp';
@@ -514,9 +514,8 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 4
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize     : 256*1024;
-            maxheapsize  : 32768*1024;
             stacksize    : 8192;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -534,7 +533,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.13  2002-04-19 15:46:04  peter
+  Revision 1.14  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.13  2002/04/19 15:46:04  peter
     * mangledname rewrite, tprocdef.mangledname is now created dynamicly
       in most cases and not written to the ppu
     * add mangeledname_prefix() routine to generate the prefix of

+ 15 - 13
compiler/targets/t_fbsd.pas

@@ -498,7 +498,7 @@ end;
             name         : 'FreeBSD/ELF for i386';
             shortname    : 'FreeBSD';
             flags        : [];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'BSDUNITS';
             extradefines : 'UNIX;BSD';
             sourceext    : '.pp';
@@ -549,10 +549,9 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 4
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize    : 256*1024;
-            maxheapsize : 32768*1024;
-            stacksize   : 8192;
+            stacksize   : 262144;
             DllScanSupported:false;
             use_bound_instruction : false;
             use_function_relative_addresses : true
@@ -564,7 +563,7 @@ end;
             name         : 'NetBSD for i386';
             shortname    : 'NetBSD';
             flags        : [tf_under_development];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'BSDUNITS';
             extradefines : 'UNIX;BSD';
             sourceext    : '.pp';
@@ -615,10 +614,9 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 4
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize    : 256*1024;
-            maxheapsize : 32768*1024;
-            stacksize   : 8192;
+            stacksize   : 262144;
             DllScanSupported:false;
             use_bound_instruction : false;
             use_function_relative_addresses : true
@@ -633,7 +631,7 @@ end;
             name         : 'NetBSD for i386';
             shortname    : 'NetBSD';
             flags        : [tf_under_development];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'BSDUNITS';
             extradefines : 'UNIX;BSD';
             sourceext    : '.pp';
@@ -684,10 +682,9 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 4
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize    : 256*1024;
-            maxheapsize : 32768*1024;
-            stacksize   : 8192;
+            stacksize   : 262144;
             DllScanSupported:false;
             use_bound_instruction : false;
             use_function_relative_addresses : true
@@ -713,7 +710,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.16  2002-04-19 15:46:04  peter
+  Revision 1.17  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.16  2002/04/19 15:46:04  peter
     * mangledname rewrite, tprocdef.mangledname is now created dynamicly
       in most cases and not written to the ppu
     * add mangeledname_prefix() routine to generate the prefix of

+ 9 - 5
compiler/targets/t_go32v2.pas

@@ -362,7 +362,7 @@ end;
             name         : 'GO32 V2 DOS extender';
             shortname    : 'Go32v2';
             flags        : [];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'GO32V2UNITS';
             extradefines : 'DPMI';
             sourceext    : '.pp';
@@ -413,10 +413,9 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 4
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize     : 2048*1024;
-            maxheapsize  : 32*1024*1024;
-            stacksize    : 32*1024*1024;
+            stacksize    : 262144;
             DllScanSupported : false;
             use_bound_instruction : false;
             use_function_relative_addresses : true
@@ -429,7 +428,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.17  2002-04-15 19:44:23  peter
+  Revision 1.18  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.17  2002/04/15 19:44:23  peter
     * fixed stackcheck that would be called recursively when a stack
       error was found
     * generic changeregsize(reg,size) for i386 register resizing

+ 12 - 13
compiler/targets/t_linux.pas

@@ -486,7 +486,7 @@ end;
             name         : 'Linux for i386';
             shortname    : 'Linux';
             flags        : [];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'LINUXUNITS';
             extradefines : 'UNIX';
             sourceext    : '.pp';
@@ -537,10 +537,9 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 4
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize     : 256*1024;
-            maxheapsize  : 32*1024*1024;
-            stacksize    : 32*1024*1024;
+            stacksize    : 262144;
             DllScanSupported:false;
             use_bound_instruction : false;
             use_function_relative_addresses : true
@@ -554,7 +553,7 @@ end;
             name         : 'Linux for m68k';
             shortname    : 'linux';
             flags        : [];
-            cpu          : m68k;
+            cpu          : cpu_m68k;
             short_name   : 'LINUX';
             unit_env     : 'LINUXUNITS';
             extradefines : 'UNIX';
@@ -592,9 +591,7 @@ end;
             endian       : endian_big;
             stackalignment : 2;
             maxCrecordalignment : 32;
-            size_of_longint : 4;
             heapsize     : 128*1024;
-            maxheapsize  : 32*1024*1024;
             stacksize    : 32*1024*1024;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -609,7 +606,7 @@ end;
             name         : 'Linux for PowerPC';
             shortname    : 'linuxppc';
             flags        : [];
-            cpu          : powerpc;
+            cpu          : cpu_powerpc;
             short_name   : 'LINUX';
             unit_env     : '';
             extradefines : 'UNIX';
@@ -645,9 +642,7 @@ end;
             endian       : endian_big;
             stackalignment : 8;
             maxCrecordalignment : 32;
-            size_of_longint : 4;
             heapsize     : 256*1024;
-            maxheapsize  : 32*1024*1024;
             stacksize    : 32*1024*1024;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -662,7 +657,7 @@ end;
             name         : 'Linux for Alpha';
             shortname    : 'axplinux';
             flags        : [];
-            cpu          : alpha;
+            cpu          : cpu_alpha;
             short_name   : 'LINUX';
             unit_env     : 'LINUXUNITS';
             extradefines : 'UNIX';
@@ -702,7 +697,6 @@ end;
             maxCrecordalignment : 32;
             size_of_longint : 4;
             heapsize     : 256*1024;
-            maxheapsize  : 32*1024*1024;
             stacksize    : 32*1024*1024;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -739,7 +733,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.19  2002-04-19 15:46:05  peter
+  Revision 1.20  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.19  2002/04/19 15:46:05  peter
     * mangledname rewrite, tprocdef.mangledname is now created dynamicly
       in most cases and not written to the ppu
     * add mangeledname_prefix() routine to generate the prefix of

+ 8 - 5
compiler/targets/t_macos.pas

@@ -47,7 +47,7 @@ implementation
             name         : 'Macintosh m68k';
             shortname    : 'mac';
             flags        : [];
-            cpu          : m68k;
+            cpu          : cpu_m68k;
             short_name   : 'MACOS';
             unit_env     : '';
             extradefines : '';
@@ -83,7 +83,6 @@ implementation
             maxCrecordalignment : 4;
             size_of_longint : 4;
             heapsize     : 128*1024;
-            maxheapsize  : 32768*1024;
             stacksize    : 8192;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -99,7 +98,7 @@ implementation
             name         : 'MacOs (PowerPC)';
             shortname    : 'MacOs/PPC';
             flags        : [];
-            cpu          : powerpc;
+            cpu          : cpu_powerpc;
             short_name   : 'MACOS';
             unit_env     : '';
             extradefines : '';
@@ -133,7 +132,6 @@ implementation
             maxCrecordalignment : 32;
             size_of_longint : 4;
             heapsize     : 256*1024;
-            maxheapsize  : 32768*1024;
             stacksize    : 8192;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -152,7 +150,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.6  2002-04-15 19:16:57  carl
+  Revision 1.7  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.6  2002/04/15 19:16:57  carl
   - remove size_of_pointer field
 
   Revision 1.5  2001/09/17 21:29:16  peter

+ 8 - 4
compiler/targets/t_nwm.pas

@@ -482,7 +482,7 @@ end;
             name         : 'Netware for i386';
             shortname    : 'Netware';
             flags        : [];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'NETWAREUNITS';
             extradefines : '';
             sourceext    : '.pp';
@@ -533,9 +533,8 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 4
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize     : 256*1024;
-            maxheapsize  : 32768*1024;
             stacksize    : 8192;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -551,7 +550,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.19  2002-04-19 15:46:05  peter
+  Revision 1.20  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.19  2002/04/19 15:46:05  peter
     * mangledname rewrite, tprocdef.mangledname is now created dynamicly
       in most cases and not written to the ppu
     * add mangeledname_prefix() routine to generate the prefix of

+ 11 - 6
compiler/targets/t_os2.pas

@@ -472,12 +472,13 @@ begin
      SplitBinCmd(Info.ExeCmd[i],binstr,cmdstr);
      if binstr<>'' then
       begin
-        Replace(cmdstr,'$HEAPMB',tostr((maxheapsize+1048575) shr 20));
+        { Is this really required? Not anymore according to my EMX docs }
+        Replace(cmdstr,'$HEAPMB',tostr((heapsize+1048575) shr 20));
         {Size of the stack when an EMX program runs in OS/2.}
         Replace(cmdstr,'$STACKKB',tostr((stacksize+1023) shr 10));
         {When an EMX program runs in DOS, the heap and stack share the
          same memory pool. The heap grows upwards, the stack grows downwards.}
-        Replace(cmdstr,'$DOSHEAPKB',tostr((stacksize+maxheapsize+1023) shr 10));
+        Replace(cmdstr,'$DOSHEAPKB',tostr((stacksize+heapsize+1023) shr 10));
         Replace(cmdstr,'$STRIP',StripStr);
         Replace(cmdstr,'$APPTYPE',AppTypeStr);
         Replace(cmdstr,'$RES',outputexedir+Info.ResName);
@@ -523,7 +524,7 @@ end;
             name         : 'OS/2 via EMX';
             shortname    : 'OS2';
             flags        : [tf_need_export];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'OS2UNITS';
             extradefines : '';
             sourceext    : '.pas';
@@ -574,9 +575,8 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 4
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize     : 256*1024;
-            maxheapsize  : 32768*1024;
             stacksize    : 256*1024;
             DllScanSupported:true;
             use_bound_instruction : false;
@@ -592,7 +592,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.16  2002-04-15 19:16:57  carl
+  Revision 1.17  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.16  2002/04/15 19:16:57  carl
   - remove size_of_pointer field
 
   Revision 1.15  2002/04/04 19:06:13  peter

+ 7 - 4
compiler/targets/t_palmos.pas

@@ -213,7 +213,7 @@ end;
             name         : 'PalmOS';
             shortname    : 'palmos';
             flags        : [tf_code_small,tf_static_a5_based];
-            cpu          : m68k;
+            cpu          : cpu_m68k;
             short_name   : 'PALMOS';
             unit_env     : 'PALMUNITS';
             extradefines : '';
@@ -247,9 +247,7 @@ end;
             endian       : endian_big;
             stackalignment : 2;
             maxCrecordalignment : 4;
-            size_of_longint : 4;
             heapsize     : 128*1024;
-            maxheapsize  : 32768*1024;
             stacksize    : 8192;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -264,7 +262,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.7  2002-04-15 19:16:57  carl
+  Revision 1.8  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.7  2002/04/15 19:16:57  carl
   - remove size_of_pointer field
 
   Revision 1.6  2001/09/17 21:29:16  peter

+ 8 - 4
compiler/targets/t_sunos.pas

@@ -485,7 +485,7 @@ end;
             name         : 'SunOS/ELF for i386';
             shortname    : 'SunOS';
             flags        : [tf_under_development];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'SUNOSUNITS';
             extradefines : 'UNIX;SOLARIS;LIBC';
             sourceext    : '.pp';
@@ -536,9 +536,8 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 4
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize     : 256*1024;
-            maxheapsize  : 32768*1024;
             stacksize    : 262144;
             DllScanSupported:false;
             use_bound_instruction : false;
@@ -554,7 +553,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.18  2002-04-19 15:46:05  peter
+  Revision 1.19  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.18  2002/04/19 15:46:05  peter
     * mangledname rewrite, tprocdef.mangledname is now created dynamicly
       in most cases and not written to the ppu
     * add mangeledname_prefix() routine to generate the prefix of

+ 8 - 4
compiler/targets/t_wdosx.pas

@@ -105,7 +105,7 @@ end;
             name         : 'WDOSX DOS extender';
             shortname    : 'WDOSX';
             flags        : [];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'WDOSXUNITS';
             extradefines : 'MSWINDOWS';
             sourceext    : '.pp';
@@ -156,9 +156,8 @@ end;
                 recordalignmax  : 2;
                 maxCrecordalign : 16
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize     : 256*1024;
-            maxheapsize  : 32*1024*1024;
             stacksize    : 32*1024*1024;
             DllScanSupported:true;
             use_bound_instruction : false;
@@ -178,7 +177,12 @@ end.
 
 {
   $Log$
-  Revision 1.2  2002-04-15 19:16:57  carl
+  Revision 1.3  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.2  2002/04/15 19:16:57  carl
   - remove size_of_pointer field
 
   Revision 1.1  2002/04/04 18:09:49  carl

+ 8 - 4
compiler/targets/t_win32.pas

@@ -1563,7 +1563,7 @@ function tDLLScannerWin32.scan(const binname:string):longbool;
             name         : 'Win32 for i386';
             shortname    : 'Win32';
             flags        : [];
-            cpu          : i386;
+            cpu          : cpu_i386;
             unit_env     : 'WIN32UNITS';
             extradefines : 'MSWINDOWS';
             sourceext    : '.pp';
@@ -1614,9 +1614,8 @@ function tDLLScannerWin32.scan(const binname:string):longbool;
                 recordalignmax  : 2;
                 maxCrecordalign : 16
               );
-            size_of_longint : 4;
+            first_parm_offset : 8;
             heapsize     : 256*1024;
-            maxheapsize  : 32*1024*1024;
             stacksize    : 32*1024*1024;
             DllScanSupported:true;
             use_bound_instruction : false;
@@ -1635,7 +1634,12 @@ initialization
 end.
 {
   $Log$
-  Revision 1.28  2002-04-15 19:16:57  carl
+  Revision 1.29  2002-04-20 21:43:18  carl
+  * fix stack size for some targets
+  + add offset to parameters from frame pointer info.
+  - remove some unused stuff
+
+  Revision 1.28  2002/04/15 19:16:57  carl
   - remove size_of_pointer field
 
   Revision 1.27  2002/04/05 17:49:09  carl