From: Emanuele Torre <torreemanuele6@gmail.com>
To: Alejandro Colomar <alx@kernel.org>
Cc: linux-man@vger.kernel.org, libc-alpha@sourceware.org
Subject: Re: [PATCH] grantpt.3: explicitly mention #define _XOPEN_SOURCE requirement
Date: Sun, 26 May 2024 18:58:37 +0200 [thread overview]
Message-ID: <ZlNqPWpHielt0yRt@t420> (raw)
In-Reply-To: <lnk72xmyvdccfns2ncuzlvaz655ckfyd3lnljpo4sqb2x27ipo@vvqus3o6a342>
On Sun, May 26, 2024 at 06:38:35PM +0200, Alejandro Colomar wrote:
> Hi Emanuele,
>
> On Sun, May 26, 2024 at 05:11:58PM GMT, Emanuele Torre wrote:
> > > On Sun, May 26, 2024 at 04:19:30PM GMT, Emanuele Torre wrote:
> > > > I've just noticed that ptsname.3 is also missing #define _XOPEN_SOURCE
> > > > in its synopsis; however #define _XOPEN_SOURCE does not seem to work.
> > > Did you define it to 500, or an empty value?
> >
> > empty value.
>
> Hmm.
>
> > > You need to define it to an appropriate value. (The synopsis is a bit
> > > misleading, and we could/should specify the minimum value.)
> >
> > I did notice the
> >
> > ptsname():
> > Since glibc 2.24:
> > _XOPEN_SOURCE >= 500
> > glibc 2.23 and earlier:
> > _XOPEN_SOURCE
> >
> > But that is the same text that appears in grantpt.3 and unlockpt.3, and
> > they get included with just _XOPEN_SOURCE.
> >
> > I also noticed it this morning when I sent my patch for grantpt.3, but I
> > ignored it assuming I probably misunderstood its meaning since it worked
> > with just _XOPEN_SOURCE.
>
> I also noticed and ignored it, since I saw the same text in the other
> pages.
Yes, I copied the line from unlockpt.3 after seeing it there, and seeing
it resolved the issue.
>
> > Does this mean that my grantpt.3 patch is wrong?
> >
> > And that #define _XOPEN_SOURCE in the synopsys of unlockpt.3 is also
> > wrong?
>
> Regardless of it being correct or not, I think using the definition
> used by newer glibc versions is better, so we could update the SYNOPSIS
> of all pages to show the requirements of the latest glibc.
>
> > I should not use just #define _XOPEN_SOURCE without a value in my
> > programs if I want to use ptsname(3), grantpt(3), unlockpt(3)?
>
> TBH, I don't know. AFAICS, _XOPEN_SOURCE without specifying a value
> means POSIX.1‐1990 (maybe? not sure). That is so obsolete these days
> that I don't know what it means. Does it provide ptsname(3)? I don't
> know. But yeah, I'd say just don't use it.
>
> These days, POSIX.1-2001 is granted everywhere (except maybe some dying
> proprietary systems), and even POSIX.1-2008 if you restrict yourself to
> Linux and the BSDs. I suggest using the flags that enable one of these
> more recent standards.
Yes, I guess when necessary it's probably easier to just always use
#define _GNU_SOURCE instead of messing with _XOPEN_SOURCE,
_POSIX_C_SOURCE, etc.
o/
emanuele6
prev parent reply other threads:[~2024-05-26 16:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-26 6:42 [PATCH] grantpt.3: explicitly mention #define _XOPEN_SOURCE requirement Emanuele Torre
2024-05-26 10:39 ` Alejandro Colomar
2024-05-26 14:19 ` Emanuele Torre
2024-05-26 14:54 ` Alejandro Colomar
2024-05-26 15:11 ` Emanuele Torre
2024-05-26 16:38 ` Alejandro Colomar
2024-05-26 16:58 ` Emanuele Torre [this message]
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=ZlNqPWpHielt0yRt@t420 \
--to=torreemanuele6@gmail.com \
--cc=alx@kernel.org \
--cc=libc-alpha@sourceware.org \
--cc=linux-man@vger.kernel.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