[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-libc-dev] [bug #57071] Fix math.h and function names that block 64-

From: Georg-Johann Lay
Subject: [avr-libc-dev] [bug #57071] Fix math.h and function names that block 64-bit double
Date: Fri, 18 Oct 2019 09:54:49 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0

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


Reply to this item at:


  Message sent via Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]