Kaynağa Gözat

Merged revisions 11031 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

........
r11031 | tom_at_work | 2008-05-21 23:29:58 +0200 (Wed, 21 May 2008) | 1 line

* fix padding on 64 bit big endian CPUs in TInterfaceEntry: wrong offset of a member caused memory corruption and then access violations during object creation. Fixes timplements* tests.
........

git-svn-id: branches/fixes_2_2@12282 -

tom_at_work 17 yıl önce
ebeveyn
işleme
011d1586c3
1 değiştirilmiş dosya ile 4 ekleme ve 0 silme
  1. 4 0
      rtl/inc/objpash.inc

+ 4 - 0
rtl/inc/objpash.inc

@@ -125,7 +125,11 @@
          IOffset     : PtrInt;
          IIDStr      : pshortstring; { never nil. Com: upper(GuidToString(IID^)) }
          case boolean of
+{$ifdef ENDIAN_BIG}
+           true      : ({$IFDEF CPU64}__pad: longint;{$ENDIF}IType : tinterfaceentrytype);
+{$else ENDIAN_BIG}
            true      : (IType       : tinterfaceentrytype);
+{$endif ENDIAN_BIG}
            false     : (__pad_dummy : pointer);
        end;