[PATCH v3] Add i386 and x86_64 fenv support

joel@rtems.org joel@rtems.org
Thu Sep 5 13:07:00 GMT 2019


From: Joel Sherrill <joel@rtems.org>

Hi

This patch adds i386 and x86_64 support by migrating the Cygwin
implementation in newlib/libm/machine directories. There were
some mechanical changes such as converting from C++ to C,
and converting use_sse to a function since _feinitialize() is not
guaranteed to be called.

Because of the way newlib builds, the non-functional files in
libm/fenv/ are all compiled and put in the library. For this
implementation, there is only an fenv.c, so every stub implementation
and fenv.c ended up in the final libm.a. Rather than split the file
and forcing all future implementations to do this, there is an fenv_stub.c

*** BLURB HERE ***

Joel Sherrill (1):
  Add i386 and x86_64 fenv support from Cygwin.

 newlib/libc/machine/i386/sys/fenv.h    |   1 +
 newlib/libc/machine/x86_64/sys/fenv.h  | 170 ++++++++++++
 newlib/libm/machine/i386/Makefile.am   |   2 +-
 newlib/libm/machine/i386/fenv.c        |   1 +
 newlib/libm/machine/x86_64/Makefile.am |  18 ++
 newlib/libm/machine/x86_64/fenv.c      | 487 +++++++++++++++++++++++++++++++++
 6 files changed, 678 insertions(+), 1 deletion(-)
 create mode 120000 newlib/libc/machine/i386/sys/fenv.h
 create mode 100644 newlib/libc/machine/x86_64/sys/fenv.h
 create mode 120000 newlib/libm/machine/i386/fenv.c
 create mode 100644 newlib/libm/machine/x86_64/Makefile.am
 create mode 100644 newlib/libm/machine/x86_64/fenv.c

-- 
1.8.3.1



More information about the Newlib mailing list