Follow-up Comment #2, bug #57071 (project avr-libc): Here is a version without __asm(symbol) that defines a symbol for double only if sizeof(double) == sizeof(float).
* include/math.h (cosf, sinf, tanf, fmodf, modff, sqrtf, cbrtf, hypotf, squaref) (floorf, ceilf, frexpf, ldexpf, expf, coshf, sinhf, tanhf, asinf) (acosf, atanf, atan2f, logf, log10f, powf, isnanf, isinff) (signbitf, fdimf, fmaf, fmaxf, fmin, truncf, roundf, lroundf) (lrintf): Turn from macro to proper prototype. (fabs, fabsf, isfinite, isfinitef, copysign, copysignf): Implement. * libm/fplib/asmdef.h (ALIAS_ENTRY): Remove. (ENTRY_DOUBLE32): New .macro that only defines the symbol if __SIZEOF_DOUBLE__ == __SIZEOF_FLOAT__. * libm/fplib/acos.S: Use correct names for functions that deal with float, e.g. acosf instead of acos. Provide double symbol only if __SIZEOF_DOUBLE__ == __SIZEOF_FLOAT__. * libm/fplib/asin.S: Same. * libm/fplib/atan.S: Same. * libm/fplib/atan2.S: Same. * libm/fplib/cbrt.S: Same. * libm/fplib/ceil.S: Same. * libm/fplib/copysign.S: Same. * libm/fplib/cos.S: Same. * libm/fplib/cosh.S: Same. * libm/fplib/exp.S: Same. * libm/fplib/fdim.S: Same. * libm/fplib/floor.S: Same. * libm/fplib/fma.S: Same. * libm/fplib/fmax.S: Same. * libm/fplib/fmin.S: Same. * libm/fplib/fmod.S: Same. * libm/fplib/fp_arccos.S: Same. * libm/fplib/frexp.S: Same. * libm/fplib/hypot.S: Same. * libm/fplib/isfinite.S: Same. * libm/fplib/isinf.S: Same. * libm/fplib/isnan.S: Same. * libm/fplib/ldexp.S: Same. * libm/fplib/log.S: Same. * libm/fplib/log10.S: Same. * libm/fplib/lrint.S: Same. * libm/fplib/lround.S: Same. * libm/fplib/modf.S: Same. * libm/fplib/pow.S: Same. * libm/fplib/round.S: Same. * libm/fplib/signbit.S: Same. * libm/fplib/sin.S: Same. * libm/fplib/sinh.S: Same. * libm/fplib/sqrt.S: Same. * libm/fplib/square.S: Same. * libm/fplib/tan.S: Same. * libm/fplib/tanh.S: Same. * libm/fplib/trunc.S: Same. (file #47711) _______________________________________________________ Additional Item Attachment: File name: math64-syms.diff Size:52 KB <https://savannah.nongnu.org/file/math64-syms.diff?file_id=47711> _______________________________________________________ Reply to this item at: <https://savannah.nongnu.org/bugs/?57071> _______________________________________________ Message sent via Savannah https://savannah.nongnu.org/ _______________________________________________ AVR-libc-dev mailing list AVR-libc-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/avr-libc-dev