ABI defaults

Niels Möller nisse at lysator.liu.se
Tue Nov 23 10:20:57 CET 2010

Torbjorn Granlund <tg at gmplib.org> writes:

> The part of the configure script which selects assembly path also sets
> up ABI stuff, and that part needs to be executed also in the non
> ABI=default case.  We cannot have a if else fi thingy.

I was hoping we can fall down into the case of ABI given explicitly by
the user. But there's at least one difference; for the ABI=default case,
the user may already have specified compiler flags to select an ABI.

By the way, which of

  ./configure ABI=default CC="gcc -m64"


  ./configure ABI=default CFLAGS="-m64"

do you think should be the recommended way to set ABI-selection flags
manually? I imagine it may complicate the code which adds options to
CFLAGS if we insist on supporting both variants. And we may also need a
way for the user to say "Use exactly these flags, don't mess with them";
if explicitly setting CFLAGS should be that way, then the answer to the
above question ought to be CC="gcc -m64".

> Perhaps we should split configure.in into several pieces, allowing us to
> invoke a part from different places?  It is also a very hard-to-read
> file, and splitting it might be a good idea irrespective of the
> ABI=default changes.

For a start, it would be an improvement if we could do the ABI and
compiler selection first, separate from the part of configure which sets
up the assembly paths. But that sounds like close to a rewrite...

I wrote:

>   BTW, do you have a list of which platforms have more choices of ABI than
>   simply 32-bit or 64-bit? A quick look in configure.in turns up:
>   HPPA: 1.0, 2.0n, 2.0w,
>   MIPS64: n32, o32, 64
>   PPC64: Unclear, I see 32, mode32, mode64, aix64, but I'm not sure which
>          can coexist on the same platform.

> These are the ones I am aware of.

Can they be distinguished by looking at the sizes of basic types?


Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.

More information about the gmp-devel mailing list