|
@@ -133,6 +133,7 @@ interface
|
|
procinfo : TObject; { current procedure being compiled }
|
|
procinfo : TObject; { current procedure being compiled }
|
|
asmdata : TObject; { Assembler data }
|
|
asmdata : TObject; { Assembler data }
|
|
asmprefix : pshortstring; { prefix for the smartlink asmfiles }
|
|
asmprefix : pshortstring; { prefix for the smartlink asmfiles }
|
|
|
|
+ debuginfo : TObject;
|
|
loaded_from : tmodule;
|
|
loaded_from : tmodule;
|
|
_exports : tlinkedlist;
|
|
_exports : tlinkedlist;
|
|
dllscannerinputlist : TFPHashList;
|
|
dllscannerinputlist : TFPHashList;
|
|
@@ -210,7 +211,7 @@ implementation
|
|
uses
|
|
uses
|
|
SysUtils,globals,
|
|
SysUtils,globals,
|
|
verbose,systems,
|
|
verbose,systems,
|
|
- scanner,ppu,
|
|
|
|
|
|
+ scanner,ppu,dbgbase,
|
|
procinfo;
|
|
procinfo;
|
|
|
|
|
|
{$ifdef MEMDEBUG}
|
|
{$ifdef MEMDEBUG}
|
|
@@ -252,6 +253,7 @@ implementation
|
|
if assigned(current_module) then
|
|
if assigned(current_module) then
|
|
begin
|
|
begin
|
|
current_asmdata:=tasmdata(current_module.asmdata);
|
|
current_asmdata:=tasmdata(current_module.asmdata);
|
|
|
|
+ current_debuginfo:=tdebuginfo(current_module.debuginfo);
|
|
{ restore scanner and file positions }
|
|
{ restore scanner and file positions }
|
|
current_scanner:=tscannerfile(current_module.scanner);
|
|
current_scanner:=tscannerfile(current_module.scanner);
|
|
if assigned(current_scanner) then
|
|
if assigned(current_scanner) then
|
|
@@ -270,6 +272,7 @@ implementation
|
|
begin
|
|
begin
|
|
current_asmdata:=nil;
|
|
current_asmdata:=nil;
|
|
current_scanner:=nil;
|
|
current_scanner:=nil;
|
|
|
|
+ current_debuginfo:=nil;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -501,6 +504,7 @@ implementation
|
|
_exports:=TLinkedList.Create;
|
|
_exports:=TLinkedList.Create;
|
|
dllscannerinputlist:=TFPHashList.Create;
|
|
dllscannerinputlist:=TFPHashList.Create;
|
|
asmdata:=TAsmData.create(realmodulename^);
|
|
asmdata:=TAsmData.create(realmodulename^);
|
|
|
|
+ InitDebugInfo(self);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
@@ -630,6 +634,7 @@ implementation
|
|
asmdata.free;
|
|
asmdata.free;
|
|
asmdata:=nil;
|
|
asmdata:=nil;
|
|
end;
|
|
end;
|
|
|
|
+ DoneDebugInfo(self);
|
|
if assigned(globalsymtable) then
|
|
if assigned(globalsymtable) then
|
|
begin
|
|
begin
|
|
globalsymtable.free;
|
|
globalsymtable.free;
|
|
@@ -675,6 +680,8 @@ implementation
|
|
sourcefiles.free;
|
|
sourcefiles.free;
|
|
sourcefiles:=tinputfilemanager.create;
|
|
sourcefiles:=tinputfilemanager.create;
|
|
asmdata:=TAsmData.create(realmodulename^);
|
|
asmdata:=TAsmData.create(realmodulename^);
|
|
|
|
+ DoneDebugInfo(self);
|
|
|
|
+ InitDebugInfo(self);
|
|
_exports.free;
|
|
_exports.free;
|
|
_exports:=tlinkedlist.create;
|
|
_exports:=tlinkedlist.create;
|
|
dllscannerinputlist.free;
|
|
dllscannerinputlist.free;
|