mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-17 23:19:29 +02:00
- disabled DWARF (a)ranges for Darwin, it's not supported/used there
git-svn-id: trunk@33479 -
This commit is contained in:
parent
71b7cd7e1d
commit
953c47dd97
@ -2232,10 +2232,13 @@ implementation
|
||||
append_labelentry(DW_AT_low_pc,current_asmdata.RefAsmSymbol(procentry));
|
||||
append_labelentry(DW_AT_high_pc,procendlabel);
|
||||
|
||||
current_asmdata.asmlists[al_dwarf_aranges].Concat(
|
||||
tai_const.create_type_sym(aitconst_ptr_unaligned,current_asmdata.RefAsmSymbol(procentry)));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].Concat(
|
||||
tai_const.Create_rel_sym(aitconst_ptr_unaligned,current_asmdata.RefAsmSymbol(procentry),procendlabel));
|
||||
if not(target_info.system in systems_darwin) then
|
||||
begin
|
||||
current_asmdata.asmlists[al_dwarf_aranges].Concat(
|
||||
tai_const.create_type_sym(aitconst_ptr_unaligned,current_asmdata.RefAsmSymbol(procentry)));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].Concat(
|
||||
tai_const.Create_rel_sym(aitconst_ptr_unaligned,current_asmdata.RefAsmSymbol(procentry),procendlabel));
|
||||
end;
|
||||
end;
|
||||
|
||||
{ Don't write the funcretsym explicitly, it's also in the
|
||||
@ -3197,35 +3200,38 @@ implementation
|
||||
{ start abbrev section }
|
||||
new_section(current_asmdata.asmlists[al_dwarf_abbrev],sec_debug_abbrev,'',0);
|
||||
|
||||
{ start aranges section }
|
||||
new_section(current_asmdata.asmlists[al_dwarf_aranges],sec_debug_aranges,'',0);
|
||||
if not(target_info.system in systems_darwin) then
|
||||
begin
|
||||
{ start aranges section }
|
||||
new_section(current_asmdata.asmlists[al_dwarf_aranges],sec_debug_aranges,'',0);
|
||||
|
||||
current_asmdata.getlabel(arangestartlabel,alt_dbgfile);
|
||||
current_asmdata.getlabel(arangestartlabel,alt_dbgfile);
|
||||
|
||||
if use_64bit_headers then
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_32bit_unaligned(longint($FFFFFFFF)));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_rel_sym(offsetreltype,
|
||||
arangestartlabel,current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'earanges0',AB_LOCAL,AT_DATA)));
|
||||
if use_64bit_headers then
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_32bit_unaligned(longint($FFFFFFFF)));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_rel_sym(offsetreltype,
|
||||
arangestartlabel,current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'earanges0',AB_LOCAL,AT_DATA)));
|
||||
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_label.create(arangestartlabel));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_label.create(arangestartlabel));
|
||||
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_16bit_unaligned(2));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_16bit_unaligned(2));
|
||||
|
||||
if not(tf_dwarf_relative_addresses in target_info.flags) then
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_type_sym(offsetabstype,
|
||||
current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_info0',AB_LOCAL,AT_DATA)))
|
||||
else
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_rel_sym(offsetreltype,
|
||||
current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_infosection0',AB_LOCAL,AT_DATA),
|
||||
current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_info0',AB_LOCAL,AT_DATA)));
|
||||
if not(tf_dwarf_relative_addresses in target_info.flags) then
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_type_sym(offsetabstype,
|
||||
current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_info0',AB_LOCAL,AT_DATA)))
|
||||
else
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_rel_sym(offsetreltype,
|
||||
current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_infosection0',AB_LOCAL,AT_DATA),
|
||||
current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_info0',AB_LOCAL,AT_DATA)));
|
||||
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_8bit(sizeof(pint)));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_8bit(0));
|
||||
{ alignment }
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_32bit_unaligned(0));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_8bit(sizeof(pint)));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_8bit(0));
|
||||
{ alignment }
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_32bit_unaligned(0));
|
||||
|
||||
{ start ranges section }
|
||||
new_section(current_asmdata.asmlists[al_dwarf_ranges],sec_debug_ranges,'',0);
|
||||
{ start ranges section }
|
||||
new_section(current_asmdata.asmlists[al_dwarf_ranges],sec_debug_ranges,'',0);
|
||||
end;
|
||||
|
||||
{ debug info header }
|
||||
current_asmdata.getlabel(lenstartlabel,alt_dbgfile);
|
||||
@ -3321,10 +3327,13 @@ implementation
|
||||
{ end of abbrev table }
|
||||
current_asmdata.asmlists[al_dwarf_abbrev].concat(tai_const.create_8bit(0));
|
||||
|
||||
{ end of aranges table }
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_aint(0));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_aint(0));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_symbol.createname(target_asm.labelprefix+'earanges0',AT_DATA,0));
|
||||
if not(target_info.system in systems_darwin) then
|
||||
begin
|
||||
{ end of aranges table }
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_aint(0));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_aint(0));
|
||||
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_symbol.createname(target_asm.labelprefix+'earanges0',AT_DATA,0));
|
||||
end;
|
||||
|
||||
{ reset all def debug states }
|
||||
for i:=0 to defnumberlist.count-1 do
|
||||
|
Loading…
Reference in New Issue
Block a user