Re: [PATCH v6] Add i386 and x86_64 fenv support from Cygwin.

"Howland, Craig D. - US via newlib" <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
> From: [email protected] <[email protected]> on behalf of Sebastian Huber <[email protected]>
> Sent: Monday, September 30, 2019 2:03 AM
> To: [email protected]
> Subject: [PATCH v6] Add i386 and x86_64 fenv support from Cygwin.
>
> From: Joel Sherrill <[email protected]>
>
> ---
> v6:
>
> Added files generated by Automake 1.11.6 and Autoconf 2.68.  The i386-rtems
> and x86_64-rtems targets build fine now.
>
>  ...
>  newlib/libm/machine/i386/feclearexcept.c     |     1 +
>  newlib/libm/machine/i386/fegetenv.c          |     1 +
>  newlib/libm/machine/i386/fegetexceptflag.c   |     1 +
>  newlib/libm/machine/i386/fegetround.c        |     1 +
>  newlib/libm/machine/i386/feholdexcept.c      |     1 +
>  newlib/libm/machine/i386/fenv.c              |     1 +
>  newlib/libm/machine/i386/feraiseexcept.c     |     1 +
>  newlib/libm/machine/i386/fesetenv.c          |     1 +
>  newlib/libm/machine/i386/fesetexceptflag.c   |     1 +
>  newlib/libm/machine/i386/fesetround.c        |     1 +
>  newlib/libm/machine/i386/fetestexcept.c      |     1 +
>  newlib/libm/machine/i386/feupdateenv.c       |     1 +
>  ...
>  newlib/libm/machine/x86_64/feclearexcept.c   |     1 +
>  newlib/libm/machine/x86_64/fegetenv.c        |     1 +
>  newlib/libm/machine/x86_64/fegetexceptflag.c |     1 +
>  newlib/libm/machine/x86_64/fegetround.c      |     1 +
>  newlib/libm/machine/x86_64/feholdexcept.c    |     1 +
>  newlib/libm/machine/x86_64/fenv.c            |   477 +
>  newlib/libm/machine/x86_64/feraiseexcept.c   |     1 +
>  newlib/libm/machine/x86_64/fesetenv.c        |     1 +
>  newlib/libm/machine/x86_64/fesetexceptflag.c |     1 +
>  newlib/libm/machine/x86_64/fesetround.c      |     1 +
>  newlib/libm/machine/x86_64/fetestexcept.c    |     1 +
>  newlib/libm/machine/x86_64/feupdateenv.c     |     1 +
>  39 files changed, 16486 insertions(+), 13 deletions(-)
     It seems rather odd to be adding a new fenv.c file which is not in the 
main/template (libm/fenv) directory which has all the functions in it and then
providing empty versions of the individually-named function files.  (I see 
that is was this way in v5 of the patch, too, but I had not gotten a chance 
to look at that one.)  They had purposely been split into separate files when 
the template was made, with one of the reasons being link size.  This defeats
that one purpose, although that purpose is perhaps of limited value for i386
and x84_64 targets.  In a quick glance in fenv.c, there does not appear to be 
a reason (e.g.  shared statics) that would "require" them to be combined.
                                Craig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.