[PATCH v3] Add i386 and x86_64 fenv support

Joel Sherrill joel@rtems.org
Thu Sep 5 13:10:00 GMT 2019


Ignore this cover. I forgot to save before sending. Another will arrive shortly.

On Thu, Sep 5, 2019 at 8:07 AM <joel@rtems.org> wrote:
>
> 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