Bug#1023692: gcc-arm-linux-gnueabihf: Compiling anything with <math.h> fails: error: '_Float128' is not supported on this target
Control: tags -1 + unreproducible
On Tue, Nov 08, 2022 at 11:20:33AM -0800, Dima Kogan wrote:
> Package: gcc-arm-linux-gnueabihf
> Version: 4:12.2.0-1
> Severity: important
> X-Debbugs-Cc: none, Dima Kogan <dkogan@debian.org>
>
> Hi. I have a "tst.c" which has just one line:
>
> #include <math.h>
>
> Cross-compiling it doesn't work:
>
> $ arm-linux-gnueabihf-gcc-12 -c -o tst.o tst.c
>
> In file included from tst.c:1:
> /usr/include/bits/mathcalls-helper-functions.h:20:40: error: '_Float128' is not supported on this target
> 20 | __MATHDECL_ALIAS (int, __fpclassify,, (_Mdouble_ __value), fpclassify)
> | ^~~~~~~~~
> /usr/include/bits/mathcalls-helper-functions.h:24:37: error: '_Float128' is not supported on this target
> 24 | __MATHDECL_ALIAS (int, __signbit,, (_Mdouble_ __value), signbit)
> | ^~~~~~~~~
> /usr/include/bits/mathcalls-helper-functions.h:29:35: error: '_Float128' is not supported on this target
> 29 | __MATHDECL_ALIAS (int, __isinf,, (_Mdouble_ __value), isinf)
> | ^~~~~~~~~
> /usr/include/bits/mathcalls-helper-functions.h:33:36: error: '_Float128' is not supported on this target
> 33 | __MATHDECL_ALIAS (int, __finite,, (_Mdouble_ __value), finite)
> | ^~~~~~~~~
> /usr/include/bits/mathcalls-helper-functions.h:37:35: error: '_Float128' is not supported on this target
> 37 | __MATHDECL_ALIAS (int, __isnan,, (_Mdouble_ __value), isnan)
> | ^~~~~~~~~
> /usr/include/bits/mathcalls-helper-functions.h:41:37: error: '_Float128' is not supported on this target
> 41 | __MATHDECL_ALIAS (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y), iseqsig);
> | ^~~~~~~~~
> /usr/include/bits/mathcalls-helper-functions.h:41:52: error: '_Float128' is not supported on this target
> 41 | __MATHDECL_ALIAS (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y), iseqsig);
> | ^~~~~~~~~
> /usr/include/bits/mathcalls-helper-functions.h:44:41: error: '_Float128' is not supported on this target
> 44 | __MATHDECL_ALIAS (int, __issignaling,, (_Mdouble_ __value), issignaling)
> | ^~~~~~~~~
>
> This should work.
No, this is totally broken. No package in Debian ships anything in
/usr/include/bits/. If you have anything there, your system is broken
rather than Debian.
If you use a clean chroot, you shall see that this works.
The interesting question now is where those files came from.
Helmut
Reply to: