gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: v2.53 cat-ms352 regression test fails on x86 platform


From: Nathan Angelacos
Subject: Re: v2.53 cat-ms352 regression test fails on x86 platform
Date: Wed, 08 Feb 2023 15:36:35 -0500
User-agent: Evolution 3.46.3

On Mon, 2023-02-06 at 18:23 -0800, Gary E. Miller wrote:

> Classic rounding error.  A bug in your C compiler, or how it is
called.

Agreed.

> 
> C99 and higher, specify IEEE 754 math.  IEEE 754 math specifies very
> exact rounding rules.  So IEEE 754 is exactly the same on all
architectures,
> compilers and libraries.
> 
> Except when the distro gets lazy.
> 
> You did not mention much of your toolchain, but that is where the
> problem lies.

I added that to my reply to Fred, but Alpine Linux 3.17 with kvm (qemu)
emulated i586.

musl libc; gcc version 12.2.1 20220924 (Alpine 12.2.1_git20220924-r8)

> 
> I'll bet if you run gpsd with the -D4 logging you get a message like
> this one:
> 
>     gpsd: WARN: __STDC_IEC_559__ is 0, s/b 1
> 
> Or worse:
> 
>     gpsd: WARN: __STDC_IEC_559__ is missing.

Nope. But I get 

gpsd:WARN: FLT_EVAL_METHOD is 2, s/b 0

On x86_64, FLT_EVAL_METHOD is 0. 

Thanks for the pointer! So far I haven't been able to coax gcc to set
FLT_EVAL_METHOD to 0 on a i586. The best thing I saw on a forum was
"nobody cares about x86 anymore."  I tend to agree. 

Thanks to both you and Fred for your replies.  I don't expect anything
to be done (well, you can't!) about it.  At this point just reporting
for the archives.  For the x86 users of the distro, we will disable the
cat-ms532 test, and they can get whatever rounded numbers they want.


Thanks again!
Nathan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]