[Box Backup] LLONG_MAX configure mistake with gcc 4.1.1 (Linux)

Martin Ebourne boxbackup at fluffy.co.uk
Thu Jun 15 23:06:09 BST 2006


On Thu, 2006-06-15 at 21:00 +0100, Stuart Hickinbottom wrote:
> I've done some more investigation and I believe GCC 4.1 is applying
> optimisations (whether or not you pass -O<anything>) that cause the
> sanity check of the determined/compiler-supplied LLONG_MIN/LLONG_MAX to
> always fail.

I'm using FC5, gcc 4.1.1, x86_64. The test program fails here too. Quite
scary actually. The gcc compiler aborts(!) but g++ compiles it. If I
compile to assembler then two of the four "sanity fail" strings don't
even appear in the output, this with optimisation off! I only really do
sparc, arm, and m68k programming so I don't really know what's going on
in the assembler code and can't really be bothered to try and figure it
out.

But Box configures and compiles ok:

>From configure:
checking whether LLONG_MAX is declared... yes

>From config.log:
configure:12009: checking whether LLONG_MAX is declared
configure:12034: g++ -c -g -O2   conftest.cc >&5
configure:12040: $? = 0
configure:12044: test -z 
                 || test ! -s conftest.err
configure:12047: $? = 0
configure:12050: test -s conftest.o
configure:12053: $? = 0
configure:12064: result: yes

Note that it's not running the program, it's finding the definitions in
limits.h. How come they're missing on your system?

Seems gcc is reassuringly broken though.

Cheers,

Martin.




More information about the Boxbackup mailing list