linux-mips
[Top] [All Lists]

Re: recent binutils and mips64-linux

To: Eric Christopher <echristo@redhat.com>
Subject: Re: recent binutils and mips64-linux
From: Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de>
Date: Fri, 19 Sep 2003 18:41:19 +0200
Cc: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>, Atsushi Nemoto <nemoto@toshiba-tops.co.jp>, Daniel Jacobowitz <dan@debian.org>, linux-mips@linux-mips.org, binutils@sources.redhat.com
In-reply-to: <1063988420.2537.5.camel@ghostwheel.sfbay.redhat.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <Pine.GSO.3.96.1030919144141.9134C-100000@delta.ds2.pg.gda.pl> <1063988420.2537.5.camel@ghostwheel.sfbay.redhat.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.4i
Eric Christopher wrote:
> On Fri, 2003-09-19 at 05:52, Maciej W. Rozycki wrote:
> > On Thu, 18 Sep 2003, Eric Christopher wrote:
> > 
> > > > But mips64 kernel assumes that the kernel itself is compiled with
> > > > "-mabi=64".  For example, some asm routines pass more than 4 arguments
> > > > via aN registers.
> > > 
> > > Yes, but then you aren't abi compliant are you? If you want n64 then say
> > > n64. If you want o32 extended to 64-bit registers then use o64.
> > 
> >  I think "-mabi=64" is OK (I use it for over a year now) and for those
> > worried of every byte of precious memory, "-mabi=n32 -mlong64" might be
> > the right long-term answer (although it might require verifying if tools
> > handle it right).  Given the experimental state of the 64-bit kernel it
> > should be OK to be less forgiving on a requirement for recent tools. 
> 
> OK as in "it works for me", and OK as in "this is the correct usage" are
> two different things. I believe that for a 64-bit kernel either -mabi=64
> or -mabi=n32 (-mlong64) are the right long term answer,

A third answer is to add a -msign-extend-addresses switch in the assembler.
Together with -mabi=64 this would produce optimized ELF64 output.

> part of Daniel's
> problem was that his bootloader couldn't deal with ELF64.

Well, implementing an ELF64 bootloader ins't that hard. :-)


Thiemo

<Prev in Thread] Current Thread [Next in Thread>