[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ppc64 port

On Tue, 2004-04-27 at 19:09, Benjamin Herrenschmidt wrote:

> Well, the later is not true. 32 bits code tend to run faster than 64 
> bits code on ppc64. Unlike amd64 where you win by having access to more
> registers, on ppc64, you just end up having to use more instructions to
> load a full constant in a register ;)

I don't see why you'd be loading true 64-bit constants.

Common values like 0xffffffffffffffff are taken care of
with sign extension.

You can surely map the executable itself into the low 4 GB.
The stack and heap don't involve constant pointers.

That leaves .bss I suppose, but only a FORTRAN programmer
would insist on 64-bit .bss. I note that the x86-64 compiler
supports multiple models for this reason; the default
model assumes you won't be playing FORTRAN games.

> Overall, we can go the gentoo way, and do a full 64 bits debian
> distribution independant from the 32 bits one,

This is the obviously correct solution. It's simple.
It's forward-thinking.

> or we can simply do like
> other distributions do, and I think it makes some sense, is to have a biarch
> distribution.
> The main lot of packages stays 32 bits. But we need a biarch gcc and the 2
> libcs. Then, for each libxxxx package, we can build both the ppc and the ppc64
> deb and they can be both installed at the same time.
> But the first thing to have is a 64 bits kernel. That we really want. For
> that, we need to be able to build it. So the first thing that need to be done
> is to have a biarch toolchain. gcc 3.4 can be compiled biarch, but doing the
> "initial" biarch build is very difficult. Once you already have the 2 glibcs
> installed, it's simply a matter of rebuilding each bit normally, but if you
> don't, the initial "bootstrap" is a can of worm.
> So somebody should take the time into doing that, producing .deb's that can
> be installed, and once they are installed, it's easy to rebuild & update to
> later versions etc...
> (glibc cannot easily be cross-compiled/bootstraped, this is the root of
> the problem, the glibc maintainer doesn't consider that as an important
> feature).

What a foul mess...

Well, maybe you can tell Craig Small how he is to build
a pair of procps packages. They'll need to have the same
name of course, so that dependencies will be satisfied.
I presume that Debian will insist on using a single build
box for this, forcing 32-bit to be a cross-compile. This
means that the build will somehow need to run twice, once
as a native build and once with some Makefile variables
specified on the command line.

BTW, the needed command will be:
make m64=-m32 lib64=lib ... [other stuff]

Reply to: