Subject: Re: MACHINE_ARCH on mips
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Todd Vierling <tv@pobox.com>
List: tech-toolchain
Date: 07/25/1998 15:19:06
On Sat, 25 Jul 1998, Jonathan Stone wrote:

: I don't think I understand this.  My take is that if you configre a
: NetBSD cross-compiler for mips, it MUST be able to produce either
: mipsel or mipseb code. (because that's what the native mips toolchains do.)

Okay.  I didn't dispute that.  I've said before that several other platforms
have multiple bfd targets (and, after working with Eduardo on sparc64, the
kernel build will probably use a flag to use the ELF output).  Of course,
mips has two bfd targets for a reason:  the binary formats of big and little
endian binaries aren't the same.

: You then select one or the other by specifying a mips endian-ness flag
: on the command line.

How do we specify the _default_ for a given platform?  How does pmake know
what that default is?

And, this is the cross compile predicament:  how does a Makefile know,
_without_ running native system code or requiring the user to specify a
"magical endianness default flag," which system it's building for as
default?  If both MACHINE_ARCHes are `mips', there's a lot of ambiguity.

: Does changing ${MACHINE_ARCH} fix this? No. At least I dont see how.

It fixes this very simply, by having a unique identifier for big and little
endian.

-- 
-- Todd Vierling (Personal tv@pobox.com; Bus. todd_vierling@xn.xerox.com)