|
@@ -2232,10 +2232,13 @@ implementation
|
|
append_labelentry(DW_AT_low_pc,current_asmdata.RefAsmSymbol(procentry));
|
|
append_labelentry(DW_AT_low_pc,current_asmdata.RefAsmSymbol(procentry));
|
|
append_labelentry(DW_AT_high_pc,procendlabel);
|
|
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;
|
|
end;
|
|
|
|
|
|
{ Don't write the funcretsym explicitly, it's also in the
|
|
{ Don't write the funcretsym explicitly, it's also in the
|
|
@@ -3197,35 +3200,38 @@ implementation
|
|
{ start abbrev section }
|
|
{ start abbrev section }
|
|
new_section(current_asmdata.asmlists[al_dwarf_abbrev],sec_debug_abbrev,'',0);
|
|
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 }
|
|
{ debug info header }
|
|
current_asmdata.getlabel(lenstartlabel,alt_dbgfile);
|
|
current_asmdata.getlabel(lenstartlabel,alt_dbgfile);
|
|
@@ -3321,10 +3327,13 @@ implementation
|
|
{ end of abbrev table }
|
|
{ end of abbrev table }
|
|
current_asmdata.asmlists[al_dwarf_abbrev].concat(tai_const.create_8bit(0));
|
|
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 }
|
|
{ reset all def debug states }
|
|
for i:=0 to defnumberlist.count-1 do
|
|
for i:=0 to defnumberlist.count-1 do
|