http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57795
Bug ID: 57795 Summary: Fail cross building Ada Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada Assignee: unassigned at gcc dot gnu.org Reporter: alexpux at gmail dot com I try to build i686 multilib mingw toolchain with Ada from linux x86_64 toolchain. First I build cross-compiler linux-x64 -> mingw-x32. Next I try to build mingw-x32 native toolchain from cross and get fail building libada on last step. make[2]: Entering directory `/home/alexx/work32/mingw32-gcc/gnattools' # gnattools1-re make -C ../gcc/ada/tools -f ../Makefile \ "CC=i686-w64-mingw32-gcc" "CFLAGS=-g -O2 -D__USE_MINGW_ACCESS -W -Wall" "LDFLAGS=-static-libstdc++ -static-libgcc -Wl,--stack,12582912" "ADAFLAGS=-gnatpg -gnata" "ADA_CFLAGS=" "INCLUDES=-I. -I.. -I../.. -I/home/alexx/src/gcc-4.8.1/gcc/ada -I/home/alexx/src/gcc-4.8.1/gcc/config -I/home/alexx/src/gcc-4.8.1/gcc/../include -I/home/alexx/src/gcc-4.8.1/gcc" "ADA_INCLUDES=-I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I. -I/home/alexx/src/gcc-4.8.1/gcc/ada" "exeext=.exe" "fsrcdir=/home/alexx/src/gcc-4.8.1/gcc" "srcdir=/home/alexx/src/gcc-4.8.1/gcc" "GNATMAKE=gnatmake" "GNATLINK=gnatlink" "GNATBIND=gnatbind" "TOOLSCASE=cross" "LIBGNAT=" INCLUDES="" \ gnatmake-re gnatlink-re make[3]: Entering directory `/home/alexx/work32/mingw32-gcc/gcc/ada/tools' gnatmake -j0 -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I. -I/home/alexx/src/gcc-4.8.1/gcc/ada -u sdefault --GCC="i686-w64-mingw32-gcc " gnatmake: objects up to date. gnatmake -j0 -c -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I. -I/home/alexx/src/gcc-4.8.1/gcc/ada gnatmake --GCC="i686-w64-mingw32-gcc -g -O2 -D__USE_MINGW_ACCESS -W -Wall -gnatpg -gnata" i686-w64-mingw32-gcc -c -I./ -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I. -I/home/alexx/src/gcc-4.8.1/gcc/ada -g -O2 -D__USE_MINGW_ACCESS -W -Wall -gnatpg -gnata -I- /home/alexx/src/gcc-4.8.1/gcc/ada/osint.adb i686-w64-mingw32-gcc -c -I./ -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/ -I. -I/home/alexx/src/gcc-4.8.1/gcc/ada -g -O2 -D__USE_MINGW_ACCESS -W -Wall -gnatpg -gnata -I- /home/alexx/src/gcc-4.8.1/gcc/ada/prj.adb osint.adb:3182:07: warning: types for unchecked conversion have different sizes gnatmake: "/home/alexx/src/gcc-4.8.1/gcc/ada/osint.adb" compilation error make[3]: *** [gnatmake-re] Error 4 make[3]: Leaving directory `/home/alexx/work32/mingw32-gcc/gcc/ada/tools' make[2]: *** [gnattools-cross] Error 2 make[2]: Leaving directory `/home/alexx/work32/mingw32-gcc/gnattools' make[1]: *** [all-gnattools] Error 2 make[1]: Leaving directory `/home/alexx/work32/mingw32-gcc' make: *** [all] Error 2 I see that gcc got wrong headers and libs (I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/../adainclude -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.1/adalib/) from linux native toolchain. But it can be pointed to headers and libs from cross toolchain. I do this operation with different gcc - 4.7.3 and 4.8.1 with the same result. My dirty hack to resolve it is to copy ada headers and libs from cross toolchain to native toolchain. Then build finishing fine. Regards, Alexey.