mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 20:39:13 +02:00
* made it compilable with Dlephi 4 again
+ fixed problem with large stack allocations on win32
This commit is contained in:
parent
e1c3f703cc
commit
046acfb84b
@ -44,8 +44,10 @@ unit ag386att;
|
|||||||
uses
|
uses
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc,
|
||||||
|
{$else Delphi}
|
||||||
|
dos,
|
||||||
{$endif Delphi}
|
{$endif Delphi}
|
||||||
dos,strings,
|
strings,
|
||||||
globtype,globals,systems,
|
globtype,globals,systems,
|
||||||
files,verbose
|
files,verbose
|
||||||
,i386base,i386asm
|
,i386base,i386asm
|
||||||
@ -814,7 +816,11 @@ unit ag386att;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.3 1999-07-03 00:27:04 peter
|
Revision 1.4 1999-07-18 10:19:38 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.3 1999/07/03 00:27:04 peter
|
||||||
* better smartlinking support
|
* better smartlinking support
|
||||||
|
|
||||||
Revision 1.2 1999/06/22 15:25:14 peter
|
Revision 1.2 1999/06/22 15:25:14 peter
|
||||||
|
@ -40,7 +40,7 @@ unit ag386int;
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
dos,strings,
|
strings,
|
||||||
globtype,globals,systems,cobjects,
|
globtype,globals,systems,cobjects,
|
||||||
files,verbose
|
files,verbose
|
||||||
,i386base,i386asm
|
,i386base,i386asm
|
||||||
@ -627,7 +627,11 @@ ait_stab_function_name : ;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.47 1999-06-02 22:44:01 pierre
|
Revision 1.48 1999-07-18 10:19:39 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.47 1999/06/02 22:44:01 pierre
|
||||||
* previous wrong log corrected
|
* previous wrong log corrected
|
||||||
|
|
||||||
Revision 1.46 1999/06/02 22:25:26 pierre
|
Revision 1.46 1999/06/02 22:25:26 pierre
|
||||||
|
@ -41,7 +41,7 @@ unit ag386nsm;
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
dos,strings,
|
strings,
|
||||||
globtype,globals,systems,cobjects,
|
globtype,globals,systems,cobjects,
|
||||||
files,verbose
|
files,verbose
|
||||||
,i386base,i386asm
|
,i386base,i386asm
|
||||||
@ -597,7 +597,11 @@ ait_stab_function_name : ;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.43 1999-06-02 22:44:02 pierre
|
Revision 1.44 1999-07-18 10:19:41 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.43 1999/06/02 22:44:02 pierre
|
||||||
* previous wrong log corrected
|
* previous wrong log corrected
|
||||||
|
|
||||||
Revision 1.42 1999/06/02 22:25:27 pierre
|
Revision 1.42 1999/06/02 22:25:27 pierre
|
||||||
|
@ -27,8 +27,10 @@ interface
|
|||||||
uses
|
uses
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc,
|
||||||
|
{$else Delphi}
|
||||||
|
dos,
|
||||||
{$endif Delphi}
|
{$endif Delphi}
|
||||||
dos,cobjects,globtype,globals,aasm;
|
cobjects,globtype,globals,aasm;
|
||||||
|
|
||||||
const
|
const
|
||||||
{$ifdef tp}
|
{$ifdef tp}
|
||||||
@ -555,7 +557,11 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.51 1999-07-10 10:12:03 peter
|
Revision 1.52 1999-07-18 10:19:42 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.51 1999/07/10 10:12:03 peter
|
||||||
* assembler smartlink message
|
* assembler smartlink message
|
||||||
|
|
||||||
Revision 1.50 1999/07/03 00:27:05 peter
|
Revision 1.50 1999/07/03 00:27:05 peter
|
||||||
|
@ -30,7 +30,7 @@ unit cgai386;
|
|||||||
{$ifdef dummy}
|
{$ifdef dummy}
|
||||||
end { to get correct syntax highlighting }
|
end { to get correct syntax highlighting }
|
||||||
{$endif dummy}
|
{$endif dummy}
|
||||||
aasm,symtable;
|
aasm,symtable,win_targ;
|
||||||
|
|
||||||
{$define TESTGETTEMP to store const that
|
{$define TESTGETTEMP to store const that
|
||||||
are written into temps for later release PM }
|
are written into temps for later release PM }
|
||||||
@ -2351,6 +2351,7 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
|
|||||||
r : preference;
|
r : preference;
|
||||||
len : longint;
|
len : longint;
|
||||||
opsize : topsize;
|
opsize : topsize;
|
||||||
|
again,ok : pasmlabel;
|
||||||
begin
|
begin
|
||||||
if (psym(p)^.typ=varsym) and
|
if (psym(p)^.typ=varsym) and
|
||||||
(pvarsym(p)^.varspez=vs_value) and
|
(pvarsym(p)^.varspez=vs_value) and
|
||||||
@ -2373,9 +2374,47 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
|
|||||||
exprasmlist^.concat(new(pai386,
|
exprasmlist^.concat(new(pai386,
|
||||||
op_const_reg(A_IMUL,S_L,
|
op_const_reg(A_IMUL,S_L,
|
||||||
parraydef(pvarsym(p)^.definition)^.definition^.size,R_EDI)));
|
parraydef(pvarsym(p)^.definition)^.definition^.size,R_EDI)));
|
||||||
|
{ windows guards only a few pages for stack growing, }
|
||||||
|
{ so we have to access every page first }
|
||||||
|
if target_os.id=os_i386_win32 then
|
||||||
|
begin
|
||||||
|
getlabel(again);
|
||||||
|
getlabel(ok);
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_const_reg(A_CMP,S_L,winstackpagesize,R_EDI)));
|
||||||
|
emitjmp(C_NC,ok);
|
||||||
|
emitlab(again);
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_const_reg(A_SUB,S_L,winstackpagesize-4,R_ESP)));
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_reg(A_PUSH,S_L,R_EAX)));
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_const_reg(A_SUB,S_L,winstackpagesize,R_EDI)));
|
||||||
|
emitjmp(C_NC,again);
|
||||||
|
|
||||||
exprasmlist^.concat(new(pai386,
|
emitlab(ok);
|
||||||
op_reg_reg(A_SUB,S_L,R_EDI,R_ESP)));
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_reg_reg(A_SUB,S_L,R_EDI,R_ESP)));
|
||||||
|
{ now reload EDI }
|
||||||
|
new(r);
|
||||||
|
reset_reference(r^);
|
||||||
|
r^.base:=procinfo.framepointer;
|
||||||
|
r^.offset:=pvarsym(p)^.address+4+procinfo.call_offset;
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_ref_reg(A_MOV,S_L,r,R_EDI)));
|
||||||
|
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_reg(A_INC,S_L,R_EDI)));
|
||||||
|
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_const_reg(A_IMUL,S_L,
|
||||||
|
parraydef(pvarsym(p)^.definition)^.definition^.size,R_EDI)));
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_reg_reg(A_SUB,S_L,R_EDI,R_ESP)));
|
||||||
|
end;
|
||||||
{ load destination }
|
{ load destination }
|
||||||
exprasmlist^.concat(new(pai386,
|
exprasmlist^.concat(new(pai386,
|
||||||
op_reg_reg(A_MOV,S_L,R_ESP,R_EDI)));
|
op_reg_reg(A_MOV,S_L,R_ESP,R_EDI)));
|
||||||
@ -2530,6 +2569,9 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
|
|||||||
r : treference;
|
r : treference;
|
||||||
oldlist,
|
oldlist,
|
||||||
oldexprasmlist : paasmoutput;
|
oldexprasmlist : paasmoutput;
|
||||||
|
again : pasmlabel;
|
||||||
|
i : longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
oldexprasmlist:=exprasmlist;
|
oldexprasmlist:=exprasmlist;
|
||||||
exprasmlist:=alist;
|
exprasmlist:=alist;
|
||||||
@ -2644,17 +2686,52 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
|
|||||||
else
|
else
|
||||||
{$endif unused}
|
{$endif unused}
|
||||||
begin
|
begin
|
||||||
|
{ windows guards only a few pages for stack growing, }
|
||||||
|
{ so we have to access every page first }
|
||||||
|
if (target_os.id=os_i386_win32) and
|
||||||
|
(stackframe>=winstackpagesize) then
|
||||||
|
begin
|
||||||
|
if stackframe div winstackpagesize<=5 then
|
||||||
|
begin
|
||||||
|
exprasmlist^.insert(new(pai386,op_const_reg(A_SUB,S_L,stackframe-4,R_ESP)));
|
||||||
|
for i:=1 to stackframe div winstackpagesize do
|
||||||
|
begin
|
||||||
|
hr:=new_reference(R_ESP,stackframe-i*winstackpagesize);
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_const_ref(A_MOV,S_L,0,hr)));
|
||||||
|
end;
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_reg(A_PUSH,S_L,R_EAX)));
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
getlabel(again);
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_const_reg(A_MOV,S_L,stackframe div winstackpagesize,R_EDI)));
|
||||||
|
emitlab(again);
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_const_reg(A_SUB,S_L,winstackpagesize-4,R_ESP)));
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_reg(A_PUSH,S_L,R_EAX)));
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_reg(A_DEC,S_L,R_EDI)));
|
||||||
|
emitjmp(C_NZ,again);
|
||||||
|
exprasmlist^.concat(new(pai386,
|
||||||
|
op_const_reg(A_SUB,S_L,stackframe mod winstackpagesize,R_ESP)));
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
exprasmlist^.insert(new(pai386,op_const_reg(A_SUB,S_L,stackframe,R_ESP)));
|
exprasmlist^.insert(new(pai386,op_const_reg(A_SUB,S_L,stackframe,R_ESP)));
|
||||||
if (cs_check_stack in aktlocalswitches) and
|
if (cs_check_stack in aktlocalswitches) and
|
||||||
not(target_info.target in [target_i386_linux,target_i386_win32]) then
|
not(target_info.target in [target_i386_linux,target_i386_win32]) then
|
||||||
begin
|
begin
|
||||||
exprasmlist^.insert(new(pai386,op_sym(A_CALL,S_NO,newasmsymbol('FPC_STACKCHECK'))));
|
exprasmlist^.insert(new(pai386,op_sym(A_CALL,S_NO,newasmsymbol('FPC_STACKCHECK'))));
|
||||||
exprasmlist^.insert(new(pai386,op_const(A_PUSH,S_L,stackframe)));
|
exprasmlist^.insert(new(pai386,op_const(A_PUSH,S_L,stackframe)));
|
||||||
end;
|
end;
|
||||||
if cs_profile in aktmoduleswitches then
|
if cs_profile in aktmoduleswitches then
|
||||||
genprofilecode;
|
genprofilecode;
|
||||||
exprasmlist^.insert(new(pai386,op_reg_reg(A_MOV,S_L,R_ESP,R_EBP)));
|
exprasmlist^.insert(new(pai386,op_reg_reg(A_MOV,S_L,R_ESP,R_EBP)));
|
||||||
exprasmlist^.insert(new(pai386,op_reg(A_PUSH,S_L,R_EBP)));
|
exprasmlist^.insert(new(pai386,op_reg(A_PUSH,S_L,R_EBP)));
|
||||||
end;
|
end;
|
||||||
end { endif stackframe <> 0 }
|
end { endif stackframe <> 0 }
|
||||||
else
|
else
|
||||||
@ -3033,7 +3110,11 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.14 1999-07-06 21:48:11 florian
|
Revision 1.15 1999-07-18 10:19:44 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.14 1999/07/06 21:48:11 florian
|
||||||
* a lot bug fixes:
|
* a lot bug fixes:
|
||||||
- po_external isn't any longer necessary for procedure compatibility
|
- po_external isn't any longer necessary for procedure compatibility
|
||||||
- m_tp_procvar is in -Sd now available
|
- m_tp_procvar is in -Sd now available
|
||||||
|
@ -34,12 +34,17 @@ unit cobjects;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
|
{$ifdef DELPHI4}
|
||||||
|
dmisc,
|
||||||
|
sysutils
|
||||||
|
{$else DELPHI4}
|
||||||
strings
|
strings
|
||||||
{$ifndef linux}
|
{$ifndef linux}
|
||||||
,dos
|
,dos
|
||||||
{$else}
|
{$else}
|
||||||
,linux
|
,linux
|
||||||
{$endif}
|
{$endif}
|
||||||
|
{$endif DELPHI4}
|
||||||
;
|
;
|
||||||
|
|
||||||
const
|
const
|
||||||
@ -2204,7 +2209,11 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.37 1999-07-03 00:29:45 peter
|
Revision 1.38 1999-07-18 10:19:46 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.37 1999/07/03 00:29:45 peter
|
||||||
* new link writing to the ppu, one .ppu is needed for all link types,
|
* new link writing to the ppu, one .ppu is needed for all link types,
|
||||||
static (.o) is now always created also when smartlinking is used
|
static (.o) is now always created also when smartlinking is used
|
||||||
|
|
||||||
|
@ -94,8 +94,10 @@ uses
|
|||||||
{$endif BrowserCol}
|
{$endif BrowserCol}
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc,
|
||||||
|
{$else Delphi}
|
||||||
|
dos,
|
||||||
{$endif Delphi}
|
{$endif Delphi}
|
||||||
dos,verbose,comphook,systems,
|
verbose,comphook,systems,
|
||||||
globals,options,parser,symtable,link,import,export;
|
globals,options,parser,symtable,link,import,export;
|
||||||
|
|
||||||
function Compile(const cmd:string):longint;
|
function Compile(const cmd:string):longint;
|
||||||
@ -271,7 +273,11 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.23 1999-06-22 16:24:41 pierre
|
Revision 1.24 1999-07-18 10:19:48 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.23 1999/06/22 16:24:41 pierre
|
||||||
* local browser stuff corrected
|
* local browser stuff corrected
|
||||||
|
|
||||||
Revision 1.22 1999/05/17 14:24:32 pierre
|
Revision 1.22 1999/05/17 14:24:32 pierre
|
||||||
|
@ -32,8 +32,9 @@ implementation
|
|||||||
uses
|
uses
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc,
|
||||||
|
{$else Delphi}
|
||||||
|
dos,
|
||||||
{$endif Delphi}
|
{$endif Delphi}
|
||||||
Dos,
|
|
||||||
Systems,Globtype,Globals,Verbose,Files,
|
Systems,Globtype,Globals,Verbose,Files,
|
||||||
Script;
|
Script;
|
||||||
|
|
||||||
@ -110,7 +111,11 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.5 1999-07-03 00:29:46 peter
|
Revision 1.6 1999-07-18 10:19:49 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.5 1999/07/03 00:29:46 peter
|
||||||
* new link writing to the ppu, one .ppu is needed for all link types,
|
* new link writing to the ppu, one .ppu is needed for all link types,
|
||||||
static (.o) is now always created also when smartlinking is used
|
static (.o) is now always created also when smartlinking is used
|
||||||
|
|
||||||
|
@ -151,7 +151,7 @@ Procedure SetIntVec(intno: byte; vector: pointer);
|
|||||||
Procedure Keep(exitcode: word);
|
Procedure Keep(exitcode: word);
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
uses strings,globals;
|
uses globals;
|
||||||
|
|
||||||
{******************************************************************************
|
{******************************************************************************
|
||||||
--- Conversion ---
|
--- Conversion ---
|
||||||
@ -847,7 +847,11 @@ End;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.4 1999-05-05 09:19:05 florian
|
Revision 1.5 1999-07-18 10:19:50 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.4 1999/05/05 09:19:05 florian
|
||||||
* more fixes to get it with delphi running
|
* more fixes to get it with delphi running
|
||||||
|
|
||||||
Revision 1.3 1999/05/05 08:20:12 michael
|
Revision 1.3 1999/05/05 08:20:12 michael
|
||||||
|
@ -264,8 +264,10 @@ implementation
|
|||||||
uses
|
uses
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc,
|
||||||
|
{$else Delphi}
|
||||||
|
dos,
|
||||||
{$endif Delphi}
|
{$endif Delphi}
|
||||||
dos,verbose,systems,
|
verbose,systems,
|
||||||
symtable,scanner;
|
symtable,scanner;
|
||||||
|
|
||||||
{****************************************************************************
|
{****************************************************************************
|
||||||
@ -1312,7 +1314,11 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.97 1999-07-14 21:19:03 florian
|
Revision 1.98 1999-07-18 10:19:51 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.97 1999/07/14 21:19:03 florian
|
||||||
+ implemented a better error message if a PPU file isn't found as suggested
|
+ implemented a better error message if a PPU file isn't found as suggested
|
||||||
by Lee John
|
by Lee John
|
||||||
|
|
||||||
|
@ -30,17 +30,18 @@ unit globals;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
{$ifdef TP}
|
|
||||||
objects,
|
|
||||||
{$endif}
|
|
||||||
{$ifdef Delphi4}
|
{$ifdef Delphi4}
|
||||||
dmisc,
|
dmisc,
|
||||||
sysutils,
|
sysutils,
|
||||||
|
{$else}
|
||||||
|
strings,dos,
|
||||||
{$endif}
|
{$endif}
|
||||||
{$ifdef linux}
|
{$ifdef linux}
|
||||||
|
{$ifdef TP}
|
||||||
|
objects,
|
||||||
|
{$endif}
|
||||||
linux,
|
linux,
|
||||||
{$endif}
|
{$endif}
|
||||||
strings,dos,
|
|
||||||
globtype,version,tokens,systems,cobjects;
|
globtype,version,tokens,systems,cobjects;
|
||||||
|
|
||||||
const
|
const
|
||||||
@ -1209,7 +1210,11 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.12 1999-07-13 19:14:44 michael
|
Revision 1.13 1999-07-18 10:19:52 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.12 1999/07/13 19:14:44 michael
|
||||||
+ Defaultreplacemens now more logical
|
+ Defaultreplacemens now more logical
|
||||||
|
|
||||||
Revision 1.11 1999/07/10 10:26:18 peter
|
Revision 1.11 1999/07/10 10:26:18 peter
|
||||||
|
@ -72,6 +72,8 @@ Implementation
|
|||||||
uses
|
uses
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc,
|
||||||
|
{$else Delphi}
|
||||||
|
dos,
|
||||||
{$endif Delphi}
|
{$endif Delphi}
|
||||||
globtype,systems,
|
globtype,systems,
|
||||||
script,globals,verbose,ppu
|
script,globals,verbose,ppu
|
||||||
@ -81,7 +83,6 @@ uses
|
|||||||
{$ifdef linux}
|
{$ifdef linux}
|
||||||
,linux
|
,linux
|
||||||
{$endif}
|
{$endif}
|
||||||
,dos
|
|
||||||
;
|
;
|
||||||
|
|
||||||
{$ifndef linux}
|
{$ifndef linux}
|
||||||
@ -715,7 +716,11 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.60 1999-07-07 20:33:53 peter
|
Revision 1.61 1999-07-18 10:19:53 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.60 1999/07/07 20:33:53 peter
|
||||||
* warning instead of error when switching to static linking
|
* warning instead of error when switching to static linking
|
||||||
|
|
||||||
Revision 1.59 1999/07/05 16:21:26 peter
|
Revision 1.59 1999/07/05 16:21:26 peter
|
||||||
|
@ -46,7 +46,11 @@ type
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
|
{$ifdef DELPHI}
|
||||||
|
sysutils;
|
||||||
|
{$else DELPHI}
|
||||||
strings;
|
strings;
|
||||||
|
{$endif DELPHI}
|
||||||
|
|
||||||
constructor TMessage.Init(p:pointer;n:longint);
|
constructor TMessage.Init(p:pointer;n:longint);
|
||||||
begin
|
begin
|
||||||
@ -260,7 +264,11 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.7 1999-05-01 12:27:51 peter
|
Revision 1.8 1999-07-18 10:19:55 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.7 1999/05/01 12:27:51 peter
|
||||||
* fixed endless loop with replace $1 with $1
|
* fixed endless loop with replace $1 with $1
|
||||||
|
|
||||||
Revision 1.6 1998/12/11 00:03:20 peter
|
Revision 1.6 1998/12/11 00:03:20 peter
|
||||||
|
@ -30,8 +30,9 @@ unit og386;
|
|||||||
uses
|
uses
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc,
|
||||||
{$endif Delphi}
|
{$else Delphi}
|
||||||
dos,
|
dos,
|
||||||
|
{$endif Delphi}
|
||||||
owbase,owar,
|
owbase,owar,
|
||||||
systems,i386base,aasm;
|
systems,i386base,aasm;
|
||||||
|
|
||||||
@ -277,7 +278,11 @@ unit og386;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.9 1999-07-03 00:27:03 peter
|
Revision 1.10 1999-07-18 10:19:56 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.9 1999/07/03 00:27:03 peter
|
||||||
* better smartlinking support
|
* better smartlinking support
|
||||||
|
|
||||||
Revision 1.8 1999/05/19 12:41:48 florian
|
Revision 1.8 1999/05/19 12:41:48 florian
|
||||||
|
@ -57,9 +57,11 @@ implementation
|
|||||||
uses
|
uses
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc,
|
||||||
|
{$else Delphi}
|
||||||
|
dos,
|
||||||
{$endif Delphi}
|
{$endif Delphi}
|
||||||
globtype,version,systems,
|
globtype,version,systems,
|
||||||
dos,cobjects,globals,
|
cobjects,globals,
|
||||||
scanner,link,messages
|
scanner,link,messages
|
||||||
{$ifdef BrowserLog}
|
{$ifdef BrowserLog}
|
||||||
,browlog
|
,browlog
|
||||||
@ -1139,7 +1141,11 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.4 1999-07-05 20:13:14 peter
|
Revision 1.5 1999-07-18 10:19:57 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.4 1999/07/05 20:13:14 peter
|
||||||
* removed temp defines
|
* removed temp defines
|
||||||
|
|
||||||
Revision 1.3 1999/07/03 00:29:54 peter
|
Revision 1.3 1999/07/03 00:29:54 peter
|
||||||
|
@ -50,8 +50,10 @@ implementation
|
|||||||
uses
|
uses
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc,
|
||||||
|
{$else Delphi}
|
||||||
|
dos,
|
||||||
{$endif Delphi}
|
{$endif Delphi}
|
||||||
globtype,dos,strings,globals,link,files;
|
globtype,strings,globals,link,files;
|
||||||
|
|
||||||
const profile_flag:boolean=false;
|
const profile_flag:boolean=false;
|
||||||
|
|
||||||
@ -333,7 +335,11 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.8 1999-07-03 00:29:55 peter
|
Revision 1.9 1999-07-18 10:19:58 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.8 1999/07/03 00:29:55 peter
|
||||||
* new link writing to the ppu, one .ppu is needed for all link types,
|
* new link writing to the ppu, one .ppu is needed for all link types,
|
||||||
static (.o) is now always created also when smartlinking is used
|
static (.o) is now always created also when smartlinking is used
|
||||||
|
|
||||||
|
@ -66,9 +66,10 @@ implementation
|
|||||||
uses
|
uses
|
||||||
verbose,
|
verbose,
|
||||||
{$ifdef Delphi}
|
{$ifdef Delphi}
|
||||||
dmisc,
|
dmisc;
|
||||||
{$endif Delphi}
|
{$else Delphi}
|
||||||
dos;
|
dos;
|
||||||
|
{$endif Delphi}
|
||||||
|
|
||||||
const
|
const
|
||||||
{$ifdef TP}
|
{$ifdef TP}
|
||||||
@ -278,7 +279,11 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.3 1999-05-09 11:38:06 peter
|
Revision 1.4 1999-07-18 10:19:59 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.3 1999/05/09 11:38:06 peter
|
||||||
* don't write .o and link if errors occure during assembling
|
* don't write .o and link if errors occure during assembling
|
||||||
|
|
||||||
Revision 1.2 1999/05/04 21:44:53 florian
|
Revision 1.2 1999/05/04 21:44:53 florian
|
||||||
|
@ -81,6 +81,7 @@
|
|||||||
{$endif support_mmx}
|
{$endif support_mmx}
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
|
{$ifndef DELPHI}
|
||||||
{$ifdef TP}
|
{$ifdef TP}
|
||||||
{$IFNDEF DPMI}
|
{$IFNDEF DPMI}
|
||||||
{$M 24000,0,655360}
|
{$M 24000,0,655360}
|
||||||
@ -89,6 +90,7 @@
|
|||||||
{$ENDIF DPMI}
|
{$ENDIF DPMI}
|
||||||
{$E+,N+,F+,S-,R-}
|
{$E+,N+,F+,S-,R-}
|
||||||
{$endif TP}
|
{$endif TP}
|
||||||
|
{$endif DELPHI}
|
||||||
|
|
||||||
|
|
||||||
program pp;
|
program pp;
|
||||||
@ -243,7 +245,11 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.2 1999-05-04 21:44:58 florian
|
Revision 1.3 1999-07-18 10:20:00 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.2 1999/05/04 21:44:58 florian
|
||||||
* changes to compile it with Delphi 4.0
|
* changes to compile it with Delphi 4.0
|
||||||
|
|
||||||
Revision 1.1 1998/09/18 16:03:44 florian
|
Revision 1.1 1998/09/18 16:03:44 florian
|
||||||
|
@ -130,7 +130,10 @@ unit scanner;
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
dos,systems,symtable,switches;
|
{$ifndef delphi}
|
||||||
|
dos,
|
||||||
|
{$endif delphi}
|
||||||
|
systems,symtable,switches;
|
||||||
|
|
||||||
{*****************************************************************************
|
{*****************************************************************************
|
||||||
Helper routines
|
Helper routines
|
||||||
@ -1670,7 +1673,11 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.86 1999-06-02 22:44:19 pierre
|
Revision 1.87 1999-07-18 10:20:02 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.86 1999/06/02 22:44:19 pierre
|
||||||
* previous wrong log corrected
|
* previous wrong log corrected
|
||||||
|
|
||||||
Revision 1.85 1999/06/02 22:25:49 pierre
|
Revision 1.85 1999/06/02 22:25:49 pierre
|
||||||
|
@ -27,6 +27,9 @@ unit win_targ;
|
|||||||
|
|
||||||
uses import,export;
|
uses import,export;
|
||||||
|
|
||||||
|
const
|
||||||
|
winstackpagesize = 4096;
|
||||||
|
|
||||||
type
|
type
|
||||||
pimportlibwin32=^timportlibwin32;
|
pimportlibwin32=^timportlibwin32;
|
||||||
timportlibwin32=object(timportlib)
|
timportlibwin32=object(timportlib)
|
||||||
@ -714,7 +717,11 @@ unit win_targ;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.27 1999-05-27 19:45:30 peter
|
Revision 1.28 1999-07-18 10:20:03 florian
|
||||||
|
* made it compilable with Dlephi 4 again
|
||||||
|
+ fixed problem with large stack allocations on win32
|
||||||
|
|
||||||
|
Revision 1.27 1999/05/27 19:45:30 peter
|
||||||
* removed oldasm
|
* removed oldasm
|
||||||
* plabel -> pasmlabel
|
* plabel -> pasmlabel
|
||||||
* -a switches to source writing automaticly
|
* -a switches to source writing automaticly
|
||||||
|
Loading…
Reference in New Issue
Block a user