gpsd-users
[Top][All Lists]
Advanced

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

Re: ublox F9P - rover: no RTK fix with default gpsd ublox initialisation


From: Michael Haberler
Subject: Re: ublox F9P - rover: no RTK fix with default gpsd ublox initialisation
Date: Thu, 13 Oct 2022 00:38:06 +0200

Hi Gary,

you mentioned an issue with floating point arithmetic suggesting a toolchain 
issue:

> Am 12.10.2022 um 03:44 schrieb Gary E. Miller <gem@rellim.com>:
> 
...
> Your tool chain is still broken:
> 
>   gpsd:WARN: __STDC_IEC_599__ is missing
> 
> This is something new with Ubuntu.  Other distros not showing it.
> Breaking IEEE 754/C99 compliance is a bad thing.  Did you run that
> "scons check"?

yes - I even installed a pristine Debian to exclude a past blunder - no change



it seems to me the proper symbol is __STDC_IEC_559__ - try 
https://gcc.gnu.org/git/?p=gcc.git&a=search&h=HEAD&st=grep&s=__STDC_IEC_559__
nothing comes up for 
https://gcc.gnu.org/git/?p=gcc.git&a=search&h=HEAD&st=grep&s=__STDC_IEC_599__


the mixup of __STDC_IEC_559__ and __STDC_IEC_599__ seems to be around for a 
while
see for instance here 
https://stackoverflow.com/questions/20019968/floating-point-output-length-in-bits
 or here:

http://faculty.washington.edu/jstraub/isilon/isilon1/Unit%207.pdf page 55 - the 
macros beginning with '__STDC_IEC_5' differ - 599 vs 559 in the latter, however 
both comments refer to IEC 60559 which suggests '559' is the proper number - 
that difference does not make sense

Rowley cc docs mentions them - wrongly again it seems:  
https://www.rowleydownload.co.uk/msp430/documentation/hcc_preprocessor_symbols.htm


all debian boxes around here give this answer:

$ gcc -x c /dev/null -dM -E|grep __STDC_IEC_5
#define __STDC_IEC_559__ 1
#define __STDC_IEC_559_COMPLEX__ 1


on clang past discussions on support of __STDC_IEC_559__

I tried the Apple clang on MacOS, and Debian clang:amd64/bullseye 
1:11.0-51+nmu5 

both do not define any symbols containing IEC using   clang -x c /dev/null -dM 
-E|grep IEC


got curious and tried the homebrew gpsd port and guess what:

bash-5.1# /opt/homebrew/sbin/gpsd --debug 2
gpsd:WARN: __STDC_IEC_599__ is missing


my guess is - this warning has been around for a while
for gcc it will go away by changing to __STDC_IEC_559__
for clang it likely wont



Michael








reply via email to

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