C++ structure layout has changed and is now incompatible between C++ and Java, and between older releases of C++. Structure layout is also incompatible with C.
This is an ABI breaking bug. See the discussion beginning at http://gcc.gnu.org/ml/gcc/2005-04/msg00139.html and the testcase at http://gcc.gnu.org/ml/gcc/2005-04/msg00152.html -- Summary: [4.0 regression] Incompatible struct alignment change Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: critical Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: aph at gcc dot gnu dot org CC: aph at gcc dot gnu dot org,gcc-bugs at gcc dot gnu dot org,pinskia at physics dot uc dot edu GCC build triplet: powerpc-unknown-linux-gnu GCC host triplet: powerpc-unknown-linux-gnu GCC target triplet: powerpc-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20763