Просмотр исходного кода

* use unaligned constants, when writing the final dwarf arange record on i8086

git-svn-id: trunk@39103 -
nickysn 7 лет назад
Родитель
Сommit
69fbf0e0d8
1 измененных файлов с 9 добавлено и 8 удалено
  1. 9 8
      compiler/dbgdwarf.pas

+ 9 - 8
compiler/dbgdwarf.pas

@@ -3406,17 +3406,18 @@ implementation
         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));
 {$ifdef i8086}
-            { bits 16..31 of the offset }
-            current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_16bit_unaligned(0));
-            { segment }
+            { 32-bit offset }
+            current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_32bit_unaligned(0));
+            { 16-bit segment }
             current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_16bit_unaligned(0));
-{$endif i8086}
+            { 32-bit length }
+            current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_32bit_unaligned(0));
+{$else i8086}
+            { offset }
+            current_asmdata.asmlists[al_dwarf_aranges].concat(tai_const.Create_aint(0));
+            { length }
             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;