bb 1.1.0 fais to build fancy sort applet

Rob Landley rob at landley.net
Tue Jan 24 15:55:01 UTC 2006


On Tuesday 24 January 2006 05:05, Peter S. Mazinger wrote:
> On Mon, 23 Jan 2006, Rob Landley wrote:
> > On Monday 23 January 2006 17:02, Peter S. Mazinger wrote:
> > > > > | :sort.c:(.text+0x389): undefined reference to `__isnan'
> > > > > | :sort.c:(.text+0x455): undefined reference to `__isinf'
> > > for some reason glibc has these in libc.so, not libm.so, uClibc in
> > > libm.so
...
> The uClibc libm implementation is basically SunPro version, due to the
> fact, that uClibc provides an option to disable libm completely, it is
> "normal" to have it in libm and not libc.
> dietlibc has these 2 added to libc.
>
> Manuel/Erik?

Glibc and dietlibc do it way one, uClibc differs.  I'm confused by "normal" in 
this context: normal for Sun?

It makes sense to me to have isnan() and isinf() in libc for the same reason I 
don't think you should have to include -libm to get INT_MAX.  (If you disable 
floating point entirely as a #config option then sure it should go away, but 
as long as gcc has float and double as built-in types testing what values 
they have isn't brain surgery.)

The thing is, even if the current version of uClibc is fixed, people will 
still be trying to link against uClibc 0.9.27 and 0.9.28 for a while.  Sounds 
like I either have to add a menuconfig entry ("extra -libm dependency for 
older uClibc versions") or else try to get the build environment to do 
something clever (autoconf is evil).

I think I'll go with the CONFIG option, where I can at least document the 
issue.  We can yank it in 1.2 or so if a new uClibc release has come out with 
isnan() and isinf() in libc...

Rob
-- 
Steve Ballmer: Innovation!  Inigo Montoya: You keep using that word.
I do not think it means what you think it means.



More information about the busybox mailing list