glibc 2.31 build error conflicting types for built-in function 'modfl'

Chris Packham Chris.Packham@alliedtelesis.co.nz
Thu Aug 27 07:51:30 GMT 2020


Hi,

I'm not sure if this is a issue or glibc or a gcc issue (or operator error).

We're in the process of adding gcc 10.2.0 to crosstool-ng but the 
arm-unknown-linux-gnueabi configuration is failing with

[ALL  ]      In file included from <command-line>:
[ERROR]      ../sysdeps/ieee754/dbl-64/s_modf.c:84:28: error: 
conflicting types for built-in function 'modfl'; expected 'long 
double(long double,  long double *)' [-Werror=builtin-declaration-mismatch]
[ALL  ]         84 | libm_alias_double (__modf, modf)
[ALL  ]            |                            ^~~~
[ALL  ]      ./../include/libc-symbols.h:152:26: note: in definition of 
macro '_weak_alias'
[ALL  ]        152 |   extern __typeof (name) aliasname __attribute__ 
((weak, alias (#name))) |                          ^~~~~~~~~
[ALL  ]      ../sysdeps/generic/libm-alias-double.h:61:3: note: in 
expansion of macro 'weak_alias'
[ALL  ]         61 |   weak_alias (from ## r, to ## l ## r);        |   
^~~~~~~~~~
[ALL  ]      ../sysdeps/generic/libm-alias-double.h:70:37: note: in 
expansion of macro 'libm_alias_double_r'
[ALL  ]         70 | #define libm_alias_double(from, to) 
libm_alias_double_r (from, to, )
[ALL  ]            | ^~~~~~~~~~~~~~~~~~~
[ALL  ]      ../sysdeps/ieee754/dbl-64/s_modf.c:84:1: note: in expansion 
of macro 'libm_alias_double'
[ALL  ]         84 | libm_alias_double (__modf, modf)
[ALL  ]            | ^~~~~~~~~~~~~~~~~
[ALL  ]      ../sysdeps/ieee754/dbl-64/s_modf.c:25:1: note: 'modfl' is 
declared in header '<math.h>'
[ALL  ]         24 | #include <libm-alias-double.h>
[ALL  ]        +++ |+#include <math.h>
[ALL  ]         25 |
[ALL  ]      cc1: all warnings being treated as errors

the same libc builds fine under gcc-9.2.0.

Does this look familiar to anyone?


More information about the Libc-help mailing list