* use 32-bit address_size in the dwarf arange sections on i8086 (for Open Watcom

compatibility)

git-svn-id: trunk@39074 -
This commit is contained in:
nickysn 2018-05-20 21:59:32 +00:00
parent 0efb86518b
commit 1a2f364e68

View File

@ -2245,11 +2245,17 @@ implementation
current_asmdata.asmlists[al_dwarf_aranges].Concat(
tai_const.create_type_sym(aitconst_ptr_unaligned,current_asmdata.RefAsmSymbol(procentry,AT_FUNCTION)));
{$ifdef i8086}
{ bits 16..31 of the offset }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_16bit_unaligned(0));
{ segment }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_seg_name(procentry));
{$endif i8086}
current_asmdata.asmlists[al_dwarf_aranges].Concat(
tai_const.Create_rel_sym(aitconst_ptr_unaligned,current_asmdata.RefAsmSymbol(procentry,AT_FUNCTION),procendlabel));
{$ifdef i8086}
{ bits 16..31 of length }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_16bit_unaligned(0));
{$endif i8086}
end;
end;
@ -3237,12 +3243,15 @@ implementation
current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_infosection0',AB_LOCAL,AT_METADATA,voidpointertype),
current_asmdata.DefineAsmSymbol(target_asm.labelprefix+'debug_info0',AB_LOCAL,AT_METADATA,voidpointertype)));
{$ifdef i8086}
{ address_size }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_8bit(4));
{ segment_size }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_8bit(2));
{$else i8086}
{ address_size }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_8bit(sizeof(pint)));
{ segment_size }
{$ifdef i8086}
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_8bit(2));
{$else i8086}
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.create_8bit(0));
{$endif i8086}
{ alignment }
@ -3355,10 +3364,16 @@ implementation
{ end of aranges table }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_aint(0));
{$ifdef i8086}
{ bits 16..31 of the offset }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_16bit_unaligned(0));
{ segment }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_16bit_unaligned(0));
{$endif i8086}
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_aint(0));
{$ifdef i8086}
{ bits 16..31 of the length }
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_16bit_unaligned(0));
{$endif i8086}
current_asmdata.asmlists[al_dwarf_aranges].concat(tai_symbol.createname(target_asm.labelprefix+'earanges0',AT_METADATA,0,voidpointertype));
end;