Laurent GUERBY wrote:
On Thu, 2009-02-26 at 21:04 +0000, Richard Sandiford wrote:
Laurent GUERBY <laur...@guerby.net> writes:
I was wondering why mips64*-*-linux does not have the same
handling of multiarch as powerpc/sparc/x86 in gcc/config.gcc:
32 bits compiler binaries with 32/64 target choice via "-m", --with-cpu
and --enable-targets support for configure. Is there any specific reason
for this?
If reason is "just not done", what model should we follow - copy/paste
from? Patch or patch sketch welcomed, we have mips64 machines to play
with in the GCC Compile farm :).
I don't think there's much reason to use a 32-bit compiler binary.
-mabi=n32 is designed to be an ILP32 ABI that is _mostly_ type-compatible
with -mabi=32, but with the ability to use 64-bit registers. And using
64-bit registers is fairly important for gcc, because we require 64-bit
HOST_WIDE_INTs.
When I did some performance measurements a few years back -- probably
on a VR413x -- n32 did give a noticeable improvement over o32.
Thanks for your detailed response.
From what I understand on those box debian and mandriva both
compiled all userspace with -mabi=32 but the kernel is 64. Debian
provides libs for abi=32 (default), n32 and 64 and the -mabi=32 compiled
GCC (4.3.x) supports generating code for the three ABI through various
debian patches. May be Matthias can tell us more about this choice
(I guess this is about compatibility for purely 32 bits mips) and future
debian plans.
I think standard Debian only supplies o32 (abi=32) libraries. I had to
cross-compile glibc et. al before I could do a native multilib mips64
build of stock GCC. But maybe I was doing something wrong...
David Daney