Re: Fw: [PATCH 1/8] newlib: internalize HAVE_INITFINI_ARRAY

C Howland <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CANk6obSOonWJ+2XvDt9ZSpyBqOkWO1PyWzFDF5x+QXWFCf9Hmg@mail.gmail.com>
> ------------------------------
> *From:* Newlib <[email protected]> on
> behalf of Mike Frysinger <[email protected]>
> *Sent:* Monday, January 17, 2022 11:47 PM
> *To:* [email protected] <[email protected]>
> *Subject:* [PATCH 1/8] newlib: internalize HAVE_INITFINI_ARRAY
>
>
>
> This define is only used by newlib internally, so stop exporting it
> as HAVE_INITFINI_ARRAY since this can conflict with defines packages
> use themselves.
>
> We don't really need to add _ to HAVE_INIT_FINI too since it isn't
> exported in newlib.h, but might as well be consistent here.
>
>
     How do you know it is only used by Newlib internally?  Changing this
is effectively changing the API and is not safe.  (I don't use it, myself,
but given it's been like this for a long time, there's nothing to say that
nobody is.)  Unfortunately, it uses a methodology as either being defined
or not, so someone using the #ifdef method on it would not immediately
notice the change. (That is, when building with something that looked at
it, the build itself could not know something had gone wrong.  It would
require runtime to find out.)
     This does not necessarily mean that this specific change ought not be
done, but it does mean that this consideration needs to be weighed before
an API-breaking change were made.  Offhand I can't think of a good way to
guard against it, either.  (A tedious way would be to mark it deprecated
and then remove it in a year or so.)
                         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.