This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: [PATCH 4/5] Add spu fenv C files
On Thu, Feb 01, 2007 at 12:07:43AM +0900, Kazunori Asayama wrote:
> Patrick Mansfield <patmans@us.ibm.com> wrote:
> > Index: spu-fenv-src/newlib/libm/machine/spu/fe_dfl_env.c
> > ===================================================================
> > --- /dev/null
> > +++ spu-fenv-src/newlib/libm/machine/spu/fe_dfl_env.c
> > @@ -0,0 +1,4 @@
> > +/*
> > + * Define for FE_DFL_ENV macro, all bits zero.
> > + */
> > +const fenv_t __fe_dfl_env = { 0 };
>
> "#include <fenv.h>" seems needed for definition of the type 'fenv_t'.
Oops ... I made a last second change to remove an unneeded include in that
file (it included spu_intrinsic.h), went a bit too far, and thought I'd
compiled and tested with it.
Here's the re-roll of the patch with the one line changed:
Index: spu-fenv-src/newlib/libm/machine/spu/Makefile.am
===================================================================
--- spu-fenv-src.orig/newlib/libm/machine/spu/Makefile.am
+++ spu-fenv-src/newlib/libm/machine/spu/Makefile.am
@@ -4,7 +4,10 @@ AUTOMAKE_OPTIONS = cygnus
INCLUDES = -I $(newlib_basedir)/../newlib/libm/common $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -I $(newlib_basedir)/../newlib/libm/machine/spu/headers
-LIB_SOURCES =
+LIB_SOURCES = \
+ feclearexcept.c fe_dfl_env.c fegetenv.c fegetexceptflag.c \
+ fegetround.c feholdexcept.c feraiseexcept.c fesetenv.c \
+ fesetexceptflag.c fesetround.c fetestexcept.c feupdateenv.c
noinst_LIBRARIES = lib.a
lib_a_SOURCES = $(LIB_SOURCES)
Index: spu-fenv-src/newlib/libm/machine/spu/Makefile.in
===================================================================
--- spu-fenv-src.orig/newlib/libm/machine/spu/Makefile.in
+++ spu-fenv-src/newlib/libm/machine/spu/Makefile.in
@@ -41,7 +41,13 @@ DIST_COMMON = $(srcdir)/../../../Makefil
$(srcdir)/../../../../config.guess \
$(srcdir)/../../../../config.sub $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/configure \
- $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs
+ $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs \
+ $(srcdir)/../../../../compile $(srcdir)/../../../../compile \
+ $(srcdir)/../../../../compile $(srcdir)/../../../../compile \
+ $(srcdir)/../../../../compile $(srcdir)/../../../../compile \
+ $(srcdir)/../../../../compile $(srcdir)/../../../../compile \
+ $(srcdir)/../../../../compile $(srcdir)/../../../../compile \
+ $(srcdir)/../../../../compile $(srcdir)/../../../../compile
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \
@@ -56,7 +62,13 @@ LIBRARIES = $(noinst_LIBRARIES)
ARFLAGS = cru
lib_a_AR = $(AR) $(ARFLAGS)
lib_a_LIBADD =
-am__objects_1 =
+am__objects_1 = lib_a-feclearexcept.$(OBJEXT) \
+ lib_a-fe_dfl_env.$(OBJEXT) lib_a-fegetenv.$(OBJEXT) \
+ lib_a-fegetexceptflag.$(OBJEXT) lib_a-fegetround.$(OBJEXT) \
+ lib_a-feholdexcept.$(OBJEXT) lib_a-feraiseexcept.$(OBJEXT) \
+ lib_a-fesetenv.$(OBJEXT) lib_a-fesetexceptflag.$(OBJEXT) \
+ lib_a-fesetround.$(OBJEXT) lib_a-fetestexcept.$(OBJEXT) \
+ lib_a-feupdateenv.$(OBJEXT)
am_lib_a_OBJECTS = $(am__objects_1)
lib_a_OBJECTS = $(am_lib_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir)
@@ -68,6 +80,8 @@ CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(lib_a_SOURCES)
DATA = $(noinst_DATA)
+ETAGS = etags
+CTAGS = ctags
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
@@ -178,7 +192,11 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = cygnus
INCLUDES = -I $(newlib_basedir)/../newlib/libm/common $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) -I $(newlib_basedir)/../newlib/libm/machine/spu/headers
-LIB_SOURCES =
+LIB_SOURCES = \
+ feclearexcept.c fe_dfl_env.c fegetenv.c fegetexceptflag.c \
+ fegetround.c feholdexcept.c feraiseexcept.c fesetenv.c \
+ fesetexceptflag.c fesetround.c fetestexcept.c feupdateenv.c
+
noinst_LIBRARIES = lib.a
lib_a_SOURCES = $(LIB_SOURCES)
lib_a_CFLAGS = $(AM_CFLAGS)
@@ -189,6 +207,7 @@ CONFIG_STATUS_DEPENDENCIES = $(newlib_ba
all: all-am
.SUFFIXES:
+.SUFFIXES: .c .o .obj
am--refresh:
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../../Makefile.shared $(am__configure_deps)
@@ -235,13 +254,133 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+
+.c.o:
+ $(COMPILE) -c $<
+
+.c.obj:
+ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+lib_a-feclearexcept.o: feclearexcept.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-feclearexcept.o `test -f 'feclearexcept.c' || echo '$(srcdir)/'`feclearexcept.c
+
+lib_a-feclearexcept.obj: feclearexcept.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-feclearexcept.obj `if test -f 'feclearexcept.c'; then $(CYGPATH_W) 'feclearexcept.c'; else $(CYGPATH_W) '$(srcdir)/feclearexcept.c'; fi`
+
+lib_a-fe_dfl_env.o: fe_dfl_env.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fe_dfl_env.o `test -f 'fe_dfl_env.c' || echo '$(srcdir)/'`fe_dfl_env.c
+
+lib_a-fe_dfl_env.obj: fe_dfl_env.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fe_dfl_env.obj `if test -f 'fe_dfl_env.c'; then $(CYGPATH_W) 'fe_dfl_env.c'; else $(CYGPATH_W) '$(srcdir)/fe_dfl_env.c'; fi`
+
+lib_a-fegetenv.o: fegetenv.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fegetenv.o `test -f 'fegetenv.c' || echo '$(srcdir)/'`fegetenv.c
+
+lib_a-fegetenv.obj: fegetenv.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fegetenv.obj `if test -f 'fegetenv.c'; then $(CYGPATH_W) 'fegetenv.c'; else $(CYGPATH_W) '$(srcdir)/fegetenv.c'; fi`
+
+lib_a-fegetexceptflag.o: fegetexceptflag.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fegetexceptflag.o `test -f 'fegetexceptflag.c' || echo '$(srcdir)/'`fegetexceptflag.c
+
+lib_a-fegetexceptflag.obj: fegetexceptflag.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fegetexceptflag.obj `if test -f 'fegetexceptflag.c'; then $(CYGPATH_W) 'fegetexceptflag.c'; else $(CYGPATH_W) '$(srcdir)/fegetexceptflag.c'; fi`
+
+lib_a-fegetround.o: fegetround.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fegetround.o `test -f 'fegetround.c' || echo '$(srcdir)/'`fegetround.c
+
+lib_a-fegetround.obj: fegetround.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fegetround.obj `if test -f 'fegetround.c'; then $(CYGPATH_W) 'fegetround.c'; else $(CYGPATH_W) '$(srcdir)/fegetround.c'; fi`
+
+lib_a-feholdexcept.o: feholdexcept.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-feholdexcept.o `test -f 'feholdexcept.c' || echo '$(srcdir)/'`feholdexcept.c
+
+lib_a-feholdexcept.obj: feholdexcept.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-feholdexcept.obj `if test -f 'feholdexcept.c'; then $(CYGPATH_W) 'feholdexcept.c'; else $(CYGPATH_W) '$(srcdir)/feholdexcept.c'; fi`
+
+lib_a-feraiseexcept.o: feraiseexcept.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-feraiseexcept.o `test -f 'feraiseexcept.c' || echo '$(srcdir)/'`feraiseexcept.c
+
+lib_a-feraiseexcept.obj: feraiseexcept.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-feraiseexcept.obj `if test -f 'feraiseexcept.c'; then $(CYGPATH_W) 'feraiseexcept.c'; else $(CYGPATH_W) '$(srcdir)/feraiseexcept.c'; fi`
+
+lib_a-fesetenv.o: fesetenv.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fesetenv.o `test -f 'fesetenv.c' || echo '$(srcdir)/'`fesetenv.c
+
+lib_a-fesetenv.obj: fesetenv.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fesetenv.obj `if test -f 'fesetenv.c'; then $(CYGPATH_W) 'fesetenv.c'; else $(CYGPATH_W) '$(srcdir)/fesetenv.c'; fi`
+
+lib_a-fesetexceptflag.o: fesetexceptflag.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fesetexceptflag.o `test -f 'fesetexceptflag.c' || echo '$(srcdir)/'`fesetexceptflag.c
+
+lib_a-fesetexceptflag.obj: fesetexceptflag.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fesetexceptflag.obj `if test -f 'fesetexceptflag.c'; then $(CYGPATH_W) 'fesetexceptflag.c'; else $(CYGPATH_W) '$(srcdir)/fesetexceptflag.c'; fi`
+
+lib_a-fesetround.o: fesetround.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fesetround.o `test -f 'fesetround.c' || echo '$(srcdir)/'`fesetround.c
+
+lib_a-fesetround.obj: fesetround.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fesetround.obj `if test -f 'fesetround.c'; then $(CYGPATH_W) 'fesetround.c'; else $(CYGPATH_W) '$(srcdir)/fesetround.c'; fi`
+
+lib_a-fetestexcept.o: fetestexcept.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fetestexcept.o `test -f 'fetestexcept.c' || echo '$(srcdir)/'`fetestexcept.c
+
+lib_a-fetestexcept.obj: fetestexcept.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fetestexcept.obj `if test -f 'fetestexcept.c'; then $(CYGPATH_W) 'fetestexcept.c'; else $(CYGPATH_W) '$(srcdir)/fetestexcept.c'; fi`
+
+lib_a-feupdateenv.o: feupdateenv.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-feupdateenv.o `test -f 'feupdateenv.c' || echo '$(srcdir)/'`feupdateenv.c
+
+lib_a-feupdateenv.obj: feupdateenv.c
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-feupdateenv.obj `if test -f 'feupdateenv.c'; then $(CYGPATH_W) 'feupdateenv.c'; else $(CYGPATH_W) '$(srcdir)/feupdateenv.c'; fi`
uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
tags: TAGS
-TAGS:
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
ctags: CTAGS
-CTAGS:
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
check-am:
check: check-am
all-am: Makefile $(LIBRARIES) $(DATA)
@@ -277,7 +416,8 @@ clean-am: clean-generic clean-noinstLIBR
distclean: distclean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
dvi: dvi-am
@@ -319,15 +459,16 @@ ps-am:
uninstall-am:
-.PHONY: all all-am am--refresh check check-am clean clean-generic \
- clean-noinstLIBRARIES distclean distclean-compile \
- distclean-generic dvi dvi-am html html-am info info-am install \
- install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-info-am
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+ clean-generic clean-noinstLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-tags dvi dvi-am \
+ html html-am info info-am install install-am install-data \
+ install-data-am install-exec install-exec-am install-info \
+ install-info-am install-man install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-info-am
objectlist.awk.in: $(noinst_LTLIBRARIES)
-rm -f objectlist.awk.in
Index: spu-fenv-src/newlib/libm/machine/spu/fe_dfl_env.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/fe_dfl_env.c
@@ -0,0 +1,5 @@
+#include <fenv.h>
+/*
+ * Define for FE_DFL_ENV macro, all bits zero.
+ */
+const fenv_t __fe_dfl_env = { 0 };
Index: spu-fenv-src/newlib/libm/machine/spu/feclearexcept.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/feclearexcept.c
@@ -0,0 +1,6 @@
+#include "../headers/feclearexcept.h"
+
+void feclearexcept(int excepts)
+{
+ _feclearexcept(excepts);
+}
Index: spu-fenv-src/newlib/libm/machine/spu/fegetenv.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/fegetenv.c
@@ -0,0 +1,6 @@
+#include "../headers/fegetenv.h"
+
+void fegetenv(fenv_t *envp)
+{
+ _fegetenv(envp);
+}
Index: spu-fenv-src/newlib/libm/machine/spu/fegetexceptflag.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/fegetexceptflag.c
@@ -0,0 +1,6 @@
+#include "../headers/fegetexceptflag.h"
+
+void fegetexceptflag(fexcept_t *flagp, int excepts)
+{
+ _fegetexceptflag(flagp, excepts);
+}
Index: spu-fenv-src/newlib/libm/machine/spu/fegetround.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/fegetround.c
@@ -0,0 +1,6 @@
+#include "../headers/fegetround.h"
+
+int fegetround()
+{
+ return _fegetround();
+}
Index: spu-fenv-src/newlib/libm/machine/spu/feholdexcept.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/feholdexcept.c
@@ -0,0 +1,6 @@
+#include "../headers/feholdexcept.h"
+
+int feholdexcept(fenv_t *envp)
+{
+ return _feholdexcept(envp);
+}
Index: spu-fenv-src/newlib/libm/machine/spu/feraiseexcept.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/feraiseexcept.c
@@ -0,0 +1,6 @@
+#include "../headers/feraiseexcept.h"
+
+void feraiseexcept(int excepts)
+{
+ _feraiseexcept(excepts);
+}
Index: spu-fenv-src/newlib/libm/machine/spu/fesetenv.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/fesetenv.c
@@ -0,0 +1,6 @@
+#include "../headers/fesetenv.h"
+
+void fesetenv(const fenv_t *envp)
+{
+ _fesetenv(envp);
+}
Index: spu-fenv-src/newlib/libm/machine/spu/fesetexceptflag.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/fesetexceptflag.c
@@ -0,0 +1,6 @@
+#include "../headers/fesetexceptflag.h"
+
+void fesetexceptflag(const fexcept_t *flagp, int excepts)
+{
+ _fesetexceptflag(flagp, excepts);
+}
Index: spu-fenv-src/newlib/libm/machine/spu/fesetround.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/fesetround.c
@@ -0,0 +1,6 @@
+#include "../headers/fesetround.h"
+
+int fesetround(int rounding_mode)
+{
+ return _fesetround(rounding_mode);
+}
Index: spu-fenv-src/newlib/libm/machine/spu/fetestexcept.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/fetestexcept.c
@@ -0,0 +1,6 @@
+#include "../headers/fetestexcept.h"
+
+int fetestexcept(int excepts)
+{
+ return _fetestexcept(excepts);
+}
Index: spu-fenv-src/newlib/libm/machine/spu/feupdateenv.c
===================================================================
--- /dev/null
+++ spu-fenv-src/newlib/libm/machine/spu/feupdateenv.c
@@ -0,0 +1,6 @@
+#include "../headers/feupdateenv.h"
+
+void feupdateenv(const fenv_t *envp)
+{
+ _feupdateenv(envp);
+}