softmath: Add log2
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index a032809..29f894b 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -222,7 +222,7 @@
   math/_chgsignl.S      math/ceil.S        math/ceilf.S          math/ceill.S         math/copysignl.S     math/cosl_internal.S \
   math/exp2l.S          math/floor.S       math/floorf.S         math/floorl.S        \
   math/fma.S            math/fmaf.S        math/frexpl.S         math/ilogb.S         math/ilogbl.S        \
-  math/internal_logl.S  math/log10l.S      math/log1p.S          math/log1pl.S        math/log2.S          \
+  math/internal_logl.S  math/log10l.S      math/log1p.S          math/log1pl.S        \
   math/log2l.S          math/nearbyint.S   math/nearbyintf.S     math/nearbyintl.S    math/remainder.S     \
   math/remainderf.S     math/remainderl.S  math/remquo.S         math/remquof.S       math/remquol.S       math/scalbn.S        \
   math/scalbnl.S        math/sinl_internal.S  math/tanl.S        math/trunc.S         math/truncf.S        \
@@ -298,16 +298,16 @@
   math/acosf.c              math/acosh.c              math/acoshf.c             math/asinf.c              math/asinh.c              \
   math/asinhf.c             math/atan2f.c             math/atanf.c              math/atanh.c              math/atanhf.c             \
   math/cosf.c               math/exp.c                math/exp2.S               math/exp2f.S              math/expm1.c              \
-  math/expm1f.c             math/fmodf.c              math/ilogbf.S             math/log1pf.S             math/log2f.S              \
-  math/logbf.c              math/scalbnf.S            math/sinf.c               math/tanf.c
+  math/expm1f.c             math/fmodf.c              math/ilogbf.S             math/log1pf.S             math/log2.S               \
+  math/log2f.S              math/logbf.c              math/scalbnf.S            math/sinf.c               math/tanf.c
 
 # these only go into the 32 bit version:
 src_libmingwex32=\
   math/acosf.c              math/acosh.c              math/acoshf.c             math/asinf.c              math/asinh.c              \
   math/asinhf.c             math/atan2f.c             math/atanf.c              math/atanh.c              math/atanhf.c             \
   math/cosf.c               math/exp.c                math/exp2.S               math/exp2f.S              math/expm1.c              \
-  math/expm1f.c             math/fmodf.c              math/ilogbf.S             math/log1pf.S             math/log2f.S              \
-  math/logbf.c              math/scalbnf.S            math/sinf.c               math/tanf.c
+  math/expm1f.c             math/fmodf.c              math/ilogbf.S             math/log1pf.S             math/log2.S               \
+  math/log2f.S              math/logbf.c              math/scalbnf.S            math/sinf.c               math/tanf.c
 
 # these only go into the ARM32 version:
 src_libmingwexarm32=\
@@ -315,8 +315,8 @@
   math/softmath/acosf.c     math/softmath/acosh.c     math/softmath/acoshf.c    math/softmath/asinf.c     math/softmath/asinh.c     \
   math/softmath/asinhf.c    math/softmath/atan2f.c    math/softmath/atanf.c     math/softmath/atanh.c     math/softmath/atanhf.c    \
   math/softmath/cosf.c      math/softmath/exp.c       math/softmath/exp2.c      math/softmath/exp2f.c     math/softmath/expm1.c     \
-  math/softmath/expm1f.c    math/softmath/fmodf.c     math/softmath/ilogbf.c    math/softmath/log1pf.c    math/softmath/log2f.c     \
-  math/softmath/logbf.c     math/softmath/scalbnf.c   math/softmath/sinf.c      math/softmath/tanf.c
+  math/softmath/expm1f.c    math/softmath/fmodf.c     math/softmath/ilogbf.c    math/softmath/log1pf.c    math/softmath/log2.c      \
+  math/softmath/log2f.c     math/softmath/logbf.c     math/softmath/scalbnf.c   math/softmath/sinf.c      math/softmath/tanf.c
 
 
 # These intrinsics are target independent:
diff --git a/mingw-w64-crt/Makefile.in b/mingw-w64-crt/Makefile.in
index 68a1da2..e0e8ca7 100644
--- a/mingw-w64-crt/Makefile.in
+++ b/mingw-w64-crt/Makefile.in
@@ -575,31 +575,30 @@
 	math/exp2l.S math/floor.S math/floorf.S math/floorl.S \
 	math/fma.S math/fmaf.S math/frexpl.S math/ilogb.S \
 	math/ilogbl.S math/internal_logl.S math/log10l.S math/log1p.S \
-	math/log1pl.S math/log2.S math/log2l.S math/nearbyint.S \
-	math/nearbyintf.S math/nearbyintl.S math/remainder.S \
-	math/remainderf.S math/remainderl.S math/remquo.S \
-	math/remquof.S math/remquol.S math/scalbn.S math/scalbnl.S \
-	math/sinl_internal.S math/tanl.S math/trunc.S math/truncf.S \
-	math/acoshl.c math/acosl.c math/asinhl.c math/asinl.c \
-	math/atan2l.c math/atanhl.c math/atanl.c math/cbrt.c \
-	math/cbrtf.c math/cbrtl.c math/cephes_emath.c math/copysign.c \
-	math/copysignf.c math/cos.c math/coshf.c math/coshl.c \
-	math/cosl.c math/cossin.c math/erfl.c math/expf.c math/expl.c \
-	math/expm1l.c math/fabs.c math/fabsf.c math/fabsl.c \
-	math/fdim.c math/fdimf.c math/fdiml.c math/fmal.c math/fmax.c \
-	math/fmaxf.c math/fmaxl.c math/fmin.c math/fminf.c \
-	math/fminl.c math/fmod.c math/fmodl.c math/fp_consts.c \
-	math/fp_constsf.c math/fp_constsl.c math/fpclassify.c \
-	math/fpclassifyf.c math/fpclassifyl.c math/frexpf.c \
-	math/fucom.c math/hypotf.c math/hypotl.c math/isnan.c \
-	math/isnanf.c math/isnanl.c math/ldexp.c math/ldexpf.c \
-	math/ldexpl.c math/lgamma.c math/lgammaf.c math/lgammal.c \
-	math/llrint.c math/signgam.c math/llrintf.c math/llrintl.c \
-	math/llround.c math/llroundf.c math/llroundl.c math/log.c \
-	math/log10f.c math/logb.c math/logbl.c math/logf.c math/logl.c \
-	math/lrint.c math/lrintf.c math/lrintl.c math/lround.c \
-	math/lroundf.c math/lroundl.c math/modf.c math/modff.c \
-	math/modfl.c math/nextafterf.c math/nextafterl.c \
+	math/log1pl.S math/log2l.S math/nearbyint.S math/nearbyintf.S \
+	math/nearbyintl.S math/remainder.S math/remainderf.S \
+	math/remainderl.S math/remquo.S math/remquof.S math/remquol.S \
+	math/scalbn.S math/scalbnl.S math/sinl_internal.S math/tanl.S \
+	math/trunc.S math/truncf.S math/acoshl.c math/acosl.c \
+	math/asinhl.c math/asinl.c math/atan2l.c math/atanhl.c \
+	math/atanl.c math/cbrt.c math/cbrtf.c math/cbrtl.c \
+	math/cephes_emath.c math/copysign.c math/copysignf.c \
+	math/cos.c math/coshf.c math/coshl.c math/cosl.c math/cossin.c \
+	math/erfl.c math/expf.c math/expl.c math/expm1l.c math/fabs.c \
+	math/fabsf.c math/fabsl.c math/fdim.c math/fdimf.c \
+	math/fdiml.c math/fmal.c math/fmax.c math/fmaxf.c math/fmaxl.c \
+	math/fmin.c math/fminf.c math/fminl.c math/fmod.c math/fmodl.c \
+	math/fp_consts.c math/fp_constsf.c math/fp_constsl.c \
+	math/fpclassify.c math/fpclassifyf.c math/fpclassifyl.c \
+	math/frexpf.c math/fucom.c math/hypotf.c math/hypotl.c \
+	math/isnan.c math/isnanf.c math/isnanl.c math/ldexp.c \
+	math/ldexpf.c math/ldexpl.c math/lgamma.c math/lgammaf.c \
+	math/lgammal.c math/llrint.c math/signgam.c math/llrintf.c \
+	math/llrintl.c math/llround.c math/llroundf.c math/llroundl.c \
+	math/log.c math/log10f.c math/logb.c math/logbl.c math/logf.c \
+	math/logl.c math/lrint.c math/lrintf.c math/lrintl.c \
+	math/lround.c math/lroundf.c math/lroundl.c math/modf.c \
+	math/modff.c math/modfl.c math/nextafterf.c math/nextafterl.c \
 	math/nexttoward.c math/nexttowardf.c math/pow.c math/powf.c \
 	math/powi.c math/powif.c math/powil.c math/powl.c math/rint.c \
 	math/rintf.c math/rintl.c math/round.c math/roundf.c \
@@ -673,8 +672,8 @@
 	math/atan2f.c math/atanf.c math/atanh.c math/atanhf.c \
 	math/cosf.c math/exp.c math/exp2.S math/exp2f.S math/expm1.c \
 	math/expm1f.c math/fmodf.c math/ilogbf.S math/log1pf.S \
-	math/log2f.S math/logbf.c math/scalbnf.S math/sinf.c \
-	math/tanf.c math/DFP/__fpclassifyd32.c \
+	math/log2.S math/log2f.S math/logbf.c math/scalbnf.S \
+	math/sinf.c math/tanf.c math/DFP/__fpclassifyd32.c \
 	math/DFP/__fpclassifyd64.c math/DFP/__fpclassifyd128.c \
 	math/DFP/__isnand32.c math/DFP/__isnand64.c \
 	math/DFP/__isnand128.c math/DFP/__signbitd32.c \
@@ -770,7 +769,6 @@
 	math/lib32_libmingwex_a-log10l.$(OBJEXT) \
 	math/lib32_libmingwex_a-log1p.$(OBJEXT) \
 	math/lib32_libmingwex_a-log1pl.$(OBJEXT) \
-	math/lib32_libmingwex_a-log2.$(OBJEXT) \
 	math/lib32_libmingwex_a-log2l.$(OBJEXT) \
 	math/lib32_libmingwex_a-nearbyint.$(OBJEXT) \
 	math/lib32_libmingwex_a-nearbyintf.$(OBJEXT) \
@@ -1086,6 +1084,7 @@
 	math/lib32_libmingwex_a-fmodf.$(OBJEXT) \
 	math/lib32_libmingwex_a-ilogbf.$(OBJEXT) \
 	math/lib32_libmingwex_a-log1pf.$(OBJEXT) \
+	math/lib32_libmingwex_a-log2.$(OBJEXT) \
 	math/lib32_libmingwex_a-log2f.$(OBJEXT) \
 	math/lib32_libmingwex_a-logbf.$(OBJEXT) \
 	math/lib32_libmingwex_a-scalbnf.$(OBJEXT) \
@@ -1710,31 +1709,30 @@
 	math/exp2l.S math/floor.S math/floorf.S math/floorl.S \
 	math/fma.S math/fmaf.S math/frexpl.S math/ilogb.S \
 	math/ilogbl.S math/internal_logl.S math/log10l.S math/log1p.S \
-	math/log1pl.S math/log2.S math/log2l.S math/nearbyint.S \
-	math/nearbyintf.S math/nearbyintl.S math/remainder.S \
-	math/remainderf.S math/remainderl.S math/remquo.S \
-	math/remquof.S math/remquol.S math/scalbn.S math/scalbnl.S \
-	math/sinl_internal.S math/tanl.S math/trunc.S math/truncf.S \
-	math/acoshl.c math/acosl.c math/asinhl.c math/asinl.c \
-	math/atan2l.c math/atanhl.c math/atanl.c math/cbrt.c \
-	math/cbrtf.c math/cbrtl.c math/cephes_emath.c math/copysign.c \
-	math/copysignf.c math/cos.c math/coshf.c math/coshl.c \
-	math/cosl.c math/cossin.c math/erfl.c math/expf.c math/expl.c \
-	math/expm1l.c math/fabs.c math/fabsf.c math/fabsl.c \
-	math/fdim.c math/fdimf.c math/fdiml.c math/fmal.c math/fmax.c \
-	math/fmaxf.c math/fmaxl.c math/fmin.c math/fminf.c \
-	math/fminl.c math/fmod.c math/fmodl.c math/fp_consts.c \
-	math/fp_constsf.c math/fp_constsl.c math/fpclassify.c \
-	math/fpclassifyf.c math/fpclassifyl.c math/frexpf.c \
-	math/fucom.c math/hypotf.c math/hypotl.c math/isnan.c \
-	math/isnanf.c math/isnanl.c math/ldexp.c math/ldexpf.c \
-	math/ldexpl.c math/lgamma.c math/lgammaf.c math/lgammal.c \
-	math/llrint.c math/signgam.c math/llrintf.c math/llrintl.c \
-	math/llround.c math/llroundf.c math/llroundl.c math/log.c \
-	math/log10f.c math/logb.c math/logbl.c math/logf.c math/logl.c \
-	math/lrint.c math/lrintf.c math/lrintl.c math/lround.c \
-	math/lroundf.c math/lroundl.c math/modf.c math/modff.c \
-	math/modfl.c math/nextafterf.c math/nextafterl.c \
+	math/log1pl.S math/log2l.S math/nearbyint.S math/nearbyintf.S \
+	math/nearbyintl.S math/remainder.S math/remainderf.S \
+	math/remainderl.S math/remquo.S math/remquof.S math/remquol.S \
+	math/scalbn.S math/scalbnl.S math/sinl_internal.S math/tanl.S \
+	math/trunc.S math/truncf.S math/acoshl.c math/acosl.c \
+	math/asinhl.c math/asinl.c math/atan2l.c math/atanhl.c \
+	math/atanl.c math/cbrt.c math/cbrtf.c math/cbrtl.c \
+	math/cephes_emath.c math/copysign.c math/copysignf.c \
+	math/cos.c math/coshf.c math/coshl.c math/cosl.c math/cossin.c \
+	math/erfl.c math/expf.c math/expl.c math/expm1l.c math/fabs.c \
+	math/fabsf.c math/fabsl.c math/fdim.c math/fdimf.c \
+	math/fdiml.c math/fmal.c math/fmax.c math/fmaxf.c math/fmaxl.c \
+	math/fmin.c math/fminf.c math/fminl.c math/fmod.c math/fmodl.c \
+	math/fp_consts.c math/fp_constsf.c math/fp_constsl.c \
+	math/fpclassify.c math/fpclassifyf.c math/fpclassifyl.c \
+	math/frexpf.c math/fucom.c math/hypotf.c math/hypotl.c \
+	math/isnan.c math/isnanf.c math/isnanl.c math/ldexp.c \
+	math/ldexpf.c math/ldexpl.c math/lgamma.c math/lgammaf.c \
+	math/lgammal.c math/llrint.c math/signgam.c math/llrintf.c \
+	math/llrintl.c math/llround.c math/llroundf.c math/llroundl.c \
+	math/log.c math/log10f.c math/logb.c math/logbl.c math/logf.c \
+	math/logl.c math/lrint.c math/lrintf.c math/lrintl.c \
+	math/lround.c math/lroundf.c math/lroundl.c math/modf.c \
+	math/modff.c math/modfl.c math/nextafterf.c math/nextafterl.c \
 	math/nexttoward.c math/nexttowardf.c math/pow.c math/powf.c \
 	math/powi.c math/powif.c math/powil.c math/powl.c math/rint.c \
 	math/rintf.c math/rintl.c math/round.c math/roundf.c \
@@ -1808,8 +1806,8 @@
 	math/atan2f.c math/atanf.c math/atanh.c math/atanhf.c \
 	math/cosf.c math/exp.c math/exp2.S math/exp2f.S math/expm1.c \
 	math/expm1f.c math/fmodf.c math/ilogbf.S math/log1pf.S \
-	math/log2f.S math/logbf.c math/scalbnf.S math/sinf.c \
-	math/tanf.c math/DFP/__fpclassifyd32.c \
+	math/log2.S math/log2f.S math/logbf.c math/scalbnf.S \
+	math/sinf.c math/tanf.c math/DFP/__fpclassifyd32.c \
 	math/DFP/__fpclassifyd64.c math/DFP/__fpclassifyd128.c \
 	math/DFP/__isnand32.c math/DFP/__isnand64.c \
 	math/DFP/__isnand128.c math/DFP/__signbitd32.c \
@@ -1905,7 +1903,6 @@
 	math/lib64_libmingwex_a-log10l.$(OBJEXT) \
 	math/lib64_libmingwex_a-log1p.$(OBJEXT) \
 	math/lib64_libmingwex_a-log1pl.$(OBJEXT) \
-	math/lib64_libmingwex_a-log2.$(OBJEXT) \
 	math/lib64_libmingwex_a-log2l.$(OBJEXT) \
 	math/lib64_libmingwex_a-nearbyint.$(OBJEXT) \
 	math/lib64_libmingwex_a-nearbyintf.$(OBJEXT) \
@@ -2221,6 +2218,7 @@
 	math/lib64_libmingwex_a-fmodf.$(OBJEXT) \
 	math/lib64_libmingwex_a-ilogbf.$(OBJEXT) \
 	math/lib64_libmingwex_a-log1pf.$(OBJEXT) \
+	math/lib64_libmingwex_a-log2.$(OBJEXT) \
 	math/lib64_libmingwex_a-log2f.$(OBJEXT) \
 	math/lib64_libmingwex_a-logbf.$(OBJEXT) \
 	math/lib64_libmingwex_a-scalbnf.$(OBJEXT) \
@@ -2759,31 +2757,30 @@
 	math/exp2l.S math/floor.S math/floorf.S math/floorl.S \
 	math/fma.S math/fmaf.S math/frexpl.S math/ilogb.S \
 	math/ilogbl.S math/internal_logl.S math/log10l.S math/log1p.S \
-	math/log1pl.S math/log2.S math/log2l.S math/nearbyint.S \
-	math/nearbyintf.S math/nearbyintl.S math/remainder.S \
-	math/remainderf.S math/remainderl.S math/remquo.S \
-	math/remquof.S math/remquol.S math/scalbn.S math/scalbnl.S \
-	math/sinl_internal.S math/tanl.S math/trunc.S math/truncf.S \
-	math/acoshl.c math/acosl.c math/asinhl.c math/asinl.c \
-	math/atan2l.c math/atanhl.c math/atanl.c math/cbrt.c \
-	math/cbrtf.c math/cbrtl.c math/cephes_emath.c math/copysign.c \
-	math/copysignf.c math/cos.c math/coshf.c math/coshl.c \
-	math/cosl.c math/cossin.c math/erfl.c math/expf.c math/expl.c \
-	math/expm1l.c math/fabs.c math/fabsf.c math/fabsl.c \
-	math/fdim.c math/fdimf.c math/fdiml.c math/fmal.c math/fmax.c \
-	math/fmaxf.c math/fmaxl.c math/fmin.c math/fminf.c \
-	math/fminl.c math/fmod.c math/fmodl.c math/fp_consts.c \
-	math/fp_constsf.c math/fp_constsl.c math/fpclassify.c \
-	math/fpclassifyf.c math/fpclassifyl.c math/frexpf.c \
-	math/fucom.c math/hypotf.c math/hypotl.c math/isnan.c \
-	math/isnanf.c math/isnanl.c math/ldexp.c math/ldexpf.c \
-	math/ldexpl.c math/lgamma.c math/lgammaf.c math/lgammal.c \
-	math/llrint.c math/signgam.c math/llrintf.c math/llrintl.c \
-	math/llround.c math/llroundf.c math/llroundl.c math/log.c \
-	math/log10f.c math/logb.c math/logbl.c math/logf.c math/logl.c \
-	math/lrint.c math/lrintf.c math/lrintl.c math/lround.c \
-	math/lroundf.c math/lroundl.c math/modf.c math/modff.c \
-	math/modfl.c math/nextafterf.c math/nextafterl.c \
+	math/log1pl.S math/log2l.S math/nearbyint.S math/nearbyintf.S \
+	math/nearbyintl.S math/remainder.S math/remainderf.S \
+	math/remainderl.S math/remquo.S math/remquof.S math/remquol.S \
+	math/scalbn.S math/scalbnl.S math/sinl_internal.S math/tanl.S \
+	math/trunc.S math/truncf.S math/acoshl.c math/acosl.c \
+	math/asinhl.c math/asinl.c math/atan2l.c math/atanhl.c \
+	math/atanl.c math/cbrt.c math/cbrtf.c math/cbrtl.c \
+	math/cephes_emath.c math/copysign.c math/copysignf.c \
+	math/cos.c math/coshf.c math/coshl.c math/cosl.c math/cossin.c \
+	math/erfl.c math/expf.c math/expl.c math/expm1l.c math/fabs.c \
+	math/fabsf.c math/fabsl.c math/fdim.c math/fdimf.c \
+	math/fdiml.c math/fmal.c math/fmax.c math/fmaxf.c math/fmaxl.c \
+	math/fmin.c math/fminf.c math/fminl.c math/fmod.c math/fmodl.c \
+	math/fp_consts.c math/fp_constsf.c math/fp_constsl.c \
+	math/fpclassify.c math/fpclassifyf.c math/fpclassifyl.c \
+	math/frexpf.c math/fucom.c math/hypotf.c math/hypotl.c \
+	math/isnan.c math/isnanf.c math/isnanl.c math/ldexp.c \
+	math/ldexpf.c math/ldexpl.c math/lgamma.c math/lgammaf.c \
+	math/lgammal.c math/llrint.c math/signgam.c math/llrintf.c \
+	math/llrintl.c math/llround.c math/llroundf.c math/llroundl.c \
+	math/log.c math/log10f.c math/logb.c math/logbl.c math/logf.c \
+	math/logl.c math/lrint.c math/lrintf.c math/lrintl.c \
+	math/lround.c math/lroundf.c math/lroundl.c math/modf.c \
+	math/modff.c math/modfl.c math/nextafterf.c math/nextafterl.c \
 	math/nexttoward.c math/nexttowardf.c math/pow.c math/powf.c \
 	math/powi.c math/powif.c math/powil.c math/powl.c math/rint.c \
 	math/rintf.c math/rintl.c math/round.c math/roundf.c \
@@ -2862,15 +2859,15 @@
 	math/softmath/exp.c math/softmath/exp2.c math/softmath/exp2f.c \
 	math/softmath/expm1.c math/softmath/expm1f.c \
 	math/softmath/fmodf.c math/softmath/ilogbf.c \
-	math/softmath/log1pf.c math/softmath/log2f.c \
-	math/softmath/logbf.c math/softmath/scalbnf.c \
-	math/softmath/sinf.c math/softmath/tanf.c \
-	math/DFP/__fpclassifyd32.c math/DFP/__fpclassifyd64.c \
-	math/DFP/__fpclassifyd128.c math/DFP/__isnand32.c \
-	math/DFP/__isnand64.c math/DFP/__isnand128.c \
-	math/DFP/__signbitd32.c math/DFP/__signbitd64.c \
-	math/DFP/__signbitd128.c math/DFP/isinfd32.c \
-	math/DFP/isinfd64.c math/DFP/isinfd128.c
+	math/softmath/log1pf.c math/softmath/log2.c \
+	math/softmath/log2f.c math/softmath/logbf.c \
+	math/softmath/scalbnf.c math/softmath/sinf.c \
+	math/softmath/tanf.c math/DFP/__fpclassifyd32.c \
+	math/DFP/__fpclassifyd64.c math/DFP/__fpclassifyd128.c \
+	math/DFP/__isnand32.c math/DFP/__isnand64.c \
+	math/DFP/__isnand128.c math/DFP/__signbitd32.c \
+	math/DFP/__signbitd64.c math/DFP/__signbitd128.c \
+	math/DFP/isinfd32.c math/DFP/isinfd64.c math/DFP/isinfd128.c
 am__objects_78 = crt/libarm32_libmingwex_a-dllentry.$(OBJEXT) \
 	crt/libarm32_libmingwex_a-dllmain.$(OBJEXT) \
 	complex/libarm32_libmingwex_a-cabs.$(OBJEXT) \
@@ -2961,7 +2958,6 @@
 	math/libarm32_libmingwex_a-log10l.$(OBJEXT) \
 	math/libarm32_libmingwex_a-log1p.$(OBJEXT) \
 	math/libarm32_libmingwex_a-log1pl.$(OBJEXT) \
-	math/libarm32_libmingwex_a-log2.$(OBJEXT) \
 	math/libarm32_libmingwex_a-log2l.$(OBJEXT) \
 	math/libarm32_libmingwex_a-nearbyint.$(OBJEXT) \
 	math/libarm32_libmingwex_a-nearbyintf.$(OBJEXT) \
@@ -3280,6 +3276,7 @@
 	math/softmath/libarm32_libmingwex_a-fmodf.$(OBJEXT) \
 	math/softmath/libarm32_libmingwex_a-ilogbf.$(OBJEXT) \
 	math/softmath/libarm32_libmingwex_a-log1pf.$(OBJEXT) \
+	math/softmath/libarm32_libmingwex_a-log2.$(OBJEXT) \
 	math/softmath/libarm32_libmingwex_a-log2f.$(OBJEXT) \
 	math/softmath/libarm32_libmingwex_a-logbf.$(OBJEXT) \
 	math/softmath/libarm32_libmingwex_a-scalbnf.$(OBJEXT) \
@@ -5097,7 +5094,7 @@
   math/_chgsignl.S      math/ceil.S        math/ceilf.S          math/ceill.S         math/copysignl.S     math/cosl_internal.S \
   math/exp2l.S          math/floor.S       math/floorf.S         math/floorl.S        \
   math/fma.S            math/fmaf.S        math/frexpl.S         math/ilogb.S         math/ilogbl.S        \
-  math/internal_logl.S  math/log10l.S      math/log1p.S          math/log1pl.S        math/log2.S          \
+  math/internal_logl.S  math/log10l.S      math/log1p.S          math/log1pl.S        \
   math/log2l.S          math/nearbyint.S   math/nearbyintf.S     math/nearbyintl.S    math/remainder.S     \
   math/remainderf.S     math/remainderl.S  math/remquo.S         math/remquof.S       math/remquol.S       math/scalbn.S        \
   math/scalbnl.S        math/sinl_internal.S  math/tanl.S        math/trunc.S         math/truncf.S        \
@@ -5174,8 +5171,8 @@
   math/acosf.c              math/acosh.c              math/acoshf.c             math/asinf.c              math/asinh.c              \
   math/asinhf.c             math/atan2f.c             math/atanf.c              math/atanh.c              math/atanhf.c             \
   math/cosf.c               math/exp.c                math/exp2.S               math/exp2f.S              math/expm1.c              \
-  math/expm1f.c             math/fmodf.c              math/ilogbf.S             math/log1pf.S             math/log2f.S              \
-  math/logbf.c              math/scalbnf.S            math/sinf.c               math/tanf.c
+  math/expm1f.c             math/fmodf.c              math/ilogbf.S             math/log1pf.S             math/log2.S               \
+  math/log2f.S              math/logbf.c              math/scalbnf.S            math/sinf.c               math/tanf.c
 
 
 # these only go into the 32 bit version:
@@ -5183,8 +5180,8 @@
   math/acosf.c              math/acosh.c              math/acoshf.c             math/asinf.c              math/asinh.c              \
   math/asinhf.c             math/atan2f.c             math/atanf.c              math/atanh.c              math/atanhf.c             \
   math/cosf.c               math/exp.c                math/exp2.S               math/exp2f.S              math/expm1.c              \
-  math/expm1f.c             math/fmodf.c              math/ilogbf.S             math/log1pf.S             math/log2f.S              \
-  math/logbf.c              math/scalbnf.S            math/sinf.c               math/tanf.c
+  math/expm1f.c             math/fmodf.c              math/ilogbf.S             math/log1pf.S             math/log2.S               \
+  math/log2f.S              math/logbf.c              math/scalbnf.S            math/sinf.c               math/tanf.c
 
 
 # these only go into the ARM32 version:
@@ -5193,8 +5190,8 @@
   math/softmath/acosf.c     math/softmath/acosh.c     math/softmath/acoshf.c    math/softmath/asinf.c     math/softmath/asinh.c     \
   math/softmath/asinhf.c    math/softmath/atan2f.c    math/softmath/atanf.c     math/softmath/atanh.c     math/softmath/atanhf.c    \
   math/softmath/cosf.c      math/softmath/exp.c       math/softmath/exp2.c      math/softmath/exp2f.c     math/softmath/expm1.c     \
-  math/softmath/expm1f.c    math/softmath/fmodf.c     math/softmath/ilogbf.c    math/softmath/log1pf.c    math/softmath/log2f.c     \
-  math/softmath/logbf.c     math/softmath/scalbnf.c   math/softmath/sinf.c      math/softmath/tanf.c
+  math/softmath/expm1f.c    math/softmath/fmodf.c     math/softmath/ilogbf.c    math/softmath/log1pf.c    math/softmath/log2.c      \
+  math/softmath/log2f.c     math/softmath/logbf.c     math/softmath/scalbnf.c   math/softmath/sinf.c      math/softmath/tanf.c
 
 
 # These intrinsics are target independent:
@@ -8276,8 +8273,6 @@
 	math/$(DEPDIR)/$(am__dirstamp)
 math/lib32_libmingwex_a-log1pl.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
-math/lib32_libmingwex_a-log2.$(OBJEXT): math/$(am__dirstamp) \
-	math/$(DEPDIR)/$(am__dirstamp)
 math/lib32_libmingwex_a-log2l.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
 math/lib32_libmingwex_a-nearbyint.$(OBJEXT): math/$(am__dirstamp) \
@@ -8920,6 +8915,8 @@
 	math/$(DEPDIR)/$(am__dirstamp)
 math/lib32_libmingwex_a-log1pf.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
+math/lib32_libmingwex_a-log2.$(OBJEXT): math/$(am__dirstamp) \
+	math/$(DEPDIR)/$(am__dirstamp)
 math/lib32_libmingwex_a-log2f.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
 math/lib32_libmingwex_a-logbf.$(OBJEXT): math/$(am__dirstamp) \
@@ -9900,8 +9897,6 @@
 	math/$(DEPDIR)/$(am__dirstamp)
 math/lib64_libmingwex_a-log1pl.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
-math/lib64_libmingwex_a-log2.$(OBJEXT): math/$(am__dirstamp) \
-	math/$(DEPDIR)/$(am__dirstamp)
 math/lib64_libmingwex_a-log2l.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
 math/lib64_libmingwex_a-nearbyint.$(OBJEXT): math/$(am__dirstamp) \
@@ -10532,6 +10527,8 @@
 	math/$(DEPDIR)/$(am__dirstamp)
 math/lib64_libmingwex_a-log1pf.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
+math/lib64_libmingwex_a-log2.$(OBJEXT): math/$(am__dirstamp) \
+	math/$(DEPDIR)/$(am__dirstamp)
 math/lib64_libmingwex_a-log2f.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
 math/lib64_libmingwex_a-logbf.$(OBJEXT): math/$(am__dirstamp) \
@@ -11387,8 +11384,6 @@
 	math/$(DEPDIR)/$(am__dirstamp)
 math/libarm32_libmingwex_a-log1pl.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
-math/libarm32_libmingwex_a-log2.$(OBJEXT): math/$(am__dirstamp) \
-	math/$(DEPDIR)/$(am__dirstamp)
 math/libarm32_libmingwex_a-log2l.$(OBJEXT): math/$(am__dirstamp) \
 	math/$(DEPDIR)/$(am__dirstamp)
 math/libarm32_libmingwex_a-nearbyint.$(OBJEXT): math/$(am__dirstamp) \
@@ -12050,6 +12045,9 @@
 math/softmath/libarm32_libmingwex_a-log1pf.$(OBJEXT):  \
 	math/softmath/$(am__dirstamp) \
 	math/softmath/$(DEPDIR)/$(am__dirstamp)
+math/softmath/libarm32_libmingwex_a-log2.$(OBJEXT):  \
+	math/softmath/$(am__dirstamp) \
+	math/softmath/$(DEPDIR)/$(am__dirstamp)
 math/softmath/libarm32_libmingwex_a-log2f.$(OBJEXT):  \
 	math/softmath/$(am__dirstamp) \
 	math/softmath/$(DEPDIR)/$(am__dirstamp)
@@ -14663,7 +14661,6 @@
 @AMDEP_TRUE@@am__include@ @am__quote@math/$(DEPDIR)/libarm32_libmingwex_a-log10l.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/$(DEPDIR)/libarm32_libmingwex_a-log1p.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/$(DEPDIR)/libarm32_libmingwex_a-log1pl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@math/$(DEPDIR)/libarm32_libmingwex_a-log2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/$(DEPDIR)/libarm32_libmingwex_a-log2l.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/$(DEPDIR)/libarm32_libmingwex_a-logb.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/$(DEPDIR)/libarm32_libmingwex_a-logbl.Po@am__quote@
@@ -14785,6 +14782,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@math/softmath/$(DEPDIR)/libarm32_libmingwex_a-fmodf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/softmath/$(DEPDIR)/libarm32_libmingwex_a-ilogbf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log1pf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2f.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/softmath/$(DEPDIR)/libarm32_libmingwex_a-logbf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@math/softmath/$(DEPDIR)/libarm32_libmingwex_a-scalbnf.Po@am__quote@
@@ -15916,20 +15914,6 @@
 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib32_libmingwex_a-log1pl.obj `if test -f 'math/log1pl.S'; then $(CYGPATH_W) 'math/log1pl.S'; else $(CYGPATH_W) '$(srcdir)/math/log1pl.S'; fi`
 
-math/lib32_libmingwex_a-log2.o: math/log2.S
-@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib32_libmingwex_a-log2.o -MD -MP -MF math/$(DEPDIR)/lib32_libmingwex_a-log2.Tpo -c -o math/lib32_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
-@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib32_libmingwex_a-log2.Tpo math/$(DEPDIR)/lib32_libmingwex_a-log2.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/lib32_libmingwex_a-log2.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib32_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
-
-math/lib32_libmingwex_a-log2.obj: math/log2.S
-@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib32_libmingwex_a-log2.obj -MD -MP -MF math/$(DEPDIR)/lib32_libmingwex_a-log2.Tpo -c -o math/lib32_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
-@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib32_libmingwex_a-log2.Tpo math/$(DEPDIR)/lib32_libmingwex_a-log2.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/lib32_libmingwex_a-log2.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib32_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
-
 math/lib32_libmingwex_a-log2l.o: math/log2l.S
 @am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib32_libmingwex_a-log2l.o -MD -MP -MF math/$(DEPDIR)/lib32_libmingwex_a-log2l.Tpo -c -o math/lib32_libmingwex_a-log2l.o `test -f 'math/log2l.S' || echo '$(srcdir)/'`math/log2l.S
 @am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib32_libmingwex_a-log2l.Tpo math/$(DEPDIR)/lib32_libmingwex_a-log2l.Po
@@ -16308,6 +16292,20 @@
 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib32_libmingwex_a-log1pf.obj `if test -f 'math/log1pf.S'; then $(CYGPATH_W) 'math/log1pf.S'; else $(CYGPATH_W) '$(srcdir)/math/log1pf.S'; fi`
 
+math/lib32_libmingwex_a-log2.o: math/log2.S
+@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib32_libmingwex_a-log2.o -MD -MP -MF math/$(DEPDIR)/lib32_libmingwex_a-log2.Tpo -c -o math/lib32_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
+@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib32_libmingwex_a-log2.Tpo math/$(DEPDIR)/lib32_libmingwex_a-log2.Po
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/lib32_libmingwex_a-log2.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib32_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
+
+math/lib32_libmingwex_a-log2.obj: math/log2.S
+@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib32_libmingwex_a-log2.obj -MD -MP -MF math/$(DEPDIR)/lib32_libmingwex_a-log2.Tpo -c -o math/lib32_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
+@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib32_libmingwex_a-log2.Tpo math/$(DEPDIR)/lib32_libmingwex_a-log2.Po
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/lib32_libmingwex_a-log2.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib32_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
+
 math/lib32_libmingwex_a-log2f.o: math/log2f.S
 @am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib32_libmingwex_a-log2f.o -MD -MP -MF math/$(DEPDIR)/lib32_libmingwex_a-log2f.Tpo -c -o math/lib32_libmingwex_a-log2f.o `test -f 'math/log2f.S' || echo '$(srcdir)/'`math/log2f.S
 @am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib32_libmingwex_a-log2f.Tpo math/$(DEPDIR)/lib32_libmingwex_a-log2f.Po
@@ -16616,20 +16614,6 @@
 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib64_libmingwex_a-log1pl.obj `if test -f 'math/log1pl.S'; then $(CYGPATH_W) 'math/log1pl.S'; else $(CYGPATH_W) '$(srcdir)/math/log1pl.S'; fi`
 
-math/lib64_libmingwex_a-log2.o: math/log2.S
-@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib64_libmingwex_a-log2.o -MD -MP -MF math/$(DEPDIR)/lib64_libmingwex_a-log2.Tpo -c -o math/lib64_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
-@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib64_libmingwex_a-log2.Tpo math/$(DEPDIR)/lib64_libmingwex_a-log2.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/lib64_libmingwex_a-log2.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib64_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
-
-math/lib64_libmingwex_a-log2.obj: math/log2.S
-@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib64_libmingwex_a-log2.obj -MD -MP -MF math/$(DEPDIR)/lib64_libmingwex_a-log2.Tpo -c -o math/lib64_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
-@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib64_libmingwex_a-log2.Tpo math/$(DEPDIR)/lib64_libmingwex_a-log2.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/lib64_libmingwex_a-log2.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib64_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
-
 math/lib64_libmingwex_a-log2l.o: math/log2l.S
 @am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib64_libmingwex_a-log2l.o -MD -MP -MF math/$(DEPDIR)/lib64_libmingwex_a-log2l.Tpo -c -o math/lib64_libmingwex_a-log2l.o `test -f 'math/log2l.S' || echo '$(srcdir)/'`math/log2l.S
 @am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib64_libmingwex_a-log2l.Tpo math/$(DEPDIR)/lib64_libmingwex_a-log2l.Po
@@ -17008,6 +16992,20 @@
 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib64_libmingwex_a-log1pf.obj `if test -f 'math/log1pf.S'; then $(CYGPATH_W) 'math/log1pf.S'; else $(CYGPATH_W) '$(srcdir)/math/log1pf.S'; fi`
 
+math/lib64_libmingwex_a-log2.o: math/log2.S
+@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib64_libmingwex_a-log2.o -MD -MP -MF math/$(DEPDIR)/lib64_libmingwex_a-log2.Tpo -c -o math/lib64_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
+@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib64_libmingwex_a-log2.Tpo math/$(DEPDIR)/lib64_libmingwex_a-log2.Po
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/lib64_libmingwex_a-log2.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib64_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
+
+math/lib64_libmingwex_a-log2.obj: math/log2.S
+@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib64_libmingwex_a-log2.obj -MD -MP -MF math/$(DEPDIR)/lib64_libmingwex_a-log2.Tpo -c -o math/lib64_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
+@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib64_libmingwex_a-log2.Tpo math/$(DEPDIR)/lib64_libmingwex_a-log2.Po
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/lib64_libmingwex_a-log2.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/lib64_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
+
 math/lib64_libmingwex_a-log2f.o: math/log2f.S
 @am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/lib64_libmingwex_a-log2f.o -MD -MP -MF math/$(DEPDIR)/lib64_libmingwex_a-log2f.Tpo -c -o math/lib64_libmingwex_a-log2f.o `test -f 'math/log2f.S' || echo '$(srcdir)/'`math/log2f.S
 @am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/lib64_libmingwex_a-log2f.Tpo math/$(DEPDIR)/lib64_libmingwex_a-log2f.Po
@@ -17302,20 +17300,6 @@
 @AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/libarm32_libmingwex_a-log1pl.obj `if test -f 'math/log1pl.S'; then $(CYGPATH_W) 'math/log1pl.S'; else $(CYGPATH_W) '$(srcdir)/math/log1pl.S'; fi`
 
-math/libarm32_libmingwex_a-log2.o: math/log2.S
-@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/libarm32_libmingwex_a-log2.o -MD -MP -MF math/$(DEPDIR)/libarm32_libmingwex_a-log2.Tpo -c -o math/libarm32_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
-@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/libarm32_libmingwex_a-log2.Tpo math/$(DEPDIR)/libarm32_libmingwex_a-log2.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/libarm32_libmingwex_a-log2.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/libarm32_libmingwex_a-log2.o `test -f 'math/log2.S' || echo '$(srcdir)/'`math/log2.S
-
-math/libarm32_libmingwex_a-log2.obj: math/log2.S
-@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/libarm32_libmingwex_a-log2.obj -MD -MP -MF math/$(DEPDIR)/libarm32_libmingwex_a-log2.Tpo -c -o math/libarm32_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
-@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/libarm32_libmingwex_a-log2.Tpo math/$(DEPDIR)/libarm32_libmingwex_a-log2.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='math/log2.S' object='math/libarm32_libmingwex_a-log2.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o math/libarm32_libmingwex_a-log2.obj `if test -f 'math/log2.S'; then $(CYGPATH_W) 'math/log2.S'; else $(CYGPATH_W) '$(srcdir)/math/log2.S'; fi`
-
 math/libarm32_libmingwex_a-log2l.o: math/log2l.S
 @am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT math/libarm32_libmingwex_a-log2l.o -MD -MP -MF math/$(DEPDIR)/libarm32_libmingwex_a-log2l.Tpo -c -o math/libarm32_libmingwex_a-log2l.o `test -f 'math/log2l.S' || echo '$(srcdir)/'`math/log2l.S
 @am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) math/$(DEPDIR)/libarm32_libmingwex_a-log2l.Tpo math/$(DEPDIR)/libarm32_libmingwex_a-log2l.Po
@@ -42154,6 +42138,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o math/softmath/libarm32_libmingwex_a-log1pf.obj `if test -f 'math/softmath/log1pf.c'; then $(CYGPATH_W) 'math/softmath/log1pf.c'; else $(CYGPATH_W) '$(srcdir)/math/softmath/log1pf.c'; fi`
 
+math/softmath/libarm32_libmingwex_a-log2.o: math/softmath/log2.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT math/softmath/libarm32_libmingwex_a-log2.o -MD -MP -MF math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2.Tpo -c -o math/softmath/libarm32_libmingwex_a-log2.o `test -f 'math/softmath/log2.c' || echo '$(srcdir)/'`math/softmath/log2.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2.Tpo math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='math/softmath/log2.c' object='math/softmath/libarm32_libmingwex_a-log2.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o math/softmath/libarm32_libmingwex_a-log2.o `test -f 'math/softmath/log2.c' || echo '$(srcdir)/'`math/softmath/log2.c
+
+math/softmath/libarm32_libmingwex_a-log2.obj: math/softmath/log2.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT math/softmath/libarm32_libmingwex_a-log2.obj -MD -MP -MF math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2.Tpo -c -o math/softmath/libarm32_libmingwex_a-log2.obj `if test -f 'math/softmath/log2.c'; then $(CYGPATH_W) 'math/softmath/log2.c'; else $(CYGPATH_W) '$(srcdir)/math/softmath/log2.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2.Tpo math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='math/softmath/log2.c' object='math/softmath/libarm32_libmingwex_a-log2.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o math/softmath/libarm32_libmingwex_a-log2.obj `if test -f 'math/softmath/log2.c'; then $(CYGPATH_W) 'math/softmath/log2.c'; else $(CYGPATH_W) '$(srcdir)/math/softmath/log2.c'; fi`
+
 math/softmath/libarm32_libmingwex_a-log2f.o: math/softmath/log2f.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT math/softmath/libarm32_libmingwex_a-log2f.o -MD -MP -MF math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2f.Tpo -c -o math/softmath/libarm32_libmingwex_a-log2f.o `test -f 'math/softmath/log2f.c' || echo '$(srcdir)/'`math/softmath/log2f.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2f.Tpo math/softmath/$(DEPDIR)/libarm32_libmingwex_a-log2f.Po
diff --git a/mingw-w64-crt/math/softmath/log2.c b/mingw-w64-crt/math/softmath/log2.c
new file mode 100644
index 0000000..e94d38b
--- /dev/null
+++ b/mingw-w64-crt/math/softmath/log2.c
@@ -0,0 +1,50 @@
+/*
+ This Software is provided under the Zope Public License (ZPL) Version 2.1.
+
+ Copyright (c) 2014 by the mingw-w64 project
+
+ See the AUTHORS file for the list of contributors to the mingw-w64 project.
+
+ This license has been certified as open source. It has also been designated
+ as GPL compatible by the Free Software Foundation (FSF).
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+   1. Redistributions in source code must retain the accompanying copyright
+      notice, this list of conditions, and the following disclaimer.
+   2. Redistributions in binary form must reproduce the accompanying
+      copyright notice, this list of conditions, and the following disclaimer
+      in the documentation and/or other materials provided with the
+      distribution.
+   3. Names of the copyright holders must not be used to endorse or promote
+      products derived from this software without prior written permission
+      from the copyright holders.
+   4. The right to distribute this software or to use it for any purpose does
+      not give you the right to use Servicemarks (sm) or Trademarks (tm) of
+      the copyright holders.  Use of them is covered by separate agreement
+      with the copyright holders.
+   5. If any files are modified, you must cause the modified files to carry
+      prominent notices stating that you changed the files and the date of
+      any change.
+
+ Disclaimer
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
+ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+ EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include "softmath_private.h"
+
+double log2(double x)
+{
+    return softmath_log(x) / 0.69314718246459960938d;
+}