No subject

Steve Ellcey sje at
Thu May 6 18:41:46 CEST 2010

> My problem is that I cannot find in the GMP sources or in my make output
> or in any generated header file where HAVE_ABI_32 (or any other HAVE_ABI
> value) is being set.  I see where ABI is set by configure:
> Steve Ellcey
> sje at

Following up on my own email, I have discovered that if I configure and build
with CC='gcc -mlp64', I get the right behaviour (ABI set to 64) and 
if I build with CC='cc +DD64', I get the wrong behaviour (ABI set to 32).

I was also pointed at config.m4 where HAVE_ABI_32 (or 64) is set, so I
have workarounds for this problem.  I can build with GCC, modify
config.m4 after the configure, etc. but it would be nice to fix GMP so
that workarounds are not neccessary.

Steve Ellcey
sje at

>From the configure output, with CC='gcc -mlp64'

checking ABI=32
checking compiler /proj/opensrc/be/ia64-hp-hpux11.23/bin/gcc -mlp64 -milp32 -O2 ... no, mpn_lshift_com optimization 2, program does not run
checking ABI=64
checking compiler /proj/opensrc/be/ia64-hp-hpux11.23/bin/gcc -mlp64 -mlp64 -O2 ... yes
checking compiler /proj/opensrc/be/ia64-hp-hpux11.23/bin/gcc -mlp64 -mlp64 -O2  -mtune=itanium2... yes
checking for gcc... /proj/opensrc/be/ia64-hp-hpux11.23/bin/gcc -mlp64
checking for C compiler default output file name... a.out
(lines deleted)
using ABI="64"
      CC="/proj/opensrc/be/ia64-hp-hpux11.23/bin/gcc -mlp64"
      CFLAGS="-mlp64 -O2 -mtune=itanium2"
      MPN_PATH=" ia64/itanium2 ia64 generic"

>From the configure output, with CC='cc +DD64'

checking ABI=32
checking compiler /usr/bin/cc +DD64  ... yes
checking compiler /usr/bin/cc +DD64   has long long... yes
checking compiler /usr/bin/cc +DD64   +O3... yes
(lines deleted)
using ABI="32"
      CC="/usr/bin/cc +DD64"
      CFLAGS=" +O3"
      MPN_PATH=" ia64 generic"

More information about the gmp-discuss mailing list