Re: [PATCH v4 3/7] mips: rename macros and files from '64' to 'n64'

From: Paul Burton
Date: Mon Dec 10 2018 - 18:46:34 EST


Hi Maciej,

On Mon, Dec 10, 2018 at 11:32:46PM +0000, Maciej W. Rozycki wrote:
> On Mon, 10 Dec 2018, Paul Burton wrote:
>
> > And I realise that undoing that but keeping n64 in our own filenames &
> > macros is another type of inconsistency, but something imperfect is
> > unavoidable at this point given that the engineers way back when decided
> > to use "ABI64" for n64.
>
> My feeling has been n32 was invented at SGI as an afterthought, hence the
> choice of having ABI32 or ABI64 defined for the 32-bit (now o32) and the
> 64-bit (now n64) ABI respectively was reasonable.

I'd agree if _MIPS_SIM were defined as _ABI32 for o32, but:

$ mips-linux-gcc -mabi=32 -dM -E - </dev/null | grep ABIO32
#define _ABIO32 1
#define _MIPS_SIM _ABIO32

...so _MIPS_SIM is:

_ABIO32 for o32
_ABIN32 for n32
_ABI64 for n64

That doesn't seem very consistent to me, and means that there inevitably
has to be some ugliness once there are multiple 64-bit ABIs.

To me it feels like the result of someone thinking "one 64-bit MIPS ABI
ought to be enough for anybody". I'm undecided whether that person was
shortsighted or a genius whose vision was simply incomprehensible to
those of us that followed.

Thanks,
Paul