|
@@ -25,16 +25,20 @@ unit sysinitgprof;
|
|
{$linklib user32}
|
|
{$linklib user32}
|
|
{$linklib kernel32}
|
|
{$linklib kernel32}
|
|
|
|
|
|
|
|
+ const
|
|
|
|
+ monstarted : dword = 0;
|
|
|
|
+
|
|
var
|
|
var
|
|
SysInstance : Longint;external name '_FPC_SysInstance';
|
|
SysInstance : Longint;external name '_FPC_SysInstance';
|
|
|
|
+ stext : record end;external name '__text_start__';
|
|
etext : record end;external name 'etext';
|
|
etext : record end;external name 'etext';
|
|
- monstarted : dword;
|
|
|
|
|
|
|
|
procedure EXE_Entry; external name '_FPC_EXE_Entry';
|
|
procedure EXE_Entry; external name '_FPC_EXE_Entry';
|
|
function DLL_Entry : longbool; external name '_FPC_DLL_Entry';
|
|
function DLL_Entry : longbool; external name '_FPC_DLL_Entry';
|
|
|
|
|
|
procedure Cygwin_crt0(p : pointer);cdecl;external name 'cygwin_crt0';
|
|
procedure Cygwin_crt0(p : pointer);cdecl;external name 'cygwin_crt0';
|
|
procedure __main;cdecl;external name '__main';
|
|
procedure __main;cdecl;external name '__main';
|
|
|
|
+ procedure _mcleanup;cdecl;external name '_mcleanup';
|
|
|
|
|
|
procedure monstartup(main,etext : pointer);cdecl;external name 'monstartup';
|
|
procedure monstartup(main,etext : pointer);cdecl;external name 'monstartup';
|
|
|
|
|
|
@@ -46,7 +50,7 @@ unit sysinitgprof;
|
|
if monstarted=0 then
|
|
if monstarted=0 then
|
|
begin
|
|
begin
|
|
inc(monstarted);
|
|
inc(monstarted);
|
|
- monstartup(@CMainExe,@etext);
|
|
|
|
|
|
+ monstartup(@stext,@etext);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -56,7 +60,7 @@ unit sysinitgprof;
|
|
if monstarted=0 then
|
|
if monstarted=0 then
|
|
begin
|
|
begin
|
|
inc(monstarted);
|
|
inc(monstarted);
|
|
- monstartup(@CMainDLL,@etext);
|
|
|
|
|
|
+ monstartup(@stext,@etext);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -134,5 +138,11 @@ unit sysinitgprof;
|
|
Cygwin_crt0(@CMainDLL);
|
|
Cygwin_crt0(@CMainDLL);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+
|
|
|
|
+ procedure asm_exit;stdcall;public name 'asm_exit';
|
|
|
|
+ begin
|
|
|
|
+ _mcleanup;
|
|
|
|
+ end;
|
|
|
|
+
|
|
end.
|
|
end.
|
|
|
|
|