This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: PATCH: Fix mixing MIPS object files.
On Thu, Nov 07, 2002 at 10:19:02AM -0800, H. J. Lu wrote:
> On Thu, Nov 07, 2002 at 02:43:41PM +0100, Maciej W. Rozycki wrote:
> > On Wed, 6 Nov 2002, H. J. Lu wrote:
> >
> > > > - The main reason for varying EF_MIPS_ARCH for a given EF_MIPS_MACH
> > > > seems to be to say that a binary contains 32-bit code. There are
> > > > other flags for that.
> > >
> > > Linux 32bit MIPS kernel won't load any MIPS binaries marked MIPS III
> > > or above.
> >
> > It will. While MIPS III doesn't add anything useful for the 32-bit mode,
> > MIPS IV does. The kernel actually doesn't care of the ISA -- it checks
> > the ABI to run o32 executables only..
> >
>
> Now the question is
>
> # mipsel-linux-as -mips[3|4|5|64]
> # mipsel-linux-as -march=xxx
> # mipsel-linux-gcc -mips[3|4|5|64]
> # mipsel-linux-gcc -march=xxx
>
> will ever use 64bit registers. I hope they won't. If it is the case,
> I have no problems to ignore EF_MIPS_ARCH when EF_MIPS_MACH is not
> zero.
Well, I noticed earlier today that at least "mipsel-linux-gcc -mips3"
will refuse to use 64-bit registers unless you give it -mgp64.
MASK_64BIT doesn't get set. So that one is clear, and I believe so is
gcc -march=xxx.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer