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

Fix writing of low qword of floatx80 real type into 10-byte array on big endian systems

Pierre Muller 1 жил өмнө
parent
commit
8ae28b4846

+ 1 - 1
compiler/entfile.pas

@@ -1945,7 +1945,7 @@ begin
       softfloat_exception_mask:=local_softfloat_exception_mask;
       softfloat_exception_mask:=local_softfloat_exception_mask;
 {$ifdef FPC_BIG_ENDIAN}
 {$ifdef FPC_BIG_ENDIAN}
       pword(@floatx80_ba[0])^:=floatx80_e.high;
       pword(@floatx80_ba[0])^:=floatx80_e.high;
-      pqword(@floatx80_ba[8])^:=floatx80_e.low;
+      unaligned(pqword(@floatx80_ba[2])^):=floatx80_e.low;
 {$else}
 {$else}
       pword(@floatx80_ba[8])^:=floatx80_e.high;
       pword(@floatx80_ba[8])^:=floatx80_e.high;
       pqword(@floatx80_ba[0])^:=floatx80_e.low;
       pqword(@floatx80_ba[0])^:=floatx80_e.low;