This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: recent binutils and mips64-linux
- From: Thiemo Seufer <ica2_ts at csv dot ica dot uni-stuttgart dot de>
- To: Eric Christopher <echristo at redhat dot com>
- Cc: "Maciej W. Rozycki" <macro at ds2 dot pg dot gda dot pl>,Atsushi Nemoto <nemoto at toshiba-tops dot co dot jp>,Daniel Jacobowitz <dan at debian dot org>, linux-mips at linux-mips dot org,binutils at sources dot redhat dot com
- Date: Fri, 19 Sep 2003 18:41:19 +0200
- Subject: Re: recent binutils and mips64-linux
- References: <Pine.GSO.3.96.1030919144141.9134C-100000@delta.ds2.pg.gda.pl> <1063988420.2537.5.camel@ghostwheel.sfbay.redhat.com>
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