[oe] [meta-oe][PATCH] xterm: Fix latent issue found with musl

Khem Raj raj.khem at gmail.com
Sat Dec 14 15:24:13 UTC 2019


On Sat, Dec 14, 2019 at 6:21 AM Adrian Bunk <bunk at stusta.de> wrote:

> On Fri, Dec 13, 2019 at 09:55:49PM -0800, Khem Raj wrote:
> > On 12/13/19 2:58 PM, Adrian Bunk wrote:
> > > On Fri, Dec 13, 2019 at 01:55:33PM -0800, Khem Raj wrote:
> > > > On Thu, Dec 12, 2019 at 8:37 PM Adrian Bunk <bunk at stusta.de> wrote:
> > > > > On Thu, Dec 12, 2019 at 12:22:52PM -0800, Khem Raj wrote:
> > > > ...
> > > > > > +_POSIX_SOURCE is app-defined not system
> > > > >
> > > > > This is true for musl, not for glibc.
> > > > >
> > > > > The handling of _POSIX_SOURCE and _POSIX_VERSION differs between
> musl
> > > > > and glibc due to glibc supporting older POSIX versions, and glibc
> also
> > > > > supporting developers of portable code to select some specific
> older
> > > > > POSIX version.
> > > > >
> > > > No thats not right.
> > > > _POSIX_SOURCE (like all FTMs) is
> > > > defined by the application to request a feature/standards profile
> > > > it's not libc telling you "this is posix" or anything like that.
> > >
> > > It is also defined when _POSIX_C_SOURCE is defined, or _GNU_SOURCE,
> > > or when the default non-strict gcc mode is used.
> > >
> > > The latter means that it is in practice nearly always defined when the
> > > libc supports applications written against older versions of POSIX.
> > >
> > but these macros are not used in this case so its irrelevant here.
>
> No macro has to be used, with gcc default settings _POSIX_SOURCE
> is defined:


Again this was what I said originally was not correct

>
>
> $ cat test.c
> #include <unistd.h>
> int tmp = _POSIX_SOURCE;
> $ gcc -O2 -Wall -c test.c
> $
>



> musl is different, since it does not aim at fully supporting
> applications that were written against an older version of
> the POSIX standard.
>
> > > > _POSIX_VERSION tells you that
> > > > ...
> > >
> > > _POSIX_VERSION being defined tells you that you have unistd.h included.
> > >
> > > With glibc the value of _POSIX_VERSION depends on what
> feature/standards
> > > profile the application has requested.
> >
> > I would not look into how glibc does something and call it standard.
>
> I would not look into how musl does something and call it standard.


Who said that effort is to find common solution

>
>
> I checked what musl and glibc do and what the standard says.
>
> > It guards these definitions by its internal defines ( prefixed with __)
> which
> > is internal to a libc implementation,  applications are not exposed to
> > private namespace.
>
> _POSIX_SOURCE is defined in POSIX.1-1990 and mentioned in later versions
> of POSIX.
>
> _POSIX_VERSION is defined in all(?) versions of POSIX.
>

Ok thank you

>
> cu
> Adrian
>


More information about the Openembedded-devel mailing list