This is the mail archive of the gcc@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]

Re: GCC build failed with your patch on 2001-01-09T11:35:00Z.


On Tue, Jan 09, 2001 at 01:58:07PM -0800, Richard Henderson wrote:
> > 	Because some targets are runtime selectable between 32-bits and
> > 64-bits, this is not limited to targets of a particular width or
> > cross-compilers.  Targetting a different width is a subset of a
> > cross-compiler.  The hwint.h decision depends upon MAX_LONG_TYPE_SIZE
> > which is the maximum of the runtime selectable values.
> 
> The class of targets for which I consider the patch to be incorrect
> are 32-bit natives for which there is a runtime selectable 64-bit
> variant -- PA, MIPS, and PowerPC.  Sparc is in a different class
> since it controls the presence of Sparc64 code with SPARC_BI_ARCH,
> which is not defined by default for 32-bit natives.
> 
> For other 64-bit targets I do not consider the patch broken, as
> otherwise the cross-compile won't work.

Once Sparc64 will be more common, SPARC_BI_ARCH will be the default in every
compiler, so Sparc will fall into the same category as PA, MIPS and PPC.
What we currently do in the gcc-2.96RH compiler on sparc is a little bit
hackish:
the compiler is either native 64bit -> 32bit/64bit or
native 32bit with HOST_WIDE_INT long long (forced in xm.h) -> 32bit/64bit
(and in the latter case with alternate C and C++ compilers
native 32bit with HOST_WIDE_INT long -> 32bit which get selected by adding
an additional -B prefix in the driver if doing 32bit compilation. So the
user can choose whether he wants to have faster compilations or save some
space and only use the long long compiler).

	Jakub

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