Peter Naulls wrote:
(ffmpeg)
/usr/src/gccsdk/build/ffmpeg/trunk/libavcodec/libavcodec.a(opt.o): In
function `av_set_string3':
libavcodec/opt.c:162: undefined reference to `__isnan'
/usr/src/gccsdk/build/ffmpeg/trunk/libavcodec/libavcodec.a(aaccoder.o):
In function `search_for_quantizers_anmr':
libavcodec/aaccoder.c:558: undefined reference to `__isinff'
libavcodec/aaccoder.c:568: undefined reference to `__isinff'
libavcodec/aaccoder.c:542: undefined reference to `__isinff'
libavcodec/aaccoder.c:542: undefined reference to `__isinff'
libavcodec/aaccoder.c:568: undefined reference to `__isinff'
/usr/src/gccsdk/build/ffmpeg/trunk/libavcodec/libavcodec.a(ratecontrol.o):
In function `get_qscale':
libavcodec/ratecontrol.c:342: undefined reference to `__isnan'
/usr/src/gccsdk/build/ffmpeg/trunk/libavcodec/libavcodec.a(nellymoserenc.o):
In function `get_exponent_dynamic':
libavcodec/nellymoserenc.c:234: undefined reference to `__isinff'
So the problem here is to do with symbol visibility. e.g: in s_isinf:
#include "math.h"
#include "math_private.h"
int
__isinf (double x)
{
int32_t hx,lx;
EXTRACT_WORDS(hx,lx,x);
lx |= (hx & 0x7fffffff) ^ 0x7ff00000;
lx |= -lx;
return ~(lx >> 31) & (hx >> 30);
}
hidden_def (__isinf)
weak_alias (__isinf, isinf)
#ifdef NO_LONG_DOUBLE
strong_alias (__isinf, __isinfl)
weak_alias (__isinf, isinfl)
#endif
This is only done in a few of the math files, and I see the SVN comment
from 2006. I suspect, and John will have to confirm, that this is no
longer correct. I will change it locally and see if it helpss
_______________________________________________
GCCSDK mailing list [email protected]
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK