public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: C Howland <cc1964t@gmail.com>
To: newlib@sourceware.org
Subject: Re: [PATCH] newlib: remove unused fenv flags
Date: Thu, 10 Feb 2022 14:18:29 -0500	[thread overview]
Message-ID: <CANk6obTZuJX4Tc=u_cfYVtU=T+iYkt5dYeprX51TRepAzwzE+Q@mail.gmail.com> (raw)
In-Reply-To: <YgVcdXkmU/w5+V+W@vapier>

On Thu, 10 Feb 2022 at 13:41, Mike Frysinger <vapier@gentoo.org> wrote:

> On 10 Feb 2022 13:02, C Howland wrote:
> > > On Feb 10 00:53, Mike Frysinger wrote:
> > > > These look like they were just copied & pasted from
> common/Makefile.am.
> > > > The funcs in this dir are all stubs that don't actually call any math
> > > > or builtin functions, and a simple compile shows they produce
> identical
> > > > object code.  So delete to simplify the build rules.
> > > > ---
> > > >  newlib/libm/fenv/Makefile.am |  3 --
> > > >  newlib/libm/fenv/Makefile.in | 90
> +++---------------------------------
> > > >  2 files changed, 6 insertions(+), 87 deletions(-)
> > > >
> > > > diff --git a/newlib/libm/fenv/Makefile.am
> b/newlib/libm/fenv/Makefile.am
> > > > index 50b59004c17e..66755e394cb7 100644
> > > > --- a/newlib/libm/fenv/Makefile.am
> > > > +++ b/newlib/libm/fenv/Makefile.am
> > > > @@ -6,11 +6,8 @@ src =        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
> > > >
> > > > -lib_a_CFLAGS = -fbuiltin -fno-math-errno
> > > > -
> > > >  noinst_LIBRARIES = lib.a
> > > >  lib_a_SOURCES = $(src)
> > > > -lib_a_CFLAGS += $(AM_CFLAGS)
> > > >
> > > >  # A partial dependency list.
> > > >
> > > > --
> > > > 2.34.1
> > >
> > > Ok.
> >
> > No, not OK, it doesn't sound like.  The fenv functions are all
> > machine-specific and the files in the libm/fenv directory are all stubs
> > (which they clearly state internally).  Unless all targets were checked
> > (and it doesn't sound like they were), the conclusion is faulty that no
> > difference happens.  Taking away -fbuiltin would definitely break any
> > machine source relying on it, but not the stubs.
>
> you seemed to be confused as to how this works.  there is no machine code
> here.  there are only stubs.  machine code lives under libm/machine/$arch/,
> not under libm/fenv/.  compiler flags in one directory only affects files
> in that one directory, they don't propagate out to every other directory in
> the build.
>
> i'll also note that none of the machine code explicitly uses -fno-builtin.
> there is a configure option for it that affects all newlib files instead.
>
> so either cite exactly what doesn't work, or withdraw your objection
> please.
> -mike
>

     Granted, I might be confused as to how this works.  I am aware of the
code in the machine directories.  What I am not familiar with is whether
the flags in the main tree propagate to the machine directories in any way,
and I thought it would, in possibly 2 ways.
     First, would be if a machine directory can override just some files
from the main--as if viewpathed--and this can also apply to the makefile.
(Does the machine directory totally replace the main branch directory, or
can it be supplemental?  My impression was a viewpath model, which can be
supplementary or replace all.)  If I'm wrong about this, no problem, no
objection for this specific reason.
     The second is if the main branch is intended to also be a template for
new machine directories.  The C part of it definitely is, but the makefile
does not necessarily fall into that category.  So I'll turn that into a
question:  if the main branch makefile does not serve as a template for the
machine directories, where would that be?  That is, while these arguments
are superfluous in the main dir,  should they remain in comments as an aid
to machine developers, in the same manner in which the source code is
annotated?  (It's not so much these specific arguments, themselves, but
having an example how ones like this would be added.  These particular ones
are reasonable for serving that purpose, however.)  The real makefile seems
the best place for this.  We could have Makefile.template, or something
along those lines, but the real one is forced to be valid by being used,
while maintaining a separate template would be additional maintenance work.
     So if I'm wrong about the viewpathing model, a suggestion:  rather
than deleting the lines, comment them out and add some comment text
suitable for a template.  If you're amenable to this approach and would
like, I (or possibly Joel if he's interested) could contribute suggested
comments for you to use.
                          Craig

  reply	other threads:[~2022-02-10 19:18 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-10  5:53 Mike Frysinger
2022-02-10 15:04 ` Corinna Vinschen
     [not found]   ` <BN2P110MB154483250B72C97D261707D79A2F9@BN2P110MB1544.NAMP110.PROD.OUTLOOK.COM>
     [not found]     ` <CANk6obT5ChTU2cWvQWM5dcWDPmV3JOmKJGCLGsCvKD+np1EVrg@mail.gmail.com>
2022-02-10 18:02       ` C Howland
2022-02-10 18:26         ` Joel Sherrill
2022-02-10 18:41         ` Mike Frysinger
2022-02-10 19:18           ` C Howland [this message]
2022-02-10 19:53             ` Joel Sherrill
2022-02-11 10:09             ` Mike Frysinger
2022-02-11 16:10               ` C Howland
2022-02-12 20:42                 ` Mike Frysinger
2022-02-14 16:49                   ` C Howland
2022-02-14 17:51                     ` Joel Sherrill

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CANk6obTZuJX4Tc=u_cfYVtU=T+iYkt5dYeprX51TRepAzwzE+Q@mail.gmail.com' \
    --to=cc1964t@gmail.com \
    --cc=newlib@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).