Re: RFC: Adding minimal amd64/biarch support for sarge
Peter Cordes <firstname.lastname@example.org> writes:
> On Wed, Aug 04, 2004 at 05:42:30PM -0400, Daniel Jacobowitz wrote:
>> First, what I'm suggesting: two new packages for sarge and one modified
>> package. They would allow 64-bit applications using a small set of standard
>> libraries to run on an otherwise i386 installation, and allow 64-bit
>> applications to be built.
> I would love that. I admin some bioinformatics clusters, and some
> phylogenetics (tree-of-life reconstruction) programs use tree data
> structures full of pointers that, with gcc-3.3, are faster in 32bit mode
> than 64bit mode. (It would really kick ass if AMD64 had a mode with the
> extra registers, but 32bit pointers. Then pointer-heavy data structures
> would be faster.) Anyway, being able to easily compile in 32 or 64bit and
> benchmark would be very useful. Also, I wouldn't have to statically link
> 64bit binaries that are faster in 64bit mode, and users wouldn't have to
> deal with the chroot. (not that it's much trouble with dchroot :)
It won't use the extra registers in 32bit mode. It would be
theoretically possible to build for 64bit (with extra registers) but
32bit pointers [The Tru64 cc can do that on alpha] but it would
require extending the pointers to 64bit on every use and would
probably void all the speedup.
One thing you could do with gcc to emulate this is to use an array
index instead of a pointer. For problems where 4GB is just not enough
(so you need 64bit) and 64bit waste too much ram this can help a
lot. But you buy ram for some extra instructions.
> So, for me (and my ~dozen users) at least, this really would be useful. If
> you can't get it into sarge, I don't mind tracking unstable for some
> packages on the cluster (it's not quite what some would call a "production"
> system). It would rock to have it in sarge :)
The progress looks good. I have made an amd64-libs package with some
patches from Daniel Jacobowitz and he has made a gcc-3.4 package. Now
if I get thekernel-image-amd64 build and all of them through new in
time you have the 32/64 bit support.