One day, I built gcc 4.4.1 prerelease, with normal multilib. The next day, I realized I forgot to add Ada, and all of a sudden multilib failed with the exact same configuration. At the time, I didn't think too much of it and don't remember if anything else happened between the two builds, but it is likely I updated Binutils between those two exact same builds. I have not been getting it to work at all anymore, and I thought it was unique to Cygwin where I couldn't get 4.4.x Multilib for as far as I can remember.
I went back to the build that was building in Multilib, and it died with no rule to make 32/zlib. GCC will accept the -m32 flag, but the 64-bit assembler is used. The 32 dir multi-versions are not created, as if multilib was disabled. This is highly likely related to Binutils. However, whether it is a bug in Binutils, or a change in Binutils that caused a bug in 4.4.x to surface, I do not know. I will give you configuration lines (just one time), but believe me, they are not relevant. --enable-multilib wasn't even necessary for gcc, only Binutils. The working multilib version of 4.4.1 I have proves it (via -v.) This bug applies 100% to Linux x86_64 as it does to Windows x64. It has nothing to do with the Mingw-w64 crt, as it occurs before fresh installation of crt, by gcc in make all-gcc (after doing that, building a new crt reveals the incorrect 64-bit assembler.) Binutils (last tried yesterday's update): ../configure --target=x86_64-w64-mingw32 --enable-multilib --enable-targets=x86_64-w64-mingw32,i686-w64-mingw32 --with-sysroot=/mingw64 --prefix=/mingw64 --with-ppl=/usr --with-cloog=/usr GCC 4.4.1 Release: (small testcase) ../configure --target=x86_64-w64-mingw32 --enable-targets=all --with-sysroot=/mingw64 --prefix=/mingw64 --with-ppl=/usr --with-cloog=/usr --enable-languages=c,c++ Thanks, I will pass this same report to Binutils. -- Summary: Mutilib for the gcc 4.4.x branch no longer works Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: xenofears at gmail dot com GCC build triplet: x86_64-w64-mingw32, x86_64-unknown-linux-gnu, i686-pc- cygwin, li GCC host triplet: x86_64-w64-mingw32, x86_64-unknown-linux-gnu, i686-pc- cygwin, li GCC target triplet: x86_64-w64-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40922