This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/58833] RFE: 64-bit native compiler on Solaris


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]