nm test.o: (g++, cmath, exp, expf)

John Reiser vendor@BitWagon.com
Sun Sep 29 14:12:00 GMT 2013

> So, I'm not sure where the C++ exp(float) versus exp(double)  are identified?

The math library and the linker know; see below.  Blame the compiler;
perhaps it is doing silently  exp(f)  ==>  (float) exp( (double)f ) .

$ nm /usr/lib/libm.so  |  grep exp
4b8d3ca0 t __GI___exp     ### double arg and result
4b8dac80 t __GI___expf    ### float  arg and result
4b8e21d0 t __GI___expl    ### ???
4b8e1950 t __GI___expm1l  ### ???
4b8d4f60 t __cexp
4b8dbdc0 t __cexpf
4b8e3540 t __cexpl
4b8d3ca0 t __exp
4b8d3da0 t __exp10
4b8d7100 T __exp10_finite
4b8dad80 t __exp10f
4b8ddcb0 T __exp10f_finite
4b8e22f0 t __exp10l
4b8e5b40 T __exp10l_finite
4b8d3d20 t __exp2
4b8d4d10 T __exp2_finite
4b8dad00 t __exp2f
4b8dbbb0 T __exp2f_finite
4b8e2260 t __exp2l
4b8e32a0 T __exp2l_finite
4b8d0650 T __exp_finite
4b8dac80 t __expf
4b8d77e0 T __expf_finite
4b8e21d0 T __expl
4b8de570 T __expl_finite
4b8d3370 t __expm1
4b8da430 t __expm1f
4b8e1950 T __expm1l
4b8d73d0 t __frexp
4b8ddef0 t __frexpf
4b8e5f00 t __frexpl
4b8d0610 t __ieee754_exp
4b8d7100 t __ieee754_exp10
4b8ddcb0 t __ieee754_exp10f
4b8e5b40 t __ieee754_exp10l
4b8d4d10 t __ieee754_exp2
4b8dbbb0 t __ieee754_exp2f
4b8e32a0 t __ieee754_exp2l
4b8d77a0 t __ieee754_expf
4b8de570 t __ieee754_expl
4b8d7450 t __ldexp
4b8ddf60 t __ldexpf
4b8ddf60 t __ldexpf_internal
4b8e5f80 t __ldexpl
4b8d4f60 W cexp
4b8dbdc0 W cexpf
4b8e3540 W cexpl
4b8d3ca0 W exp
4b8d3da0 W exp10
4b8dad80 W exp10f
4b8e22f0 W exp10l
4b8d3d20 W exp2
4b8dad00 W exp2f
4b8e2260 W exp2l
4b8dac80 W expf
4b8e21d0 W expl
4b8d3370 W expm1
4b8da430 W expm1f
4b8e1950 W expm1l
4b8d73d0 W frexp
4b8ddef0 W frexpf
4b8e5f00 W frexpl
4b8d7450 W ldexp
4b8ddf60 W ldexpf
4b8e5f80 W ldexpl

More information about the Binutils mailing list