[asterisk-bugs] [Asterisk 0015017]: armv5tel: ast_expr2.c op_func.c implicit declerations

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Sep 15 19:32:25 CDT 2009


The following issue has been UPDATED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15017 
====================================================================== 
Reported By:                tzafrir
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   15017
Category:                   General
Reproducibility:            have not tried
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 191633 
Request Review:              
====================================================================== 
Date Submitted:             2009-05-02 10:15 CDT
Last Modified:              2009-09-15 19:32 CDT
====================================================================== 
Summary:                    armv5tel: ast_expr2.c op_func.c implicit
declerations
Description: 
# uname -a
Linux watt 2.6.30-rc2 https://issues.asterisk.org/view.php?id=3 PREEMPT Fri Apr
24 01:50:30 UTC 2009 armv5tel
GNU/Linux

ast_expr2.y: In function 'op_func':
ast_expr2.y:802: warning: implicit declaration of function 'cosl'
ast_expr2.y:802: warning: incompatible implicit declaration of built-in
function 'cosl'
ast_expr2.y:813: warning: implicit declaration of function 'sinl'
ast_expr2.y:813: warning: incompatible implicit declaration of built-in
function 'sinl'
ast_expr2.y:824: warning: implicit declaration of function 'tanl'
ast_expr2.y:824: warning: incompatible implicit declaration of built-in
function 'tanl'
ast_expr2.y:835: warning: implicit declaration of function 'acosl'
ast_expr2.y:835: warning: incompatible implicit declaration of built-in
function 'acosl'
ast_expr2.y:846: warning: implicit declaration of function 'asinl'
ast_expr2.y:846: warning: incompatible implicit declaration of built-in
function 'asinl'
ast_expr2.y:857: warning: implicit declaration of function 'atanl'
ast_expr2.y:857: warning: incompatible implicit declaration of built-in
function 'atanl'
ast_expr2.y:869: warning: implicit declaration of function 'atan2l'
ast_expr2.y:869: warning: incompatible implicit declaration of built-in
function 'atan2l'
ast_expr2.y:881: warning: implicit declaration of function 'powl'
ast_expr2.y:881: warning: incompatible implicit declaration of built-in
function 'powl'
ast_expr2.y:892: warning: implicit declaration of function 'sqrtl'
ast_expr2.y:892: warning: incompatible implicit declaration of built-in
function 'sqrtl'
ast_expr2.y:903: warning: implicit declaration of function 'floorl'
ast_expr2.y:903: warning: incompatible implicit declaration of built-in
function 'floorl'
ast_expr2.y:914: warning: implicit declaration of function 'ceill'
ast_expr2.y:914: warning: incompatible implicit declaration of built-in
function 'ceill'
ast_expr2.y:925: warning: implicit declaration of function 'roundl'
ast_expr2.y:925: warning: incompatible implicit declaration of built-in
function 'roundl'
ast_expr2.y:936: warning: implicit declaration of function 'rintl'
ast_expr2.y:936: warning: incompatible implicit declaration of built-in
function 'rintl'
ast_expr2.y:947: warning: implicit declaration of function 'truncl'
ast_expr2.y:947: warning: incompatible implicit declaration of built-in
function 'truncl'
ast_expr2.y:958: warning: implicit declaration of function 'expl'
ast_expr2.y:958: warning: incompatible implicit declaration of built-in
function 'expl'
ast_expr2.y:969: warning: implicit declaration of function 'exp2l'
ast_expr2.y:969: warning: incompatible implicit declaration of built-in
function 'exp2l'
ast_expr2.y:980: warning: implicit declaration of function 'exp10l'
ast_expr2.y:980: warning: incompatible implicit declaration of built-in
function 'exp10l'
ast_expr2.y:991: warning: implicit declaration of function 'logl'
ast_expr2.y:991: warning: incompatible implicit declaration of built-in
function 'logl'
ast_expr2.y:1002: warning: implicit declaration of function 'log2l'
ast_expr2.y:1002: warning: incompatible implicit declaration of built-in
function 'log2l'
ast_expr2.y:1013: warning: implicit declaration of function 'log10l'
ast_expr2.y:1013: warning: incompatible implicit declaration of built-in
function 'log10l'
ast_expr2.y: In function 'op_rem':
ast_expr2.y:1526: warning: implicit declaration of function 'fmodl'
ast_expr2.y:1526: warning: incompatible implicit declaration of built-in
function 'fmodl
====================================================================== 

---------------------------------------------------------------------- 
 (0110758) tzafrir (manager) - 2009-09-15 19:32
 https://issues.asterisk.org/view.php?id=15017#c110758 
---------------------------------------------------------------------- 
AC_CHECK_FUNCS is a test that technically checks if the symbol is
available. Not if it is available in any header.

And indeed:

$ cat /tmp/math.c
#include <math.h>

int main() {
        return (int)fmodl(1, 2);
}

# on amd64:
$  gcc -o conftest -g -O2   /tmp/math.c -lm
(works fine)

# On armel:
$ gcc -o conftest -g -O2   /tmp/math.c -lm
/tmp/math.c: In function ‘main’:
/tmp/math.c:4: warning: incompatible implicit declaration of built-in
function ‘fmodl’
(Gives a compile-time warning but links just fine.

fmodl is not available on armel because __NO_LONG_DOUBLE_MATH is set there
(at least in glibc-2.7).

nm shows, however, that the symbol is available libm.so in both systems:

# amd64:
$  nm -D /lib/libm.so.6 | grep log10
0000000000028980 T __clog10
0000000000034350 T __clog10f
000000000003ca10 T __clog10l
0000000000028980 W clog10
0000000000034350 W clog10f
000000000003ca10 W clog10l
00000000000258a0 W log10
00000000000311c0 W log10f
0000000000039b10 W log10l

# armel:
$ nm -D /lib/libm.so.6 | grep log10
00051b08 T __clog10
0005eee4 T __clog10f
00051b08 T __clog10l
00051b08 W clog10
0005eee4 W clog10f
00051b08 W clog10l
0004dae8 W log10
0005bf34 W log10f
0004dae8 W log10l 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-09-15 19:32 tzafrir        Note Added: 0110758                          
2009-09-15 19:32 tzafrir        Status                   closed => new       
2009-09-15 19:32 tzafrir        Resolution               suspended => reopened
======================================================================




More information about the asterisk-bugs mailing list