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.
On Binutils I thought I could try an old version, but then realized trying an old version doesn't really answer the question, it could still be in gcc's field, or binutils causing a bug in gcc to surface, and leave the newest versions with a nasty bug. Also, this bug goes back in HEAD/snapshots (Binutils) for at least 2 weeks. GCC 4.4 branch is affected only, including the release and current 4.4.2 pre-release. Thanks for your attention.
This is a binutils issue, and appears resolved.