Hi, Please CC me in replies as I am not subscribed to debian-toolchain@l.d.o. I tried to build gcc stage1 cross compilers. This mostly succeeds except for x32. My efforts are based on sid gcc-4.8 and I compile with: DEB_BUILD_OPTIONS="nocheck parallel=1" DH_VERBOSE=1 DEB_TARGET_ARCH=x32 DEB_CROSS_NO_BIARCH=yes DEB_STAGE=stage1 dpkg-buildpackage -d -T control DEB_BUILD_OPTIONS="nocheck parallel=1" DH_VERBOSE=1 DEB_TARGET_ARCH=x32 DEB_CROSS_NO_BIARCH=yes DEB_STAGE=stage1 dpkg-buildpackage -d -B -uc -us Compilation succeeds, but the resulting compiler creates objects x86_64-linux-gnu objects rather than x86_64-linux-gnux32 objects: $ x86_64-linux-gnux32-as /dev/null -o test.o $ file test.o test.o: ELF 32-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped $ x86_64-linux-gnux32-gcc-4.8 -x c -c /dev/null -o test.o $ file test.o test.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped $ x86_64-linux-gnux32-gcc-4.8 -mx32 -x c -c /dev/null -o test.o $ file test.o test.o: ELF 32-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped $ So arguably the resulting cross compiler is capable of doing its job, just I'm not telling it to do so. In particular eglibc stage1 does not pass the -mx32 flag nor do any followup builds. So I think that rather the cross compiler should default to -mx32. Just how do I tell gcc? A build log is attached. Helmut
Attachment:
bootstrap-x32.log.xz
Description: Binary data