소스 검색

* big endian fix in TOmfObjData.writeReloc

Nikolay Nikolov 1 년 전
부모
커밋
49ce3f5d2a
1개의 변경된 파일10개의 추가작업 그리고 1개의 파일을 삭제
  1. 10 1
      compiler/ogomf.pas

+ 10 - 1
compiler/ogomf.pas

@@ -1241,7 +1241,16 @@ implementation
                 objreloc:=TOmfRelocation.CreateGroup(CurrObjSec.Size,TObjSectionGroup(GroupsList.Find('DGROUP')),RELOC_SEGREL);
               CurrObjSec.ObjRelocations.Add(objreloc);
             end;
-        CurrObjSec.write(data,len);
+        case len of
+          1:
+            CurrObjSec.write(data,1);
+          2:
+            CurrObjSec.writeInt16LE(int16(data));
+          4:
+            CurrObjSec.writeInt32LE(int32(data));
+          else
+            internalerror(2023110201);
+        end;
       end;
 
     procedure TOmfObjData.AddImportSymbol(const libname, symname,