[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