On Thu, 2009-02-26 at 17:02 -0800, David Daney wrote:
> 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...

I'm talking about debian lenny (4.0) here (kernel is from gnewsense):

gcc51:~# uname -a
Linux gcc51 2.6.27.1-libre-medan #1 PREEMPT Thu Feb 12 08:21:37 CST 2009 mips64 
GNU/Linux
gcc51:~# cat /etc/debian_version 
5.0
gcc51:~# dpkg -l|grep libc6
ii  libc6                             2.7-18                     GNU C Library: 
Shared libraries
ii  libc6-dbg                         2.7-18                     GNU C Library: 
Libraries with debugging symb
ii  libc6-dev                         2.7-18                     GNU C Library: 
Development Libraries and Hea
ii  libc6-dev-mips64                  2.7-18                     GNU C Library: 
64bit Development Libraries f
ii  libc6-dev-mipsn32                 2.7-18                     GNU C Library: 
n32 Development Libraries for
ii  libc6-mips64                      2.7-18                     GNU C Library: 
64bit Shared libraries for MI
ii  libc6-mipsn32                     2.7-18                     GNU C Library: 
n32 Shared libraries for MIPS

On the GCC side:

ii  gcc-4.3                           4.3.2-1.1                  The GNU C 
compiler
ii  gcc-4.3-base                      4.3.2-1.1                  The GNU 
Compiler Collection (base package)
ii  gcc-4.3-multilib                  4.3.2-1.1                  The GNU C 
compiler (multilib files)
ii  gcc-multilib                      4:4.3.2-2                  The GNU C 
compiler (multilib files)
ii  lib64gcc1                         1:4.3.2-1.1                GCC support 
library (64bit)
ii  lib64gcc1-dbg                     1:4.3.2-1.1                GCC support 
library (debug symbols)
ii  libgcc1                           1:4.3.2-1.1                GCC support 
library
ii  libn32gcc1                        1:4.3.2-1.1                GCC support 
library (n32)

Laurent

Reply via email to