|
@@ -24,18 +24,9 @@ unit sysinitgprof;
|
|
|
monstarted : dword = 0;
|
|
|
|
|
|
var
|
|
|
- SysInstance : Longint;external name '_FPC_SysInstance';
|
|
|
- EntryInformation : TEntryInformation;
|
|
|
-
|
|
|
- InitFinalTable : record end; external name 'INITFINAL';
|
|
|
- ThreadvarTablesTable : record end; external name 'FPC_THREADVARTABLES';
|
|
|
- valgrind_used : boolean;external name '__fpc_valgrind';
|
|
|
stext : record end;external name '__text_start__';
|
|
|
etext : record end;external name 'etext';
|
|
|
|
|
|
- procedure EXE_Entry; external name '_FPC_EXE_Entry';
|
|
|
- function DLL_Entry : longbool; external name '_FPC_DLL_Entry';
|
|
|
-
|
|
|
procedure Cygwin_crt0(p : pointer);cdecl;external name 'cygwin_crt0';
|
|
|
procedure __main;cdecl;external name '__main';
|
|
|
procedure _mcleanup;cdecl;external name '_mcleanup';
|
|
@@ -45,31 +36,12 @@ unit sysinitgprof;
|
|
|
procedure CMainEXE;cdecl;forward;
|
|
|
procedure CMainDLL;cdecl;forward;
|
|
|
|
|
|
- const
|
|
|
- STD_INPUT_HANDLE = dword(-10);
|
|
|
-
|
|
|
- function GetStdHandle(nStdHandle:DWORD) : THandle; stdcall; external 'kernel32' name 'GetStdHandle';
|
|
|
- function GetConsoleMode(hConsoleHandle: THandle; var lpMode: DWORD): Boolean; stdcall; external 'kernel32' name 'GetConsoleMode';
|
|
|
-
|
|
|
- procedure EXE_Entry(const info : TEntryInformation); external name '_FPC_EXE_Entry';
|
|
|
- function DLL_entry(const info : TEntryInformation) : longbool; external name '_FPC_DLL_Entry';
|
|
|
- procedure PascalMain;stdcall;external name 'PASCALMAIN';
|
|
|
-
|
|
|
procedure asm_exit;stdcall;public name 'asm_exit';
|
|
|
begin
|
|
|
_mcleanup;
|
|
|
end;
|
|
|
|
|
|
-
|
|
|
- procedure SetupEntryInformation;
|
|
|
- begin
|
|
|
- EntryInformation.InitFinalTable:=@InitFinalTable;
|
|
|
- EntryInformation.ThreadvarTablesTable:=@ThreadvarTablesTable;
|
|
|
- EntryInformation.asm_exit:=@asm_exit;
|
|
|
- EntryInformation.PascalMain:=@PascalMain;
|
|
|
- EntryInformation.valgrind_used:=valgrind_used;
|
|
|
- end;
|
|
|
-
|
|
|
+{$i sysinit.inc}
|
|
|
|
|
|
procedure EXEgmon_start;
|
|
|
begin
|