2
0
Эх сурвалжийг харах

+ handle aitconst_farptr in the internal asm writer as a new relocation type (RELOC_FARPTR)

git-svn-id: trunk@30456 -
nickysn 10 жил өмнө
parent
commit
393b9b54a8

+ 4 - 0
compiler/assemble.pas

@@ -1645,6 +1645,10 @@ Implementation
                        { Required for DWARF2 support under Windows }
                        { Required for DWARF2 support under Windows }
                        ObjData.writereloc(Tai_const(hp).symofs,sizeof(longint),Objdata.SymbolRef(tai_const(hp).sym),RELOC_SECREL32);
                        ObjData.writereloc(Tai_const(hp).symofs,sizeof(longint),Objdata.SymbolRef(tai_const(hp).sym),RELOC_SECREL32);
                      end;
                      end;
+{$ifdef i8086}
+                   aitconst_farptr :
+                     ObjData.writereloc(Tai_const(hp).symofs,sizeof(longint),Objdata.SymbolRef(tai_const(hp).sym),RELOC_FARPTR);
+{$endif i8086}
 {$ifdef arm}
 {$ifdef arm}
                    aitconst_got:
                    aitconst_got:
                      ObjData.writereloc(Tai_const(hp).symofs,sizeof(longint),Objdata.SymbolRef(tai_const(hp).sym),RELOC_GOT32);
                      ObjData.writereloc(Tai_const(hp).symofs,sizeof(longint),Objdata.SymbolRef(tai_const(hp).sym),RELOC_GOT32);

+ 3 - 0
compiler/ogbase.pas

@@ -66,6 +66,9 @@ interface
          RELOC_GOT32,
          RELOC_GOT32,
          RELOC_PLT32,
          RELOC_PLT32,
 {$endif i386}
 {$endif i386}
+{$ifdef i8086}
+         RELOC_FARPTR,
+{$endif i8086}
 {$ifdef arm}
 {$ifdef arm}
          RELOC_RELATIVE_24,
          RELOC_RELATIVE_24,
          RELOC_RELATIVE_24_THUMB,
          RELOC_RELATIVE_24_THUMB,