mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-14 15:09:14 +02:00
* enabled generation of dwarf frames for non x64 targets when dwarf debug info is requested
* renamed al_dwarf enum to al_dwarf_frame since this enum only enables frame generation * renamed create_dwarf procedure for the same reason * skipped check for dwarf support in assember, since we generate all dwarf info ourselves git-svn-id: trunk@12906 -
This commit is contained in:
parent
f54089a5e2
commit
0efd37a4c9
@ -57,7 +57,7 @@ interface
|
||||
al_exports,
|
||||
al_resources,
|
||||
al_rtti,
|
||||
al_dwarf,
|
||||
al_dwarf_frame,
|
||||
al_dwarf_info,
|
||||
al_dwarf_abbrev,
|
||||
al_dwarf_line,
|
||||
@ -96,7 +96,7 @@ interface
|
||||
'al_exports',
|
||||
'al_resources',
|
||||
'al_rtti',
|
||||
'al_dwarf',
|
||||
'al_dwarf_frame',
|
||||
'al_dwarf_info',
|
||||
'al_dwarf_abbrev',
|
||||
'al_dwarf_line',
|
||||
|
@ -133,18 +133,20 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
procedure create_dwarf;
|
||||
procedure create_dwarf_frame;
|
||||
begin
|
||||
{ Dwarf conflicts with smartlinking in separate .a files }
|
||||
if create_smartlink_library then
|
||||
exit;
|
||||
{ Call frame information }
|
||||
if (tf_needs_dwarf_cfi in target_info.flags) and
|
||||
(af_supports_dwarf in target_asm.flags) then
|
||||
{ MWE: we write our own info, so dwarf asm support is not really needed }
|
||||
{ if (af_supports_dwarf in target_asm.flags) and }
|
||||
if (tf_needs_dwarf_cfi in target_info.flags) or
|
||||
(paratargetdbg in [dbg_dwarf2, dbg_dwarf3]) then
|
||||
begin
|
||||
current_asmdata.asmlists[al_dwarf].Free;
|
||||
current_asmdata.asmlists[al_dwarf] := TAsmList.create;
|
||||
current_asmdata.asmcfi.generate_code(current_asmdata.asmlists[al_dwarf]);
|
||||
current_asmdata.asmlists[al_dwarf_frame].Free;
|
||||
current_asmdata.asmlists[al_dwarf_frame] := TAsmList.create;
|
||||
current_asmdata.asmcfi.generate_code(current_asmdata.asmlists[al_dwarf_frame]);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1246,8 +1248,8 @@ implementation
|
||||
|
||||
if ag then
|
||||
begin
|
||||
{ create dwarf debuginfo }
|
||||
create_dwarf;
|
||||
{ create callframe info }
|
||||
create_dwarf_frame;
|
||||
{ assemble }
|
||||
create_objectfile;
|
||||
end;
|
||||
@ -2200,8 +2202,8 @@ implementation
|
||||
{ Insert symbol to resource info }
|
||||
InsertResourceInfo(resources_used);
|
||||
|
||||
{ create dwarf debuginfo }
|
||||
create_dwarf;
|
||||
{ create callframe info }
|
||||
create_dwarf_frame;
|
||||
|
||||
{ insert own objectfile }
|
||||
insertobjectfile;
|
||||
|
Loading…
Reference in New Issue
Block a user