Ada currently doesn't bootstrap on s390x due to a pointer size mismatch when building the 32 bit version of a-except.o:
/build2/gcc-build/./gcc/xgcc -B/build2/gcc-build/./gcc/ -B/build2/gcc-install/s390x-ibm-linux-gn u/bin/ -B/build2/gcc-install/s390x-ibm-linux-gnu/lib/ -isystem /build2/gcc-install/s390x-ibm-linux-gnu/include -isystem /build2/gcc-install/s390x-ibm-linux-gnu/sys-include -c -g -O2 -fPIC -mlong-double-128 -W -Wall -gnatpg -m31 -g -O1 -fn o-inline -fno-toplevel-reorder a-except.adb -o a-except.o -fdump-tree-all -gnatf a-exexpr.adb:169:04: warning: types for unchecked conversion have different sizes a-exexpr.adb:169:04: warning: size of "Address" is 64, size of "Gnat_Gcc_Exception_Access" is 32 a-exexpr.adb:169:04: warning: 32 trailing bits of source will be ignored in directory: gcc-build/gcc/ada/rts_32 -- Summary: System.Address size stays 64 bit with -m31 Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: krebbel at gcc dot gnu dot org GCC build triplet: s390x-ibm-linux GCC host triplet: s390x-ibm-linux GCC target triplet: s390x-ibm-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37977