[PATCH 1/1] libc: Added implementations and prototypes for
Wed Jul 28 19:42:04 GMT 2021
On Wed, Jul 28, 2021 at 1:46 PM Corinna Vinschen <firstname.lastname@example.org> wrote:
> On Jul 28 09:25, Brian Inglis wrote:
> > On 2021-07-28 03:11, Corinna Vinschen wrote:
> > > Hi Matt,
> > >
> > > thanks for this v2.
> > >
> > > On Jul 24 10:37, Matt Joyce wrote:
> > > > Added implementations for sig2str() and str2sig() in libc/signal in order
> > > > to improve POSIX compliance. Added function prototypes to sys/signal.h.
> > > > Added Makefile.am entries to build the new file.
> > > > ---
> > > > [...]
> > > > +#if __GNU_VISIBLE
> > >
> > > I think this needs discussion. The sig2str/str2sig API has not been
> > > provided yet by GLibC. Using __GNU_VISIBLE in this context looks wrong.
> > > What we need, in fact, is a __POSIX_VISIBLE guard, but here's the
> > > problem: As far as I can see, the Issue 8 draft does not yet define a
> > > version number.
> > >
> > > If anybody has better information or a good idea how to guard this new
> > > API in the meantime, I'm all ears.
> > Current values are:
> > __POSIX_VISIBLE 199009
> > __POSIX_VISIBLE 199209
> > __POSIX_VISIBLE 199309
> > __POSIX_VISIBLE 199506
> > __POSIX_VISIBLE 200112
> > __POSIX_VISIBLE 200809
> > __POSIX_VISIBLE 201402
> > and anticipated release date is 2022 from FAQ
> > https://www.opengroup.org/austin/faq.html
> > Q8. Where is the schedule for draft development?
> > so could use:
> > __POSIX_VISIBLE >= 202202 /* FIXME when POSIX Issue 8 released */
> Did you mean 202201? Sounds like a good idea in theory. But consider a
> project actually using this value and then the POSIX release defines the
> value 202207 or so. The project might stop to compile correctly. Along
> these lines, using 202212 for the interim might be the better approach.
> Then again, what if the release occurs in 2023 only?
> Still pretty unsure,
Me too. I told Matthew early on that the header guard for this was going
to require discussion because I had no idea what was right.
It would be nice to have this available on multiple platforms. Would it be
acceptable to make the header conditional on Cygwin and RTEMS for now?
Can we conditionalize the C file for just those two?
Does newlib have a ticketing/PR system? If so, we could revisit this when
Issue 8 is released. Alternatively, we can file a ticket in Cygwin and RTEMS
and see which one of us remembers it first after Issue 8 is out. I know if we
tag a ticket with the next release, it should get reviewed as we start cleaning
up as the code gets slushier.
More information about the Newlib