mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 11:09:19 +02:00
+ mark outmost frame in CFI
git-svn-id: branches/debug_eh@41286 -
This commit is contained in:
parent
27ab140dd9
commit
65cece7657
@ -160,6 +160,7 @@ interface
|
|||||||
procedure generate_code(list:TAsmList);virtual;
|
procedure generate_code(list:TAsmList);virtual;
|
||||||
procedure start_frame(list:TAsmList);virtual;
|
procedure start_frame(list:TAsmList);virtual;
|
||||||
procedure end_frame(list:TAsmList);virtual;
|
procedure end_frame(list:TAsmList);virtual;
|
||||||
|
procedure outmost_frame(list:TAsmList);virtual;
|
||||||
procedure cfa_offset(list:TAsmList;reg:tregister;ofs:longint);virtual;
|
procedure cfa_offset(list:TAsmList;reg:tregister;ofs:longint);virtual;
|
||||||
procedure cfa_restore(list:TAsmList;reg:tregister);virtual;
|
procedure cfa_restore(list:TAsmList;reg:tregister);virtual;
|
||||||
procedure cfa_def_cfa_register(list:TAsmList;reg:tregister);virtual;
|
procedure cfa_def_cfa_register(list:TAsmList;reg:tregister);virtual;
|
||||||
@ -285,6 +286,11 @@ implementation
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TAsmCFI.outmost_frame(list: TAsmList);
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TAsmCFI.cfa_offset(list:TAsmList;reg:tregister;ofs:longint);
|
procedure TAsmCFI.cfa_offset(list:TAsmList;reg:tregister;ofs:longint);
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
@ -674,7 +680,8 @@ initialization
|
|||||||
memasmlists:=TMemDebug.create('AsmLists');
|
memasmlists:=TMemDebug.create('AsmLists');
|
||||||
memasmlists.stop;
|
memasmlists.stop;
|
||||||
{$endif MEMDEBUG}
|
{$endif MEMDEBUG}
|
||||||
CAsmCFI:=TAsmCFI;
|
if not(assigned(CAsmCFI)) then
|
||||||
|
CAsmCFI:=TAsmCFI;
|
||||||
|
|
||||||
finalization
|
finalization
|
||||||
{$ifdef MEMDEBUG}
|
{$ifdef MEMDEBUG}
|
||||||
|
@ -726,6 +726,9 @@ implementation
|
|||||||
{ generate call frame marker for dwarf call frame info }
|
{ generate call frame marker for dwarf call frame info }
|
||||||
current_asmdata.asmcfi.start_frame(list);
|
current_asmdata.asmcfi.start_frame(list);
|
||||||
|
|
||||||
|
if current_procinfo.procdef.proctypeoption=potype_proginit then
|
||||||
|
current_asmdata.asmcfi.outmost_frame(list);
|
||||||
|
|
||||||
{ All temps are know, write offsets used for information }
|
{ All temps are know, write offsets used for information }
|
||||||
if (cs_asm_source in current_settings.globalswitches) and
|
if (cs_asm_source in current_settings.globalswitches) and
|
||||||
(current_procinfo.tempstart<>tg.lasttemp) then
|
(current_procinfo.tempstart<>tg.lasttemp) then
|
||||||
|
Loading…
Reference in New Issue
Block a user