Check fails on cygwin, gcc 4.2.1

Oliver Jennrich oliver.jennrich at esa.int
Fri Aug 17 10:28:10 CEST 2007


Michael Abshoff <Michael.Abshoff at fsmath.mathematik.uni-dortmund.de>
writes:

> Oliver Jennrich wrote:
>>
>
> Hello Oliver
>
> Just to be clear: the gmp version is 4.2.1, not 4.1.1, so my suggestion to
> try the current release is moot. The gcc you used is gcc 4.1.1 and your
> Cygwin install is roughly 7 months old. Could you try with current Cygwin?

It is not quite clear what you mean with a current cygwin.  2007-01-31
is the date of the most recent cygwin.dll, and this, I'm afraid, the
most recent available.

gcc of course is *not* the actual cygwin compiler, as this is still on
3.4.4.

Anyway, I tried to find the source of the problem and it seems that

int memcmp(const void *S1, const void *S2, size_t N);

returns a '1' even if N=0, which should not happen.

The problem goes away, however, if I turn down the level of
optimization, i.e. calling gcc with -O3 reproduces the problem,
calling it with -O2 shows no problem at all, so I assume a problem
with loop unrolling.

So it seems to be a bug (or at least a very odd behaviour) of gcc, so
I will report it there...


-- 
Oliver Jennrich                                    Tel:  +31-71-565-6074
LISA Project Scientist                            
ESA/ESTEC, Keplerlaan 1, Postbus 299, 2200 AG Noordwijk, The Netherlands


More information about the gmp-bugs mailing list