[0/1] Add fenv support for ARM

Message ID 20200603174509.18606-1-eshandhawan51@gmail.com
Headers show
Series
  • Add fenv support for ARM
Related show

Message

Christian Biesinger via Newlib June 3, 2020, 5:45 p.m.
This Patch adds Fenv support for ARM.

The implementation files are taken from FreeBSD.

The files are added to libm/machine/arm
and libc/machine/arm

Eshan dhawan (1):
  fenv support arm

 newlib/libc/machine/arm/machine/acle-compat.h | 182 ++++++++++
 newlib/libc/machine/arm/machine/fenv-mangle.h |  53 +++
 .../libc/machine/arm/machine/fenv-softfloat.h | 187 ++++++++++
 newlib/libc/machine/arm/machine/fenv-vfp.h    | 187 ++++++++++
 newlib/libc/machine/arm/sys/fenv.h            | 122 +++++++
 newlib/libm/machine/arm/Makefile.am           |  18 +-
 newlib/libm/machine/arm/fe_dfl_env.c          |   7 +
 newlib/libm/machine/arm/feclearexcept.c       |   7 +
 newlib/libm/machine/arm/fegetenv.c            |   7 +
 newlib/libm/machine/arm/fegetexceptflag.c     |   7 +
 newlib/libm/machine/arm/fegetround.c          |   7 +
 newlib/libm/machine/arm/feholdexcept.c        |   7 +
 newlib/libm/machine/arm/fenv-softfp.c         |  32 ++
 newlib/libm/machine/arm/fenv-vfp.c            |  32 ++
 newlib/libm/machine/arm/fenv.c                | 328 ++++++++++++++++++
 newlib/libm/machine/arm/feraiseexcept.c       |   7 +
 newlib/libm/machine/arm/fesetenv.c            |   7 +
 newlib/libm/machine/arm/fesetexceptflag.c     |   7 +
 newlib/libm/machine/arm/fesetround.c          |   7 +
 newlib/libm/machine/arm/fetestexcept.c        |   7 +
 newlib/libm/machine/arm/feupdateenv.c         |   7 +
 21 files changed, 1224 insertions(+), 1 deletion(-)
 create mode 100644 newlib/libc/machine/arm/machine/acle-compat.h
 create mode 100644 newlib/libc/machine/arm/machine/fenv-mangle.h
 create mode 100644 newlib/libc/machine/arm/machine/fenv-softfloat.h
 create mode 100644 newlib/libc/machine/arm/machine/fenv-vfp.h
 create mode 100644 newlib/libc/machine/arm/sys/fenv.h
 create mode 100644 newlib/libm/machine/arm/fe_dfl_env.c
 create mode 100644 newlib/libm/machine/arm/feclearexcept.c
 create mode 100644 newlib/libm/machine/arm/fegetenv.c
 create mode 100644 newlib/libm/machine/arm/fegetexceptflag.c
 create mode 100644 newlib/libm/machine/arm/fegetround.c
 create mode 100644 newlib/libm/machine/arm/feholdexcept.c
 create mode 100644 newlib/libm/machine/arm/fenv-softfp.c
 create mode 100644 newlib/libm/machine/arm/fenv-vfp.c
 create mode 100644 newlib/libm/machine/arm/fenv.c
 create mode 100644 newlib/libm/machine/arm/feraiseexcept.c
 create mode 100644 newlib/libm/machine/arm/fesetenv.c
 create mode 100644 newlib/libm/machine/arm/fesetexceptflag.c
 create mode 100644 newlib/libm/machine/arm/fesetround.c
 create mode 100644 newlib/libm/machine/arm/fetestexcept.c
 create mode 100644 newlib/libm/machine/arm/feupdateenv.c

-- 
2.17.1

Comments

Christian Biesinger via Newlib June 10, 2020, 1:15 a.m. | #1
Patch pushed to master.  I modified COPYING.NEWLIB with the new licenses
and regenerated Makefile.in.  I noticed that
there were powerpc generated files that weren't checked in so I did a
separate patch for them prior to this one.  If you find
any issues, let me know.

-- Jeff J.

On Wed, Jun 3, 2020 at 1:47 PM Eshan dhawan via Newlib <
newlib@sourceware.org> wrote:

> This Patch adds Fenv support for ARM.

>

> The implementation files are taken from FreeBSD.

>

> The files are added to libm/machine/arm

> and libc/machine/arm

>

> Eshan dhawan (1):

>   fenv support arm

>

>  newlib/libc/machine/arm/machine/acle-compat.h | 182 ++++++++++

>  newlib/libc/machine/arm/machine/fenv-mangle.h |  53 +++

>  .../libc/machine/arm/machine/fenv-softfloat.h | 187 ++++++++++

>  newlib/libc/machine/arm/machine/fenv-vfp.h    | 187 ++++++++++

>  newlib/libc/machine/arm/sys/fenv.h            | 122 +++++++

>  newlib/libm/machine/arm/Makefile.am           |  18 +-

>  newlib/libm/machine/arm/fe_dfl_env.c          |   7 +

>  newlib/libm/machine/arm/feclearexcept.c       |   7 +

>  newlib/libm/machine/arm/fegetenv.c            |   7 +

>  newlib/libm/machine/arm/fegetexceptflag.c     |   7 +

>  newlib/libm/machine/arm/fegetround.c          |   7 +

>  newlib/libm/machine/arm/feholdexcept.c        |   7 +

>  newlib/libm/machine/arm/fenv-softfp.c         |  32 ++

>  newlib/libm/machine/arm/fenv-vfp.c            |  32 ++

>  newlib/libm/machine/arm/fenv.c                | 328 ++++++++++++++++++

>  newlib/libm/machine/arm/feraiseexcept.c       |   7 +

>  newlib/libm/machine/arm/fesetenv.c            |   7 +

>  newlib/libm/machine/arm/fesetexceptflag.c     |   7 +

>  newlib/libm/machine/arm/fesetround.c          |   7 +

>  newlib/libm/machine/arm/fetestexcept.c        |   7 +

>  newlib/libm/machine/arm/feupdateenv.c         |   7 +

>  21 files changed, 1224 insertions(+), 1 deletion(-)

>  create mode 100644 newlib/libc/machine/arm/machine/acle-compat.h

>  create mode 100644 newlib/libc/machine/arm/machine/fenv-mangle.h

>  create mode 100644 newlib/libc/machine/arm/machine/fenv-softfloat.h

>  create mode 100644 newlib/libc/machine/arm/machine/fenv-vfp.h

>  create mode 100644 newlib/libc/machine/arm/sys/fenv.h

>  create mode 100644 newlib/libm/machine/arm/fe_dfl_env.c

>  create mode 100644 newlib/libm/machine/arm/feclearexcept.c

>  create mode 100644 newlib/libm/machine/arm/fegetenv.c

>  create mode 100644 newlib/libm/machine/arm/fegetexceptflag.c

>  create mode 100644 newlib/libm/machine/arm/fegetround.c

>  create mode 100644 newlib/libm/machine/arm/feholdexcept.c

>  create mode 100644 newlib/libm/machine/arm/fenv-softfp.c

>  create mode 100644 newlib/libm/machine/arm/fenv-vfp.c

>  create mode 100644 newlib/libm/machine/arm/fenv.c

>  create mode 100644 newlib/libm/machine/arm/feraiseexcept.c

>  create mode 100644 newlib/libm/machine/arm/fesetenv.c

>  create mode 100644 newlib/libm/machine/arm/fesetexceptflag.c

>  create mode 100644 newlib/libm/machine/arm/fesetround.c

>  create mode 100644 newlib/libm/machine/arm/fetestexcept.c

>  create mode 100644 newlib/libm/machine/arm/feupdateenv.c

>

> --

> 2.17.1

>

>
Sebastian Huber June 10, 2020, 5:31 p.m. | #2
On 10/06/2020 03:15, Jeff Johnston via Newlib wrote:

> Patch pushed to master.  I modified COPYING.NEWLIB with the new licenses

> and regenerated Makefile.in.  I noticed that

> there were powerpc generated files that weren't checked in so I did a

> separate patch for them prior to this one.  If you find

> any issues, let me know.

Thanks for sorting this out. My Newlib build works now again for 
powerpc-rtems. The arm-rtems target is also fine.