This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: long double (was "strtold?")


On Monday 30 March 2009 22:42:17 Jeff Johnston wrote:
> > All in all it looks like implementing small wrapper functions that just
> > call their counterparts seems to be the way to go - as you suggested. : )
>
> Ok, great.  It should not be a code-size issue as you earlier
> mentioned.  Any application that calls
> a C library function has to expect something gets linked in.  A small
> stub that calls another function
> is hardly surprising.

The attached patch adds these wrapper functions. I initially intended to use 
the AC_TYPE_LONG_DOUBLE_WIDER macro in newlib/libm/configure.in but there is no 
AC_CONFIG_HEADERS and I guess there is a reason for that. Therefore I guarded 
the code itself. Maybe there is a better solution - just let me know. : )

> > For the SPU target I'd like to use GCC aliasing to save code size and
> > don't pay the penalty of an extra function call. I'll post a patch as
> > soon as I find some time.
>
> If you do an SPU-only solution, a preferred way would be to add a
> machine/math.h extension to math.h and then have a
> libc/spu/machine/math.h file.  In libc/include/machine have a math.h
> that defaults to empty for everyone else.

I did so and aliased the long double functions within the existent .c files of 
the SPUs math implementation since they have to be in the same translation 
unit. Unfortunately the wrappers that have been added for the common code are 
visible on the SPU target too which result in duplicate definitions. It looks 
like the overlaying of target specific math routines is made by file names. 
Adding empty files seems not be an option. Is there a nice way to do it?

> -- Jeff J.
Regards
Ken

newlib/ChangeLog:

2009-03-31  Ken Werner  <ken.werner@de.ibm.com>

        * libc/include/stdlib.h: Include float.h.
          (strtold, wcstold): Declare.
        * libc/stdlib/strtold.c: New File.
        * libc/stdlib/wcstold.c: Likewise.
        * libc/stdlib/Makefile.am: Add strtold.c and wcstold.c.
        * libc/stdlib/Makefile.in: Regenerate.
        * libc/include/math.h: Include float.h.
          (atanl, cosl, sinl, tanl, tanhl, frexpl, modfl, ceill, fabsl, floorl,
          log1pl, expm1l, acosl, asinl, atan2l, coshl, sinhl, expl, ldexpl,
          logl, log10l, powl, sqrtl, fmodl, hypotl, copysignl, nanl, ilogbl,
          asinhl, cbrt, nextafterl, rintl, scalbnl, exp2l, scalblnl, tgammal,
          nearbyintl, lrintl, llrintl, roundl, lroundl, llround, llroundl,
          truncl, remquol, fdiml, fmaxl, fminl, fmal, acoshl, atanhl,
          remainderl, lgammal, erfl, erfcl): Declare.
        * src/newlib/libm/common/w_atanl.c: New File.
        * src/newlib/libm/common/w_cosl.c: Likewise.
        * src/newlib/libm/common/w_sinl.c: Likewise.
        * src/newlib/libm/common/w_modfl.c: Likewise.
        * src/newlib/libm/common/w_frexpl.c: Likewise.
        * src/newlib/libm/common/w_tanhl.c: Likewise.
        * src/newlib/libm/common/w_tanl.c: Likewise.
        * src/newlib/libm/common/w_expm1l.c: Likewise.
        * src/newlib/libm/common/w_log1pl.c: Likewise.
        * src/newlib/libm/common/w_ceill.c: Likewise.
        * src/newlib/libm/common/w_fabsl.c: Likewise.
        * src/newlib/libm/common/w_floorl.c: Likewise.
        * src/newlib/libm/common/w_acosl.c: Likewise.
        * src/newlib/libm/common/w_asinl.c: Likewise.
        * src/newlib/libm/common/w_atan2l.c: Likewise.
        * src/newlib/libm/common/w_coshl.c: Likewise.
        * src/newlib/libm/common/w_expl.c: Likewise.
        * src/newlib/libm/common/w_fmodl.c: Likewise.
        * src/newlib/libm/common/w_hypotl.c: Likewise.
        * src/newlib/libm/common/w_ldexpl.c: Likewise.
        * src/newlib/libm/common/w_log10l.c: Likewise.
        * src/newlib/libm/common/w_logl.c: Likewise.
        * src/newlib/libm/common/w_powl.c: Likewise.
        * src/newlib/libm/common/w_sqrtl.c: Likewise.
        * src/newlib/libm/common/w_copysignl.c: Likewise.
        * src/newlib/libm/common/w_ilogbl.c: Likewise.
        * src/newlib/libm/common/w_nanl.c: Likewise.
        * src/newlib/libm/common/w_cbrtl.c: Likewise.
        * src/newlib/libm/common/w_asinhl.c: Likewise.
        * src/newlib/libm/common/w_nextafterl.c: Likewise.
        * src/newlib/libm/common/w_rintl.c: Likewise.
        * src/newlib/libm/common/w_scalbnl.c: Likewise.
        * src/newlib/libm/common/w_exp2l.c: Likewise.
        * src/newlib/libm/common/w_fdiml.c: Likewise.
        * src/newlib/libm/common/w_fmal.c: Likewise.
        * src/newlib/libm/common/w_fmaxl.c: Likewise.
        * src/newlib/libm/common/w_fminl.c: Likewise.
        * src/newlib/libm/common/w_lrintl.c: Likewise.
        * src/newlib/libm/common/w_lroundl.c: Likewise.
        * src/newlib/libm/common/w_nearbyintl.c: Likewise.
        * src/newlib/libm/common/w_remquol.c: Likewise.
        * src/newlib/libm/common/w_roundl.c: Likewise.
        * src/newlib/libm/common/w_scalblnl.c: Likewise.
        * src/newlib/libm/common/w_truncl.c: Likewise.
        * src/newlib/libm/common/w_acoshl.c: Likewise.
        * src/newlib/libm/common/w_atanhl.c: Likewise.
        * src/newlib/libm/common/w_erfcl.c: Likewise.
        * src/newlib/libm/common/w_erfl.c: Likewise.
        * src/newlib/libm/common/w_lgammal.c: Likewise.
        * src/newlib/libm/common/w_remainderl.c: Likewise.
        * src/newlib/libm/common/w_tgammal.c: Likewise.
        * src/newlib/libm/common/w_sinhl.c: Likewise.
        * src/newlib/libm/common/w_llroundl.c: Likewise.
        * src/newlib/libm/common/Makefile.am: Add new files.
        * src/newlib/libm/common/Makefile.in: Regenerate..

Index: src/newlib/libc/include/math.h
===================================================================
--- src.orig/newlib/libc/include/math.h
+++ src/newlib/libc/include/math.h
@@ -5,6 +5,7 @@
 #include <sys/reent.h>
 #include <machine/ieeefp.h>
 #include "_ansi.h"
+#include <float.h>
 
 _BEGIN_STD_C
 
@@ -337,12 +338,85 @@ extern float log2f _PARAMS((float));
 extern float hypotf _PARAMS((float, float));
 #endif /* ! defined (_REENT_ONLY) */
 
-/* Other long double precision functions.  */
+/* On platforms where long double is as wide as double.  */
+#if (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && \
+     LDBL_MAX_EXP == DBL_MAX_EXP)
+/* Reentrant ANSI C functions.  */
+#ifndef __math_68881
+extern long double atanl _PARAMS((long double));
+extern long double cosl _PARAMS((long double));
+extern long double sinl _PARAMS((long double));
+extern long double tanl _PARAMS((long double));
+extern long double tanhl _PARAMS((long double));
+extern long double frexpl _PARAMS((long double value, int *));
+extern long double modfl _PARAMS((long double, long double *));
+extern long double ceill _PARAMS((long double));
+extern long double fabsl _PARAMS((long double));
+extern long double floorl _PARAMS((long double));
+extern long double log1pl _PARAMS((long double));
+extern long double expm1l _PARAMS((long double));
+#endif /* ! defined (__math_68881) */
+/* Non reentrant ANSI C functions.  */
+#ifndef _REENT_ONLY
+#ifndef __math_68881
+extern long double acosl _PARAMS((long double));
+extern long double asinl _PARAMS((long double));
+extern long double atan2l _PARAMS((long double, long double));
+extern long double coshl _PARAMS((long double));
+extern long double sinhl _PARAMS((long double));
+extern long double expl _PARAMS((long double));
+extern long double ldexpl _PARAMS((long double, int));
+extern long double logl _PARAMS((long double));
+extern long double log10l _PARAMS((long double));
+extern long double powl _PARAMS((long double, long double));
+extern long double sqrtl _PARAMS((long double));
+extern long double fmodl _PARAMS((long double, long double));
+extern long double hypotl _PARAMS((long double, long double));
+#endif /* ! defined (__math_68881) */
+#endif /* ! defined (_REENT_ONLY) */
+extern long double copysignl _PARAMS((long double, long double));
+extern long double nanl _PARAMS((const char *));
+extern int ilogbl _PARAMS((long double));
+extern long double asinhl _PARAMS((long double));
+extern long double cbrtl _PARAMS((long double));
+extern long double nextafterl _PARAMS((long double, long double));
+extern long double rintl _PARAMS((long double));
+extern long double scalbnl _PARAMS((long double, int));
+extern long double exp2l _PARAMS((long double));
+extern long double scalblnl _PARAMS((long double, long));
+extern long double tgammal _PARAMS((long double));
+extern long double nearbyintl _PARAMS((long double));
+extern long int lrintl _PARAMS((long double));
+extern long double roundl _PARAMS((long double));
+extern long lroundl _PARAMS((long double));
+extern _LONG_LONG_TYPE int llroundl _PARAMS((long double));
+extern long double truncl _PARAMS((long double));
+extern long double remquol _PARAMS((long double, long double, int *));
+extern long double fdiml _PARAMS((long double, long double));
+extern long double fmaxl _PARAMS((long double, long double));
+extern long double fminl _PARAMS((long double, long double));
+extern long double fmal _PARAMS((long double, long double, long double));
+#ifndef _REENT_ONLY
+extern long double acoshl _PARAMS((long double));
+extern long double atanhl _PARAMS((long double));
+extern long double remainderl _PARAMS((long double, long double));
+extern long double lgammal _PARAMS((long double));
+extern long double erfl _PARAMS((long double));
+extern long double erfcl _PARAMS((long double));
+#endif /* ! defined (_REENT_ONLY) */
+#else /* #if (DBL_MANT_DIG == LDBL_MANT_DIG && \
+              LDBL_MIN_EXP == DBL_MIN_EXP && \
+              LDBL_MAX_EXP == DBL_MAX_EXP) */
 #ifdef __i386__
+/* Other long double precision functions.  */
 extern _LONG_DOUBLE rintl _PARAMS((_LONG_DOUBLE));
 extern long int lrintl _PARAMS((_LONG_DOUBLE));
 extern _LONG_LONG_TYPE llrintl _PARAMS((_LONG_DOUBLE));
 #endif /* __i386__ */
+#endif /* #if (DBL_MANT_DIG == LDBL_MANT_DIG && \
+              LDBL_MIN_EXP == DBL_MIN_EXP && \
+              LDBL_MAX_EXP == DBL_MAX_EXP) */
 
 #endif /* !defined (__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L */
 
Index: src/newlib/libc/include/stdlib.h
===================================================================
--- src.orig/newlib/libc/include/stdlib.h
+++ src/newlib/libc/include/stdlib.h
@@ -12,6 +12,7 @@
 #define __need_size_t
 #define __need_wchar_t
 #include <stddef.h>
+#include <float.h>
 
 #include <sys/reent.h>
 #include <machine/stdlib.h>
@@ -198,6 +199,14 @@ int	_EXFUN(_system_r,(struct _reent *, c
 
 _VOID	_EXFUN(__eprintf,(const char *, const char *, unsigned int, const char *));
 
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+extern long double strtold (const char *, char **);
+extern long double wcstold (const wchar_t *, wchar_t **);
+#endif
+
 _END_STD_C
 
 #endif /* _STDLIB_H_ */
Index: src/newlib/libc/stdlib/Makefile.am
===================================================================
--- src.orig/newlib/libc/stdlib/Makefile.am
+++ src/newlib/libc/stdlib/Makefile.am
@@ -50,9 +50,11 @@ GENERAL_SOURCES = \
 	reallocf.c	\
 	sb_charsets.c	\
 	strtod.c	\
+	strtold.c	\
 	strtol.c	\
 	strtoul.c	\
 	wcstod.c	\
+	wcstold.c	\
 	wcstol.c	\
 	wcstoul.c	\
 	wcstombs.c	\
Index: src/newlib/libc/stdlib/Makefile.in
===================================================================
--- src.orig/newlib/libc/stdlib/Makefile.in
+++ src/newlib/libc/stdlib/Makefile.in
@@ -38,7 +38,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-LIBOBJDIR =
 DIST_COMMON = $(srcdir)/../../Makefile.shared $(srcdir)/Makefile.in \
 	$(srcdir)/Makefile.am
 subdir = stdlib
@@ -89,8 +88,9 @@ am__objects_1 = lib_a-__adjust.$(OBJEXT)
 	lib_a-mstats.$(OBJEXT) lib_a-rand.$(OBJEXT) \
 	lib_a-rand_r.$(OBJEXT) lib_a-realloc.$(OBJEXT) \
 	lib_a-reallocf.$(OBJEXT) lib_a-sb_charsets.$(OBJEXT) \
-	lib_a-strtod.$(OBJEXT) lib_a-strtol.$(OBJEXT) \
-	lib_a-strtoul.$(OBJEXT) lib_a-wcstod.$(OBJEXT) \
+	lib_a-strtod.$(OBJEXT) lib_a-strtold.$(OBJEXT) \
+	lib_a-strtol.$(OBJEXT) lib_a-strtoul.$(OBJEXT) \
+	lib_a-wcstod.$(OBJEXT) lib_a-wcstold.$(OBJEXT) \
 	lib_a-wcstol.$(OBJEXT) lib_a-wcstoul.$(OBJEXT) \
 	lib_a-wcstombs.$(OBJEXT) lib_a-wcstombs_r.$(OBJEXT) \
 	lib_a-wctomb.$(OBJEXT) lib_a-wctomb_r.$(OBJEXT)
@@ -139,9 +139,9 @@ am__objects_7 = __adjust.lo __atexit.lo 
 	ldiv.lo ldtoa.lo malloc.lo mblen.lo mblen_r.lo mbstowcs.lo \
 	mbstowcs_r.lo mbtowc.lo mbtowc_r.lo mlock.lo mprec.lo \
 	mstats.lo rand.lo rand_r.lo realloc.lo reallocf.lo \
-	sb_charsets.lo strtod.lo strtol.lo strtoul.lo wcstod.lo \
-	wcstol.lo wcstoul.lo wcstombs.lo wcstombs_r.lo wctomb.lo \
-	wctomb_r.lo
+	sb_charsets.lo strtod.lo strtold.lo strtol.lo strtoul.lo \
+	wcstod.lo wcstold.lo wcstol.lo wcstoul.lo wcstombs.lo \
+	wcstombs_r.lo wctomb.lo wctomb_r.lo
 am__objects_8 = cxa_atexit.lo cxa_finalize.lo drand48.lo ecvtbuf.lo \
 	efgcvt.lo erand48.lo jrand48.lo lcong48.lo lrand48.lo \
 	mrand48.lo msize.lo mtrim.lo nrand48.lo rand48.lo seed48.lo \
@@ -289,8 +289,20 @@ STRIP = @STRIP@
 USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@
 USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@
 VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_AS = @ac_ct_AS@
 ac_ct_CC = @ac_ct_CC@
+ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
+ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_LIPO = @ac_ct_LIPO@
+ac_ct_NMEDIT = @ac_ct_NMEDIT@
+ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
+ac_ct_OTOOL = @ac_ct_OTOOL@
+ac_ct_OTOOL64 = @ac_ct_OTOOL64@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_READELF = @ac_ct_READELF@
+ac_ct_STRIP = @ac_ct_STRIP@
 aext = @aext@
 am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
 am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
@@ -306,9 +318,6 @@ build_cpu = @build_cpu@
 build_os = @build_os@
 build_vendor = @build_vendor@
 datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
 exec_prefix = @exec_prefix@
 extra_dir = @extra_dir@
 host = @host@
@@ -316,14 +325,12 @@ host_alias = @host_alias@
 host_cpu = @host_cpu@
 host_os = @host_os@
 host_vendor = @host_vendor@
-htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
 libdir = @libdir@
 libexecdir = @libexecdir@
 libm_machine_dir = @libm_machine_dir@
-localedir = @localedir@
 localstatedir = @localstatedir@
 lpfx = @lpfx@
 lt_ECHO = @lt_ECHO@
@@ -333,10 +340,8 @@ mkdir_p = @mkdir_p@
 newlib_basedir = @newlib_basedir@
 oext = @oext@
 oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
-psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 subdirs = @subdirs@
@@ -391,9 +396,11 @@ GENERAL_SOURCES = \
 	reallocf.c	\
 	sb_charsets.c	\
 	strtod.c	\
+	strtold.c	\
 	strtol.c	\
 	strtoul.c	\
 	wcstod.c	\
+	wcstold.c	\
 	wcstol.c	\
 	wcstoul.c	\
 	wcstombs.c	\
@@ -882,6 +889,12 @@ lib_a-strtod.o: strtod.c
 lib_a-strtod.obj: strtod.c
 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtod.obj `if test -f 'strtod.c'; then $(CYGPATH_W) 'strtod.c'; else $(CYGPATH_W) '$(srcdir)/strtod.c'; fi`
 
+lib_a-strtold.o: strtold.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtold.o `test -f 'strtold.c' || echo '$(srcdir)/'`strtold.c
+
+lib_a-strtold.obj: strtold.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtold.obj `if test -f 'strtold.c'; then $(CYGPATH_W) 'strtold.c'; else $(CYGPATH_W) '$(srcdir)/strtold.c'; fi`
+
 lib_a-strtol.o: strtol.c
 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strtol.o `test -f 'strtol.c' || echo '$(srcdir)/'`strtol.c
 
@@ -900,6 +913,12 @@ lib_a-wcstod.o: wcstod.c
 lib_a-wcstod.obj: wcstod.c
 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstod.obj `if test -f 'wcstod.c'; then $(CYGPATH_W) 'wcstod.c'; else $(CYGPATH_W) '$(srcdir)/wcstod.c'; fi`
 
+lib_a-wcstold.o: wcstold.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstold.o `test -f 'wcstold.c' || echo '$(srcdir)/'`wcstold.c
+
+lib_a-wcstold.obj: wcstold.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstold.obj `if test -f 'wcstold.c'; then $(CYGPATH_W) 'wcstold.c'; else $(CYGPATH_W) '$(srcdir)/wcstold.c'; fi`
+
 lib_a-wcstol.o: wcstol.c
 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wcstol.o `test -f 'wcstol.c' || echo '$(srcdir)/'`wcstol.c
 
@@ -1237,7 +1256,7 @@ clean-libtool:
 	-rm -rf .libs _libs
 
 distclean-libtool:
-	-rm -f libtool config.lt
+	-rm -f libtool
 uninstall-info-am:
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
Index: src/newlib/libc/stdlib/strtold.c
===================================================================
--- /dev/null
+++ src/newlib/libc/stdlib/strtold.c
@@ -0,0 +1,14 @@
+#include <stdlib.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+strtold (const char *s00, char **se)
+{
+  return strtod(s00, se);
+}
+#endif
+
Index: src/newlib/libm/common/w_atanl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_atanl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+atanl (long double x)
+{
+  return atan(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_cosl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_cosl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+cosl (long double x)
+{
+  return cos(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_sinl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_sinl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+sinl (long double x)
+{
+  return sin(x);
+}
+#endif
+
Index: src/newlib/libm/common/Makefile.am
===================================================================
--- src.orig/newlib/libm/common/Makefile.am
+++ src/newlib/libm/common/Makefile.am
@@ -11,7 +11,15 @@ src = 	s_finite.c s_copysign.c s_modf.c 
 	s_rint.c s_logb.c s_log2.c s_matherr.c s_lib_ver.c \
 	s_fdim.c s_fma.c s_fmax.c s_fmin.c s_fpclassify.c s_lrint.c \
 	s_lround.c s_llround.c s_nearbyint.c s_remquo.c s_round.c s_scalbln.c \
-	s_signbit.c s_trunc.c
+	s_signbit.c s_trunc.c \
+	w_atanl.c w_cosl.c w_sinl.c w_tanl.c w_tanhl.c w_frexpl.c w_modfl.c \
+	w_ceill.c w_fabsl.c w_floorl.c w_log1pl.c w_expm1l.c w_acosl.c w_asinl.c \
+	w_atan2l.c w_coshl.c w_sinhl.c w_expl.c w_ldexpl.c w_logl.c w_log10l.c \
+	w_powl.c w_sqrtl.c w_fmodl.c w_hypotl.c w_copysignl.c w_nanl.c w_ilogbl.c \
+	w_asinhl.c w_cbrtl.c w_nextafterl.c w_rintl.c w_scalbnl.c w_exp2l.c \
+	w_scalblnl.c w_tgammal.c w_nearbyintl.c w_lrintl.c w_roundl.c w_lroundl.c \
+	w_llroundl.c w_truncl.c w_remquol.c w_fdiml.c w_fmaxl.c w_fminl.c w_fmal.c \
+	w_acoshl.c w_atanhl.c w_remainderl.c w_lgammal.c w_erfl.c w_erfcl.c
 
 fsrc =	sf_finite.c sf_copysign.c sf_modf.c sf_scalbn.c \
 	sf_cbrt.c sf_exp10.c sf_expm1.c sf_ilogb.c \
Index: src/newlib/libm/common/w_modfl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_modfl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+modfl (long double x, long double *iptr)
+{
+  return modf(x, iptr);
+}
+#endif
+
Index: src/newlib/libm/common/w_frexpl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_frexpl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+frexpl (long double x, int *eptr)
+{
+  return frexp(x, eptr);
+}
+#endif
+
Index: src/newlib/libm/common/w_tanhl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_tanhl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+tanhl (long double x)
+{
+  return tanh(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_tanl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_tanl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+tanl (long double x)
+{
+  return tan(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_expm1l.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_expm1l.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+expm1l (long double x)
+{
+  return expm1(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_log1pl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_log1pl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+log1pl (long double x)
+{
+  return log1p(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_ceill.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_ceill.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+ceill (long double x)
+{
+  return ceil(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_fabsl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_fabsl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+fabsl (long double x)
+{
+  return fabs(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_floorl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_floorl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+floorl (long double x)
+{
+  return floor(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_acosl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_acosl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+acosl (long double x)
+{
+  return acos(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_asinl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_asinl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+asinl (long double x)
+{
+  return asin(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_atan2l.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_atan2l.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+atan2l (long double v, long double u)
+{
+  return atan2(v, u);
+}
+#endif
+
Index: src/newlib/libm/common/w_coshl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_coshl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+coshl (long double x)
+{
+  return cosh(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_expl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_expl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+expl (long double x)
+{
+  return exp(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_fmodl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_fmodl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+fmodl (long double x, long double y)
+{
+  return fmod(x, y);
+}
+#endif
+
Index: src/newlib/libm/common/w_hypotl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_hypotl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+hypotl (long double x, long double y)
+{
+  return hypot(x, y);
+}
+#endif
+
Index: src/newlib/libm/common/w_ldexpl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_ldexpl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+ldexpl (long double value, int exp)
+{
+  return ldexp(value, exp);
+}
+#endif
+
Index: src/newlib/libm/common/w_log10l.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_log10l.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+log10l (long double x)
+{
+  return log10(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_logl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_logl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+logl (long double x)
+{
+  return log(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_powl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_powl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+powl (long double x, long double y)
+{
+  return pow(x, y);
+}
+#endif
+
Index: src/newlib/libm/common/w_sqrtl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_sqrtl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+sqrtl (long double x)
+{
+  return sqrt(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_copysignl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_copysignl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+copysignl (long double x, long double y)
+{
+  return copysign(x, y);
+}
+#endif
+
Index: src/newlib/libm/common/w_ilogbl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_ilogbl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+int
+ilogbl (long double x)
+{
+  return ilogb(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_nanl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_nanl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+nanl (const char *tagp)
+{
+  return nan(tagp);
+}
+#endif
+
Index: src/newlib/libm/common/w_cbrtl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_cbrtl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+cbrtl (long double x)
+{
+  return cbrt(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_asinhl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_asinhl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+asinhl (long double x)
+{
+  return asinh(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_nextafterl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_nextafterl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+nextafterl (long double x, long double y)
+{
+  return nextafter(x, y);
+}
+#endif
+
Index: src/newlib/libm/common/w_rintl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_rintl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+rintl (long double x)
+{
+  return rint(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_scalbnl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_scalbnl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+scalbnl (long double x, int n)
+{
+  return scalbn(x, n);
+}
+#endif
+
Index: src/newlib/libm/common/w_exp2l.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_exp2l.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+exp2l (long double x)
+{
+  return exp2(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_fdiml.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_fdiml.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+fdiml (long double x, long double y)
+{
+  return fdim(x, y);
+}
+#endif
+
Index: src/newlib/libm/common/w_fmal.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_fmal.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+fmal (long double x, long double y, long double z)
+{
+  return fma(x, y, z);
+}
+#endif
+
Index: src/newlib/libm/common/w_fmaxl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_fmaxl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+fmaxl (long double x, long double y)
+{
+  return fmax(x, y);
+}
+#endif
+
Index: src/newlib/libm/common/w_fminl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_fminl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+fminl (long double x, long double y)
+{
+  return fmin(x, y);
+}
+#endif
+
Index: src/newlib/libm/common/w_lrintl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_lrintl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long int
+lrintl (long double x)
+{
+  return lrint(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_lroundl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_lroundl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long
+lroundl (long double x)
+{
+  return lround(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_nearbyintl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_nearbyintl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+nearbyintl (long double x)
+{
+  return nearbyint(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_remquol.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_remquol.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+remquol (long double x, long double y, int *quo)
+{
+  return remquo(x, y, quo);
+}
+#endif
+
Index: src/newlib/libm/common/w_roundl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_roundl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+roundl (long double x)
+{
+  return round(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_scalblnl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_scalblnl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+scalblnl (long double x, long n)
+{
+  return scalbln(x, n);
+}
+#endif
+
Index: src/newlib/libm/common/w_truncl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_truncl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+truncl (long double x)
+{
+  return trunc(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_acoshl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_acoshl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+acoshl (long double x)
+{
+  return acosh(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_atanhl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_atanhl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+atanhl (long double x)
+{
+  return atanh(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_erfcl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_erfcl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+erfcl (long double x)
+{
+  return erfc(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_erfl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_erfl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+erfl (long double x)
+{
+  return erf(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_lgammal.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_lgammal.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+lgammal (long double x)
+{
+  return lgamma(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_remainderl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_remainderl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+remainderl (long double x, long double p)
+{
+  return remainder(x, p);
+}
+#endif
+
Index: src/newlib/libm/common/w_tgammal.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_tgammal.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+tgammal (long double x)
+{
+  return tgamma(x);
+}
+#endif
+
Index: src/newlib/libm/common/w_sinhl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_sinhl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+sinhl (long double x)
+{
+  return sinh(x);
+}
+#endif
+
Index: src/newlib/libm/common/Makefile.in
===================================================================
--- src.orig/newlib/libm/common/Makefile.in
+++ src/newlib/libm/common/Makefile.in
@@ -75,7 +75,33 @@ am__objects_1 = lib_a-s_finite.$(OBJEXT)
 	lib_a-s_llround.$(OBJEXT) lib_a-s_nearbyint.$(OBJEXT) \
 	lib_a-s_remquo.$(OBJEXT) lib_a-s_round.$(OBJEXT) \
 	lib_a-s_scalbln.$(OBJEXT) lib_a-s_signbit.$(OBJEXT) \
-	lib_a-s_trunc.$(OBJEXT)
+	lib_a-s_trunc.$(OBJEXT) lib_a-w_atanl.$(OBJEXT) \
+	lib_a-w_cosl.$(OBJEXT) lib_a-w_sinl.$(OBJEXT) \
+	lib_a-w_tanl.$(OBJEXT) lib_a-w_tanhl.$(OBJEXT) \
+	lib_a-w_frexpl.$(OBJEXT) lib_a-w_modfl.$(OBJEXT) \
+	lib_a-w_ceill.$(OBJEXT) lib_a-w_fabsl.$(OBJEXT) \
+	lib_a-w_floorl.$(OBJEXT) lib_a-w_log1pl.$(OBJEXT) \
+	lib_a-w_expm1l.$(OBJEXT) lib_a-w_acosl.$(OBJEXT) \
+	lib_a-w_asinl.$(OBJEXT) lib_a-w_atan2l.$(OBJEXT) \
+	lib_a-w_coshl.$(OBJEXT) lib_a-w_sinhl.$(OBJEXT) \
+	lib_a-w_expl.$(OBJEXT) lib_a-w_ldexpl.$(OBJEXT) \
+	lib_a-w_logl.$(OBJEXT) lib_a-w_log10l.$(OBJEXT) \
+	lib_a-w_powl.$(OBJEXT) lib_a-w_sqrtl.$(OBJEXT) \
+	lib_a-w_fmodl.$(OBJEXT) lib_a-w_hypotl.$(OBJEXT) \
+	lib_a-w_copysignl.$(OBJEXT) lib_a-w_nanl.$(OBJEXT) \
+	lib_a-w_ilogbl.$(OBJEXT) lib_a-w_asinhl.$(OBJEXT) \
+	lib_a-w_cbrtl.$(OBJEXT) lib_a-w_nextafterl.$(OBJEXT) \
+	lib_a-w_rintl.$(OBJEXT) lib_a-w_scalbnl.$(OBJEXT) \
+	lib_a-w_exp2l.$(OBJEXT) lib_a-w_scalblnl.$(OBJEXT) \
+	lib_a-w_tgammal.$(OBJEXT) lib_a-w_nearbyintl.$(OBJEXT) \
+	lib_a-w_lrintl.$(OBJEXT) lib_a-w_roundl.$(OBJEXT) \
+	lib_a-w_lroundl.$(OBJEXT) lib_a-w_llroundl.$(OBJEXT) \
+	lib_a-w_truncl.$(OBJEXT) lib_a-w_remquol.$(OBJEXT) \
+	lib_a-w_fdiml.$(OBJEXT) lib_a-w_fmaxl.$(OBJEXT) \
+	lib_a-w_fminl.$(OBJEXT) lib_a-w_fmal.$(OBJEXT) \
+	lib_a-w_acoshl.$(OBJEXT) lib_a-w_atanhl.$(OBJEXT) \
+	lib_a-w_remainderl.$(OBJEXT) lib_a-w_lgammal.$(OBJEXT) \
+	lib_a-w_erfl.$(OBJEXT) lib_a-w_erfcl.$(OBJEXT)
 am__objects_2 = lib_a-sf_finite.$(OBJEXT) lib_a-sf_copysign.$(OBJEXT) \
 	lib_a-sf_modf.$(OBJEXT) lib_a-sf_scalbn.$(OBJEXT) \
 	lib_a-sf_cbrt.$(OBJEXT) lib_a-sf_exp10.$(OBJEXT) \
@@ -105,7 +131,18 @@ am__objects_3 = s_finite.lo s_copysign.l
 	s_logb.lo s_log2.lo s_matherr.lo s_lib_ver.lo s_fdim.lo \
 	s_fma.lo s_fmax.lo s_fmin.lo s_fpclassify.lo s_lrint.lo \
 	s_lround.lo s_llround.lo s_nearbyint.lo s_remquo.lo s_round.lo \
-	s_scalbln.lo s_signbit.lo s_trunc.lo
+	s_scalbln.lo s_signbit.lo s_trunc.lo w_atanl.lo w_cosl.lo \
+	w_sinl.lo w_tanl.lo w_tanhl.lo w_frexpl.lo w_modfl.lo \
+	w_ceill.lo w_fabsl.lo w_floorl.lo w_log1pl.lo w_expm1l.lo \
+	w_acosl.lo w_asinl.lo w_atan2l.lo w_coshl.lo w_sinhl.lo \
+	w_expl.lo w_ldexpl.lo w_logl.lo w_log10l.lo w_powl.lo \
+	w_sqrtl.lo w_fmodl.lo w_hypotl.lo w_copysignl.lo w_nanl.lo \
+	w_ilogbl.lo w_asinhl.lo w_cbrtl.lo w_nextafterl.lo w_rintl.lo \
+	w_scalbnl.lo w_exp2l.lo w_scalblnl.lo w_tgammal.lo \
+	w_nearbyintl.lo w_lrintl.lo w_roundl.lo w_lroundl.lo \
+	w_llroundl.lo w_truncl.lo w_remquol.lo w_fdiml.lo w_fmaxl.lo \
+	w_fminl.lo w_fmal.lo w_acoshl.lo w_atanhl.lo w_remainderl.lo \
+	w_lgammal.lo w_erfl.lo w_erfcl.lo
 am__objects_4 = sf_finite.lo sf_copysign.lo sf_modf.lo sf_scalbn.lo \
 	sf_cbrt.lo sf_exp10.lo sf_expm1.lo sf_ilogb.lo sf_infinity.lo \
 	sf_isinf.lo sf_isinff.lo sf_isnan.lo sf_isnanf.lo sf_log1p.lo \
@@ -284,7 +321,15 @@ src = s_finite.c s_copysign.c s_modf.c s
 	s_rint.c s_logb.c s_log2.c s_matherr.c s_lib_ver.c \
 	s_fdim.c s_fma.c s_fmax.c s_fmin.c s_fpclassify.c s_lrint.c \
 	s_lround.c s_llround.c s_nearbyint.c s_remquo.c s_round.c s_scalbln.c \
-	s_signbit.c s_trunc.c
+	s_signbit.c s_trunc.c \
+	w_atanl.c w_cosl.c w_sinl.c w_tanl.c w_tanhl.c w_frexpl.c w_modfl.c \
+	w_ceill.c w_fabsl.c w_floorl.c w_log1pl.c w_expm1l.c w_acosl.c w_asinl.c \
+	w_atan2l.c w_coshl.c w_sinhl.c w_expl.c w_ldexpl.c w_logl.c w_log10l.c \
+	w_powl.c w_sqrtl.c w_fmodl.c w_hypotl.c w_copysignl.c w_nanl.c w_ilogbl.c \
+	w_asinhl.c w_cbrtl.c w_nextafterl.c w_rintl.c w_scalbnl.c w_exp2l.c \
+	w_scalblnl.c w_tgammal.c w_nearbyintl.c w_lrintl.c w_roundl.c w_lroundl.c \
+	w_llroundl.c w_truncl.c w_remquol.c w_fdiml.c w_fmaxl.c w_fminl.c w_fmal.c \
+	w_acoshl.c w_atanhl.c w_remainderl.c w_lgammal.c w_erfl.c w_erfcl.c
 
 fsrc = sf_finite.c sf_copysign.c sf_modf.c sf_scalbn.c \
 	sf_cbrt.c sf_exp10.c sf_expm1.c sf_ilogb.c \
@@ -604,6 +649,324 @@ lib_a-s_trunc.o: s_trunc.c
 lib_a-s_trunc.obj: s_trunc.c
 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-s_trunc.obj `if test -f 's_trunc.c'; then $(CYGPATH_W) 's_trunc.c'; else $(CYGPATH_W) '$(srcdir)/s_trunc.c'; fi`
 
+lib_a-w_atanl.o: w_atanl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_atanl.o `test -f 'w_atanl.c' || echo '$(srcdir)/'`w_atanl.c
+
+lib_a-w_atanl.obj: w_atanl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_atanl.obj `if test -f 'w_atanl.c'; then $(CYGPATH_W) 'w_atanl.c'; else $(CYGPATH_W) '$(srcdir)/w_atanl.c'; fi`
+
+lib_a-w_cosl.o: w_cosl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_cosl.o `test -f 'w_cosl.c' || echo '$(srcdir)/'`w_cosl.c
+
+lib_a-w_cosl.obj: w_cosl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_cosl.obj `if test -f 'w_cosl.c'; then $(CYGPATH_W) 'w_cosl.c'; else $(CYGPATH_W) '$(srcdir)/w_cosl.c'; fi`
+
+lib_a-w_sinl.o: w_sinl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_sinl.o `test -f 'w_sinl.c' || echo '$(srcdir)/'`w_sinl.c
+
+lib_a-w_sinl.obj: w_sinl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_sinl.obj `if test -f 'w_sinl.c'; then $(CYGPATH_W) 'w_sinl.c'; else $(CYGPATH_W) '$(srcdir)/w_sinl.c'; fi`
+
+lib_a-w_tanl.o: w_tanl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_tanl.o `test -f 'w_tanl.c' || echo '$(srcdir)/'`w_tanl.c
+
+lib_a-w_tanl.obj: w_tanl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_tanl.obj `if test -f 'w_tanl.c'; then $(CYGPATH_W) 'w_tanl.c'; else $(CYGPATH_W) '$(srcdir)/w_tanl.c'; fi`
+
+lib_a-w_tanhl.o: w_tanhl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_tanhl.o `test -f 'w_tanhl.c' || echo '$(srcdir)/'`w_tanhl.c
+
+lib_a-w_tanhl.obj: w_tanhl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_tanhl.obj `if test -f 'w_tanhl.c'; then $(CYGPATH_W) 'w_tanhl.c'; else $(CYGPATH_W) '$(srcdir)/w_tanhl.c'; fi`
+
+lib_a-w_frexpl.o: w_frexpl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_frexpl.o `test -f 'w_frexpl.c' || echo '$(srcdir)/'`w_frexpl.c
+
+lib_a-w_frexpl.obj: w_frexpl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_frexpl.obj `if test -f 'w_frexpl.c'; then $(CYGPATH_W) 'w_frexpl.c'; else $(CYGPATH_W) '$(srcdir)/w_frexpl.c'; fi`
+
+lib_a-w_modfl.o: w_modfl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_modfl.o `test -f 'w_modfl.c' || echo '$(srcdir)/'`w_modfl.c
+
+lib_a-w_modfl.obj: w_modfl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_modfl.obj `if test -f 'w_modfl.c'; then $(CYGPATH_W) 'w_modfl.c'; else $(CYGPATH_W) '$(srcdir)/w_modfl.c'; fi`
+
+lib_a-w_ceill.o: w_ceill.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_ceill.o `test -f 'w_ceill.c' || echo '$(srcdir)/'`w_ceill.c
+
+lib_a-w_ceill.obj: w_ceill.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_ceill.obj `if test -f 'w_ceill.c'; then $(CYGPATH_W) 'w_ceill.c'; else $(CYGPATH_W) '$(srcdir)/w_ceill.c'; fi`
+
+lib_a-w_fabsl.o: w_fabsl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fabsl.o `test -f 'w_fabsl.c' || echo '$(srcdir)/'`w_fabsl.c
+
+lib_a-w_fabsl.obj: w_fabsl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fabsl.obj `if test -f 'w_fabsl.c'; then $(CYGPATH_W) 'w_fabsl.c'; else $(CYGPATH_W) '$(srcdir)/w_fabsl.c'; fi`
+
+lib_a-w_floorl.o: w_floorl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_floorl.o `test -f 'w_floorl.c' || echo '$(srcdir)/'`w_floorl.c
+
+lib_a-w_floorl.obj: w_floorl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_floorl.obj `if test -f 'w_floorl.c'; then $(CYGPATH_W) 'w_floorl.c'; else $(CYGPATH_W) '$(srcdir)/w_floorl.c'; fi`
+
+lib_a-w_log1pl.o: w_log1pl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_log1pl.o `test -f 'w_log1pl.c' || echo '$(srcdir)/'`w_log1pl.c
+
+lib_a-w_log1pl.obj: w_log1pl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_log1pl.obj `if test -f 'w_log1pl.c'; then $(CYGPATH_W) 'w_log1pl.c'; else $(CYGPATH_W) '$(srcdir)/w_log1pl.c'; fi`
+
+lib_a-w_expm1l.o: w_expm1l.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_expm1l.o `test -f 'w_expm1l.c' || echo '$(srcdir)/'`w_expm1l.c
+
+lib_a-w_expm1l.obj: w_expm1l.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_expm1l.obj `if test -f 'w_expm1l.c'; then $(CYGPATH_W) 'w_expm1l.c'; else $(CYGPATH_W) '$(srcdir)/w_expm1l.c'; fi`
+
+lib_a-w_acosl.o: w_acosl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_acosl.o `test -f 'w_acosl.c' || echo '$(srcdir)/'`w_acosl.c
+
+lib_a-w_acosl.obj: w_acosl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_acosl.obj `if test -f 'w_acosl.c'; then $(CYGPATH_W) 'w_acosl.c'; else $(CYGPATH_W) '$(srcdir)/w_acosl.c'; fi`
+
+lib_a-w_asinl.o: w_asinl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_asinl.o `test -f 'w_asinl.c' || echo '$(srcdir)/'`w_asinl.c
+
+lib_a-w_asinl.obj: w_asinl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_asinl.obj `if test -f 'w_asinl.c'; then $(CYGPATH_W) 'w_asinl.c'; else $(CYGPATH_W) '$(srcdir)/w_asinl.c'; fi`
+
+lib_a-w_atan2l.o: w_atan2l.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_atan2l.o `test -f 'w_atan2l.c' || echo '$(srcdir)/'`w_atan2l.c
+
+lib_a-w_atan2l.obj: w_atan2l.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_atan2l.obj `if test -f 'w_atan2l.c'; then $(CYGPATH_W) 'w_atan2l.c'; else $(CYGPATH_W) '$(srcdir)/w_atan2l.c'; fi`
+
+lib_a-w_coshl.o: w_coshl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_coshl.o `test -f 'w_coshl.c' || echo '$(srcdir)/'`w_coshl.c
+
+lib_a-w_coshl.obj: w_coshl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_coshl.obj `if test -f 'w_coshl.c'; then $(CYGPATH_W) 'w_coshl.c'; else $(CYGPATH_W) '$(srcdir)/w_coshl.c'; fi`
+
+lib_a-w_sinhl.o: w_sinhl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_sinhl.o `test -f 'w_sinhl.c' || echo '$(srcdir)/'`w_sinhl.c
+
+lib_a-w_sinhl.obj: w_sinhl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_sinhl.obj `if test -f 'w_sinhl.c'; then $(CYGPATH_W) 'w_sinhl.c'; else $(CYGPATH_W) '$(srcdir)/w_sinhl.c'; fi`
+
+lib_a-w_expl.o: w_expl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_expl.o `test -f 'w_expl.c' || echo '$(srcdir)/'`w_expl.c
+
+lib_a-w_expl.obj: w_expl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_expl.obj `if test -f 'w_expl.c'; then $(CYGPATH_W) 'w_expl.c'; else $(CYGPATH_W) '$(srcdir)/w_expl.c'; fi`
+
+lib_a-w_ldexpl.o: w_ldexpl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_ldexpl.o `test -f 'w_ldexpl.c' || echo '$(srcdir)/'`w_ldexpl.c
+
+lib_a-w_ldexpl.obj: w_ldexpl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_ldexpl.obj `if test -f 'w_ldexpl.c'; then $(CYGPATH_W) 'w_ldexpl.c'; else $(CYGPATH_W) '$(srcdir)/w_ldexpl.c'; fi`
+
+lib_a-w_logl.o: w_logl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_logl.o `test -f 'w_logl.c' || echo '$(srcdir)/'`w_logl.c
+
+lib_a-w_logl.obj: w_logl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_logl.obj `if test -f 'w_logl.c'; then $(CYGPATH_W) 'w_logl.c'; else $(CYGPATH_W) '$(srcdir)/w_logl.c'; fi`
+
+lib_a-w_log10l.o: w_log10l.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_log10l.o `test -f 'w_log10l.c' || echo '$(srcdir)/'`w_log10l.c
+
+lib_a-w_log10l.obj: w_log10l.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_log10l.obj `if test -f 'w_log10l.c'; then $(CYGPATH_W) 'w_log10l.c'; else $(CYGPATH_W) '$(srcdir)/w_log10l.c'; fi`
+
+lib_a-w_powl.o: w_powl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_powl.o `test -f 'w_powl.c' || echo '$(srcdir)/'`w_powl.c
+
+lib_a-w_powl.obj: w_powl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_powl.obj `if test -f 'w_powl.c'; then $(CYGPATH_W) 'w_powl.c'; else $(CYGPATH_W) '$(srcdir)/w_powl.c'; fi`
+
+lib_a-w_sqrtl.o: w_sqrtl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_sqrtl.o `test -f 'w_sqrtl.c' || echo '$(srcdir)/'`w_sqrtl.c
+
+lib_a-w_sqrtl.obj: w_sqrtl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_sqrtl.obj `if test -f 'w_sqrtl.c'; then $(CYGPATH_W) 'w_sqrtl.c'; else $(CYGPATH_W) '$(srcdir)/w_sqrtl.c'; fi`
+
+lib_a-w_fmodl.o: w_fmodl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fmodl.o `test -f 'w_fmodl.c' || echo '$(srcdir)/'`w_fmodl.c
+
+lib_a-w_fmodl.obj: w_fmodl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fmodl.obj `if test -f 'w_fmodl.c'; then $(CYGPATH_W) 'w_fmodl.c'; else $(CYGPATH_W) '$(srcdir)/w_fmodl.c'; fi`
+
+lib_a-w_hypotl.o: w_hypotl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_hypotl.o `test -f 'w_hypotl.c' || echo '$(srcdir)/'`w_hypotl.c
+
+lib_a-w_hypotl.obj: w_hypotl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_hypotl.obj `if test -f 'w_hypotl.c'; then $(CYGPATH_W) 'w_hypotl.c'; else $(CYGPATH_W) '$(srcdir)/w_hypotl.c'; fi`
+
+lib_a-w_copysignl.o: w_copysignl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_copysignl.o `test -f 'w_copysignl.c' || echo '$(srcdir)/'`w_copysignl.c
+
+lib_a-w_copysignl.obj: w_copysignl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_copysignl.obj `if test -f 'w_copysignl.c'; then $(CYGPATH_W) 'w_copysignl.c'; else $(CYGPATH_W) '$(srcdir)/w_copysignl.c'; fi`
+
+lib_a-w_nanl.o: w_nanl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_nanl.o `test -f 'w_nanl.c' || echo '$(srcdir)/'`w_nanl.c
+
+lib_a-w_nanl.obj: w_nanl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_nanl.obj `if test -f 'w_nanl.c'; then $(CYGPATH_W) 'w_nanl.c'; else $(CYGPATH_W) '$(srcdir)/w_nanl.c'; fi`
+
+lib_a-w_ilogbl.o: w_ilogbl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_ilogbl.o `test -f 'w_ilogbl.c' || echo '$(srcdir)/'`w_ilogbl.c
+
+lib_a-w_ilogbl.obj: w_ilogbl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_ilogbl.obj `if test -f 'w_ilogbl.c'; then $(CYGPATH_W) 'w_ilogbl.c'; else $(CYGPATH_W) '$(srcdir)/w_ilogbl.c'; fi`
+
+lib_a-w_asinhl.o: w_asinhl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_asinhl.o `test -f 'w_asinhl.c' || echo '$(srcdir)/'`w_asinhl.c
+
+lib_a-w_asinhl.obj: w_asinhl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_asinhl.obj `if test -f 'w_asinhl.c'; then $(CYGPATH_W) 'w_asinhl.c'; else $(CYGPATH_W) '$(srcdir)/w_asinhl.c'; fi`
+
+lib_a-w_cbrtl.o: w_cbrtl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_cbrtl.o `test -f 'w_cbrtl.c' || echo '$(srcdir)/'`w_cbrtl.c
+
+lib_a-w_cbrtl.obj: w_cbrtl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_cbrtl.obj `if test -f 'w_cbrtl.c'; then $(CYGPATH_W) 'w_cbrtl.c'; else $(CYGPATH_W) '$(srcdir)/w_cbrtl.c'; fi`
+
+lib_a-w_nextafterl.o: w_nextafterl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_nextafterl.o `test -f 'w_nextafterl.c' || echo '$(srcdir)/'`w_nextafterl.c
+
+lib_a-w_nextafterl.obj: w_nextafterl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_nextafterl.obj `if test -f 'w_nextafterl.c'; then $(CYGPATH_W) 'w_nextafterl.c'; else $(CYGPATH_W) '$(srcdir)/w_nextafterl.c'; fi`
+
+lib_a-w_rintl.o: w_rintl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_rintl.o `test -f 'w_rintl.c' || echo '$(srcdir)/'`w_rintl.c
+
+lib_a-w_rintl.obj: w_rintl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_rintl.obj `if test -f 'w_rintl.c'; then $(CYGPATH_W) 'w_rintl.c'; else $(CYGPATH_W) '$(srcdir)/w_rintl.c'; fi`
+
+lib_a-w_scalbnl.o: w_scalbnl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_scalbnl.o `test -f 'w_scalbnl.c' || echo '$(srcdir)/'`w_scalbnl.c
+
+lib_a-w_scalbnl.obj: w_scalbnl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_scalbnl.obj `if test -f 'w_scalbnl.c'; then $(CYGPATH_W) 'w_scalbnl.c'; else $(CYGPATH_W) '$(srcdir)/w_scalbnl.c'; fi`
+
+lib_a-w_exp2l.o: w_exp2l.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_exp2l.o `test -f 'w_exp2l.c' || echo '$(srcdir)/'`w_exp2l.c
+
+lib_a-w_exp2l.obj: w_exp2l.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_exp2l.obj `if test -f 'w_exp2l.c'; then $(CYGPATH_W) 'w_exp2l.c'; else $(CYGPATH_W) '$(srcdir)/w_exp2l.c'; fi`
+
+lib_a-w_scalblnl.o: w_scalblnl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_scalblnl.o `test -f 'w_scalblnl.c' || echo '$(srcdir)/'`w_scalblnl.c
+
+lib_a-w_scalblnl.obj: w_scalblnl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_scalblnl.obj `if test -f 'w_scalblnl.c'; then $(CYGPATH_W) 'w_scalblnl.c'; else $(CYGPATH_W) '$(srcdir)/w_scalblnl.c'; fi`
+
+lib_a-w_tgammal.o: w_tgammal.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_tgammal.o `test -f 'w_tgammal.c' || echo '$(srcdir)/'`w_tgammal.c
+
+lib_a-w_tgammal.obj: w_tgammal.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_tgammal.obj `if test -f 'w_tgammal.c'; then $(CYGPATH_W) 'w_tgammal.c'; else $(CYGPATH_W) '$(srcdir)/w_tgammal.c'; fi`
+
+lib_a-w_nearbyintl.o: w_nearbyintl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_nearbyintl.o `test -f 'w_nearbyintl.c' || echo '$(srcdir)/'`w_nearbyintl.c
+
+lib_a-w_nearbyintl.obj: w_nearbyintl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_nearbyintl.obj `if test -f 'w_nearbyintl.c'; then $(CYGPATH_W) 'w_nearbyintl.c'; else $(CYGPATH_W) '$(srcdir)/w_nearbyintl.c'; fi`
+
+lib_a-w_lrintl.o: w_lrintl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_lrintl.o `test -f 'w_lrintl.c' || echo '$(srcdir)/'`w_lrintl.c
+
+lib_a-w_lrintl.obj: w_lrintl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_lrintl.obj `if test -f 'w_lrintl.c'; then $(CYGPATH_W) 'w_lrintl.c'; else $(CYGPATH_W) '$(srcdir)/w_lrintl.c'; fi`
+
+lib_a-w_roundl.o: w_roundl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_roundl.o `test -f 'w_roundl.c' || echo '$(srcdir)/'`w_roundl.c
+
+lib_a-w_roundl.obj: w_roundl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_roundl.obj `if test -f 'w_roundl.c'; then $(CYGPATH_W) 'w_roundl.c'; else $(CYGPATH_W) '$(srcdir)/w_roundl.c'; fi`
+
+lib_a-w_lroundl.o: w_lroundl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_lroundl.o `test -f 'w_lroundl.c' || echo '$(srcdir)/'`w_lroundl.c
+
+lib_a-w_lroundl.obj: w_lroundl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_lroundl.obj `if test -f 'w_lroundl.c'; then $(CYGPATH_W) 'w_lroundl.c'; else $(CYGPATH_W) '$(srcdir)/w_lroundl.c'; fi`
+
+lib_a-w_llroundl.o: w_llroundl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_llroundl.o `test -f 'w_llroundl.c' || echo '$(srcdir)/'`w_llroundl.c
+
+lib_a-w_llroundl.obj: w_llroundl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_llroundl.obj `if test -f 'w_llroundl.c'; then $(CYGPATH_W) 'w_llroundl.c'; else $(CYGPATH_W) '$(srcdir)/w_llroundl.c'; fi`
+
+lib_a-w_truncl.o: w_truncl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_truncl.o `test -f 'w_truncl.c' || echo '$(srcdir)/'`w_truncl.c
+
+lib_a-w_truncl.obj: w_truncl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_truncl.obj `if test -f 'w_truncl.c'; then $(CYGPATH_W) 'w_truncl.c'; else $(CYGPATH_W) '$(srcdir)/w_truncl.c'; fi`
+
+lib_a-w_remquol.o: w_remquol.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_remquol.o `test -f 'w_remquol.c' || echo '$(srcdir)/'`w_remquol.c
+
+lib_a-w_remquol.obj: w_remquol.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_remquol.obj `if test -f 'w_remquol.c'; then $(CYGPATH_W) 'w_remquol.c'; else $(CYGPATH_W) '$(srcdir)/w_remquol.c'; fi`
+
+lib_a-w_fdiml.o: w_fdiml.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fdiml.o `test -f 'w_fdiml.c' || echo '$(srcdir)/'`w_fdiml.c
+
+lib_a-w_fdiml.obj: w_fdiml.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fdiml.obj `if test -f 'w_fdiml.c'; then $(CYGPATH_W) 'w_fdiml.c'; else $(CYGPATH_W) '$(srcdir)/w_fdiml.c'; fi`
+
+lib_a-w_fmaxl.o: w_fmaxl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fmaxl.o `test -f 'w_fmaxl.c' || echo '$(srcdir)/'`w_fmaxl.c
+
+lib_a-w_fmaxl.obj: w_fmaxl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fmaxl.obj `if test -f 'w_fmaxl.c'; then $(CYGPATH_W) 'w_fmaxl.c'; else $(CYGPATH_W) '$(srcdir)/w_fmaxl.c'; fi`
+
+lib_a-w_fminl.o: w_fminl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fminl.o `test -f 'w_fminl.c' || echo '$(srcdir)/'`w_fminl.c
+
+lib_a-w_fminl.obj: w_fminl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fminl.obj `if test -f 'w_fminl.c'; then $(CYGPATH_W) 'w_fminl.c'; else $(CYGPATH_W) '$(srcdir)/w_fminl.c'; fi`
+
+lib_a-w_fmal.o: w_fmal.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fmal.o `test -f 'w_fmal.c' || echo '$(srcdir)/'`w_fmal.c
+
+lib_a-w_fmal.obj: w_fmal.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_fmal.obj `if test -f 'w_fmal.c'; then $(CYGPATH_W) 'w_fmal.c'; else $(CYGPATH_W) '$(srcdir)/w_fmal.c'; fi`
+
+lib_a-w_acoshl.o: w_acoshl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_acoshl.o `test -f 'w_acoshl.c' || echo '$(srcdir)/'`w_acoshl.c
+
+lib_a-w_acoshl.obj: w_acoshl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_acoshl.obj `if test -f 'w_acoshl.c'; then $(CYGPATH_W) 'w_acoshl.c'; else $(CYGPATH_W) '$(srcdir)/w_acoshl.c'; fi`
+
+lib_a-w_atanhl.o: w_atanhl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_atanhl.o `test -f 'w_atanhl.c' || echo '$(srcdir)/'`w_atanhl.c
+
+lib_a-w_atanhl.obj: w_atanhl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_atanhl.obj `if test -f 'w_atanhl.c'; then $(CYGPATH_W) 'w_atanhl.c'; else $(CYGPATH_W) '$(srcdir)/w_atanhl.c'; fi`
+
+lib_a-w_remainderl.o: w_remainderl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_remainderl.o `test -f 'w_remainderl.c' || echo '$(srcdir)/'`w_remainderl.c
+
+lib_a-w_remainderl.obj: w_remainderl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_remainderl.obj `if test -f 'w_remainderl.c'; then $(CYGPATH_W) 'w_remainderl.c'; else $(CYGPATH_W) '$(srcdir)/w_remainderl.c'; fi`
+
+lib_a-w_lgammal.o: w_lgammal.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_lgammal.o `test -f 'w_lgammal.c' || echo '$(srcdir)/'`w_lgammal.c
+
+lib_a-w_lgammal.obj: w_lgammal.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_lgammal.obj `if test -f 'w_lgammal.c'; then $(CYGPATH_W) 'w_lgammal.c'; else $(CYGPATH_W) '$(srcdir)/w_lgammal.c'; fi`
+
+lib_a-w_erfl.o: w_erfl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_erfl.o `test -f 'w_erfl.c' || echo '$(srcdir)/'`w_erfl.c
+
+lib_a-w_erfl.obj: w_erfl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_erfl.obj `if test -f 'w_erfl.c'; then $(CYGPATH_W) 'w_erfl.c'; else $(CYGPATH_W) '$(srcdir)/w_erfl.c'; fi`
+
+lib_a-w_erfcl.o: w_erfcl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_erfcl.o `test -f 'w_erfcl.c' || echo '$(srcdir)/'`w_erfcl.c
+
+lib_a-w_erfcl.obj: w_erfcl.c
+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-w_erfcl.obj `if test -f 'w_erfcl.c'; then $(CYGPATH_W) 'w_erfcl.c'; else $(CYGPATH_W) '$(srcdir)/w_erfcl.c'; fi`
+
 lib_a-sf_finite.o: sf_finite.c
 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sf_finite.o `test -f 'sf_finite.c' || echo '$(srcdir)/'`sf_finite.c
 
Index: src/newlib/libm/common/w_llroundl.c
===================================================================
--- /dev/null
+++ src/newlib/libm/common/w_llroundl.c
@@ -0,0 +1,14 @@
+#include <math.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long long int
+llroundl (long double x)
+{
+  return llround(x);
+}
+#endif
+
Index: src/newlib/libc/stdlib/wcstold.c
===================================================================
--- /dev/null
+++ src/newlib/libc/stdlib/wcstold.c
@@ -0,0 +1,14 @@
+#include <stdlib.h>
+#include <float.h>
+
+/* On platforms where long double is as wide as double.  */
+#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__cplusplus) || \
+     __STDC_VERSION__ >= 199901L) && (DBL_MANT_DIG == LDBL_MANT_DIG && \
+     LDBL_MIN_EXP == DBL_MIN_EXP && LDBL_MAX_EXP == DBL_MAX_EXP)
+long double
+wcstold (const wchar_t *nptr, wchar_t **endptr)
+{
+  return wcstod(nptr, endptr);
+}
+#endif
+

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]