Broken long double in 980406 bootstrap on x86 linux.

grahams@rcp.co.uk grahams@rcp.co.uk
Tue Apr 7 17:08:00 GMT 1998


Hi

With the egcs-980406 snapshot bootstraping with

"-O6 -march=pentiumpro -mcpu=pentiumpro"

on x86 Linux breaks "long double" literals.

The bootstrap itself goes to completion without any
compare failures or other obvious errors.

When I tried to use the bootstrapped compiler to
compile glibc-2.0.6 it failed because LDBL_MANT_DIG
was incorrect.

I examined the gcc/include/float.h generated by enquire
and found that the "long double" defines were wrong
(ie LDBL_MANT_DIG defined to be 1 it should be 64).

Checking each enquire execuatble built during each stage of
the bootstrap. I found that the enquire in  stage1 did generate
the correct float.h when executed (enquire -vf) but the other
enquires built during stage2 and stage3 did not generate
the correct float.h.

Inital investigate indicates its the conversion of literals associated
with "long doubles" into internal format.

I've done a seperate bootstrap using "-O6 -march=pentium -mcpu=pentium"
and everthing is ok.

Anybody else getting the same problem?

Graham




More information about the Gcc-bugs mailing list