RFC: Adding minimal amd64/biarch support for sarge
I've been discussing this with various people all week, and since I now have
a working prototype, I would to propose it and see what feedback there is.
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. The new packages are a kernel image and an
amd64-libs package (like the ia32-libs package but more thorough to allow
development). The modified package is gcc-3.4, which provides libgcc1, and
is therefore part of base.
Changes to gcc-3.4:
- Build dependency on amd64-libs on i386-linux only.
- Updated i386-biarch.dpatch applied on i386-linux only.
- Minimal packaging changes to build the 64-bit libraries on i386-linux.
I have the GCC changes completed except for one nit - they don't build on a
32-bit host yet. I expect I can have this finished by midday tomorrow.
Goswin and I have the amd64-libs package ready; it's not a marvel of
packaging beauty, and some additional work will need to be done before a
substantial upgrade to it can be released (messing around with diversions in
the preinst/postinst). But it does work correctly. I believe Goswin is
currently working on the kernel package.
I've verified that libgcc1 is the same after the patches are applied. Two
functions change harmlessly due to internal changes in GCC.
Thoughts on this? If no one objects I will finish the GCC work and ask
Matthias to commit it to the gcc-3.4 repository. I understand that it's
very late to be doing this, but I think the changes to gcc-3.4 are safe
and better than attempting to generate another compiler package.