The toolchain is built with newlib C. 2 g++ failures in dejaGNU tests: FAIL tmpdir-g++.dg-struct-layout-1/t004 cp_compat_x_tst.o compile FAIL tmpdir-g++.dg-struct-layout-1/t004 cp_compat_y_tst.o compile
Compiler error: "In file included from /usr/local/google/tmp/gcc4.4_dejagnu/obj/gcc-trunk/gcc/testsuite/g++/g++.dg-struct-layout-1//t004_x.C:9: /usr/local/google/tmp/gcc4.4_dejagnu/obj/gcc-trunk/gcc/testsuite/g++/g++.dg-struct-layout-1//t004_test.h:6: note: Offset of packed bit-field 'S805::c' has changed in GCC 4.4" "enum E3 c:8" in t004_test.h is causing this dejagnu compiler error. According to the GCC 4.4 Changes (http://www.gnu.org/software/gcc/gcc-4.4/changes.html), the behaviors related to bit-packed of type 'char' are changed on some targets (e.g. ARM). This results in warnings like "note: Offset of packed bit-field XXX has changed in GCC 4.4." Details from the GCC 4.4 Changes document: Packed bit-fields of type char were not properly bit-packed on many targets prior to GCC 4.4. On these targets, the fix in GCC 4.4 causes an ABI change. For example there is no longer a 4-bit padding between field a and b in this structure: struct foo { char a:4; char b:8; } __attribute__ ((packed)); There is a new warning to help identify fields that are affected: foo.c:5: note: Offset of packed bit-field 'b' has changed in GCC 4.4 Suggested Fix: Add '// { dg-warning "Offset of packed bit-field" "" { target arm-*-*-* } }' to this test. Note that these two tests SUCCESSFULLY PASSED on x86 without causing any error in the log. So we just want to fix on the arm side. -- Summary: New: FAIL: g++/g++.dg-struct-layout-1//t004_x.C on arm target Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sliao at google dot com GCC build triplet: i686-linux-gnu GCC host triplet: i686-linux-gnu GCC target triplet: arm-unknown-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39774