mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 02:32:51 +02:00
* disabled generation of DW_AT_low_pc/DW_AT_high_pc compilation unit
information for Win32, as it doesn't work there due to the way we name sections on that platform (http://lists.freepascal.org/lists/fpc-devel/2009-March/016591.html) git-svn-id: trunk@12918 -
This commit is contained in:
parent
41dcda600c
commit
e9dedb7377
@ -2254,19 +2254,23 @@ implementation
|
||||
fitem : TFileIndexItem;
|
||||
flist : TFPList;
|
||||
begin
|
||||
{ insert .Ltext0 label }
|
||||
templist:=TAsmList.create;
|
||||
new_section(templist,sec_code,'',0);
|
||||
templist.concat(tai_symbol.createname(target_asm.labelprefix+'text0',AT_DATA,0));
|
||||
current_asmdata.asmlists[al_start].insertlist(templist);
|
||||
templist.free;
|
||||
|
||||
{ insert .Letext0 label }
|
||||
templist:=TAsmList.create;
|
||||
new_section(templist,sec_code,'',0);
|
||||
templist.concat(tai_symbol.createname(target_asm.labelprefix+'etext0',AT_DATA,0));
|
||||
current_asmdata.asmlists[al_end].insertlist(templist);
|
||||
templist.free;
|
||||
{ doesn't work for windows, because it puts no code per module in the .text section }
|
||||
if not(target_info.system in system_all_windows) then
|
||||
begin
|
||||
{ insert .Ltext0 label }
|
||||
templist:=TAsmList.create;
|
||||
new_section(templist,sec_code,'',0);
|
||||
templist.concat(tai_symbol.createname(target_asm.labelprefix+'text0',AT_DATA,0));
|
||||
current_asmdata.asmlists[al_start].insertlist(templist);
|
||||
templist.free;
|
||||
|
||||
{ insert .Letext0 label }
|
||||
templist:=TAsmList.create;
|
||||
new_section(templist,sec_code,'',0);
|
||||
templist.concat(tai_symbol.createname(target_asm.labelprefix+'etext0',AT_DATA,0));
|
||||
current_asmdata.asmlists[al_end].insertlist(templist);
|
||||
templist.free;
|
||||
end;
|
||||
|
||||
{ insert .Ldebug_abbrev0 label }
|
||||
templist:=TAsmList.create;
|
||||
@ -2513,8 +2517,13 @@ implementation
|
||||
append_labelentry_dataptr_rel(DW_AT_stmt_list,
|
||||
current_asmdata.RefAsmSymbol(target_asm.labelprefix+'debug_linesection0'),
|
||||
current_asmdata.RefAsmSymbol(target_asm.labelprefix+'debug_line0'));
|
||||
append_labelentry(DW_AT_low_pc,current_asmdata.RefAsmSymbol(target_asm.labelprefix+'text0'));
|
||||
append_labelentry(DW_AT_high_pc,current_asmdata.RefAsmSymbol(target_asm.labelprefix+'etext0'));
|
||||
|
||||
{ see comments above where these labels are created and inserted }
|
||||
if not(target_info.system in system_all_windows) then
|
||||
begin
|
||||
append_labelentry(DW_AT_low_pc,current_asmdata.RefAsmSymbol(target_asm.labelprefix+'text0'));
|
||||
append_labelentry(DW_AT_high_pc,current_asmdata.RefAsmSymbol(target_asm.labelprefix+'etext0'));
|
||||
end;
|
||||
|
||||
finish_entry;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user