http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58833
--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- >> Would it be possible for GCC in Solaris to auto-configure itself as a 64-bit >> native compiler by default (instead of the current 32-bit native compiler >> default)? > > The decision was made years ago not to do so, at least on SPARC, because the > 64-bit compiler was measurably slower than the 32-bit compiler. That's my experience as well, both on SPARC and x86. When some users loudly clamored for a 64-bit-default Solaris/x86 configuration, one argument was that a 64-bit gcc would be faster due to a larger register set. My experience is just the opposite: a amd64-pc-solaris2.11 bootstrap is considerably slower that i386-pc-solaris2.11. I've not even started investigating in detail, so this is just one data point. >> The output of `uname -p` in Solaris is always 'i386' or 'sparc', regardless >> of whether or not the kernel is 32-bit or 64-bit. In Solaris 11 and later, >> kernels are 64-bit only, so the output of `uname -p` does not really reflect >> reality. > > Given that the 32-bit compiler is biarch by default, at least on SPARC, I'm > not > sure there is really an incentive for switching to 64-bit by default. Agreed: on the opposite, I see a number of counter arguments: * Studio (at least until the current 12.3) defaults to 32-bit. Why would gcc be different on just one OS version? * I think the user experience would be terrible: consider a user who used to work on Solaris 10 with gcc x.y. Now he switches to Solaris 11, rebuilds gcc x.y and suddenly all his objects are 64-bit, with nothing else changed. He has to modify his build environment to retain interoperability with his existing objects and libraries. Not exactly what I'd call seamless. Given all this, I think users who really need (or think they need) a 64-bit-default gcc on Solaris can get it today, but the default should remain 32-bit. Rainer