* [RFC][PATCH] * bits/confname.h: Define _CS_POSIX_V7_THREADS_CFLAGS, _CS_POSIX_V7_THREADS_LDFLAGS
@ 2020-10-26 23:33 Érico Nogueira
2020-12-21 5:26 ` Siddhesh Poyarekar
2022-03-08 16:29 ` Adhemerval Zanella
0 siblings, 2 replies; 4+ messages in thread
From: Érico Nogueira @ 2020-10-26 23:33 UTC (permalink / raw)
To: libc-alpha; +Cc: elfutils-devel, Érico Rolim
From: Érico Rolim <ericonr@disroot.org>
I would like to add these enums in order to conform to the POSIX
specification: https://www.man7.org/linux/man-pages/man0/unistd.h.0p.html
This change also helps musl-libc, since they want to have these defines
with the same values as glibc.
I tried to add them for the bits/confname.h and
conform/data/unistd.h-data files following the example of the other
values, but didn't know how to plug them into the confstr / __sysconf
implementations.
bits/confname.h | 7 ++++++-
conform/data/unistd.h-data | 2 ++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/bits/confname.h b/bits/confname.h
index 5dc8215093..fdc5403697 100644
--- a/bits/confname.h
+++ b/bits/confname.h
@@ -670,6 +670,11 @@ enum
_CS_V6_ENV,
#define _CS_V6_ENV _CS_V6_ENV
- _CS_V7_ENV
+ _CS_V7_ENV,
#define _CS_V7_ENV _CS_V7_ENV
+
+ _CS_POSIX_V7_THREADS_CFLAGS,
+#define _CS_POSIX_V7_THREADS_CFLAGS _CS_POSIX_V7_THREADS_CFLAGS
+ _CS_POSIX_V7_THREADS_LDFLAGS
+#define _CS_POSIX_V7_THREADS_LDFLAGS _CS_POSIX_V7_THREADS_LDFLAGS
};
diff --git a/conform/data/unistd.h-data b/conform/data/unistd.h-data
index aa070528e8..6c4b52a733 100644
--- a/conform/data/unistd.h-data
+++ b/conform/data/unistd.h-data
@@ -367,6 +367,8 @@ constant _CS_POSIX_V7_LP64_OFF64_LIBS
constant _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
constant _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
constant _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+constant _CS_POSIX_V7_THREADS_CFLAGS
+constant _CS_POSIX_V7_THREADS_LDFLAGS
constant _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
constant _CS_V7_ENV
# endif
--
2.27.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC][PATCH] * bits/confname.h: Define _CS_POSIX_V7_THREADS_CFLAGS, _CS_POSIX_V7_THREADS_LDFLAGS
2020-10-26 23:33 [RFC][PATCH] * bits/confname.h: Define _CS_POSIX_V7_THREADS_CFLAGS, _CS_POSIX_V7_THREADS_LDFLAGS Érico Nogueira
@ 2020-12-21 5:26 ` Siddhesh Poyarekar
2022-03-08 16:29 ` Adhemerval Zanella
1 sibling, 0 replies; 4+ messages in thread
From: Siddhesh Poyarekar @ 2020-12-21 5:26 UTC (permalink / raw)
To: Érico Nogueira, libc-alpha; +Cc: elfutils-devel
On 10/27/20 5:03 AM, Érico Nogueira via Libc-alpha wrote:
> From: Érico Rolim <ericonr@disroot.org>
>
> I would like to add these enums in order to conform to the POSIX
> specification: https://www.man7.org/linux/man-pages/man0/unistd.h.0p.html
>
> This change also helps musl-libc, since they want to have these defines
> with the same values as glibc.
>
> I tried to add them for the bits/confname.h and
> conform/data/unistd.h-data files following the example of the other
> values, but didn't know how to plug them into the confstr / __sysconf
> implementations.
It's been a while since I touched this code, but IIRC you need to add
your new variables to posix/posix-conf-vars.list.
That said, could you please let me know if you have a copyright
assignment agreement with the FSF? I suppose this change may be OK
given that it is under 20 lines but one of the stewards could confirm
for sure.
Thanks,
Siddhesh
>
> bits/confname.h | 7 ++++++-
> conform/data/unistd.h-data | 2 ++
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/bits/confname.h b/bits/confname.h
> index 5dc8215093..fdc5403697 100644
> --- a/bits/confname.h
> +++ b/bits/confname.h
> @@ -670,6 +670,11 @@ enum
>
> _CS_V6_ENV,
> #define _CS_V6_ENV _CS_V6_ENV
> - _CS_V7_ENV
> + _CS_V7_ENV,
> #define _CS_V7_ENV _CS_V7_ENV
> +
> + _CS_POSIX_V7_THREADS_CFLAGS,
> +#define _CS_POSIX_V7_THREADS_CFLAGS _CS_POSIX_V7_THREADS_CFLAGS
> + _CS_POSIX_V7_THREADS_LDFLAGS
> +#define _CS_POSIX_V7_THREADS_LDFLAGS _CS_POSIX_V7_THREADS_LDFLAGS
> };
> diff --git a/conform/data/unistd.h-data b/conform/data/unistd.h-data
> index aa070528e8..6c4b52a733 100644
> --- a/conform/data/unistd.h-data
> +++ b/conform/data/unistd.h-data
> @@ -367,6 +367,8 @@ constant _CS_POSIX_V7_LP64_OFF64_LIBS
> constant _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
> constant _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
> constant _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
> +constant _CS_POSIX_V7_THREADS_CFLAGS
> +constant _CS_POSIX_V7_THREADS_LDFLAGS
> constant _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
> constant _CS_V7_ENV
> # endif
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC][PATCH] * bits/confname.h: Define _CS_POSIX_V7_THREADS_CFLAGS, _CS_POSIX_V7_THREADS_LDFLAGS
2020-10-26 23:33 [RFC][PATCH] * bits/confname.h: Define _CS_POSIX_V7_THREADS_CFLAGS, _CS_POSIX_V7_THREADS_LDFLAGS Érico Nogueira
2020-12-21 5:26 ` Siddhesh Poyarekar
@ 2022-03-08 16:29 ` Adhemerval Zanella
2022-03-08 16:31 ` Adhemerval Zanella
1 sibling, 1 reply; 4+ messages in thread
From: Adhemerval Zanella @ 2022-03-08 16:29 UTC (permalink / raw)
To: Érico Nogueira, libc-alpha; +Cc: elfutils-devel, Rich Felker
On 26/10/2020 20:33, Érico Nogueira via Libc-alpha wrote:
> From: Érico Rolim <ericonr@disroot.org>
>
> I would like to add these enums in order to conform to the POSIX
> specification: https://www.man7.org/linux/man-pages/man0/unistd.h.0p.html
>
> This change also helps musl-libc, since they want to have these defines
> with the same values as glibc.
>
> I tried to add them for the bits/confname.h and
> conform/data/unistd.h-data files following the example of the other
> values, but didn't know how to plug them into the confstr / __sysconf
> implementations.
I think since we do not export _SC_POSIX_THREADS and now that libpthread
symbols were all moved to libc, there is no need return the libpthread
for LDFLAGS. However it requires to be handled on confstr and getconf:
diff --git a/posix/confstr.c b/posix/confstr.c
index 6e3c264462..95fb0f6abc 100644
--- a/posix/confstr.c
+++ b/posix/confstr.c
@@ -249,6 +249,11 @@ __confstr (int name, char *buf, size_t len)
/* GNU libc does not require special actions to use LFS functions. */
break;
+ case _CS_POSIX_V7_THREADS_CFLAGS:
+ case _CS_POSIX_V7_THREADS_LDFLAGS:
+ /* GNU libc does not require special actions to use thread functions. */
+ break;
+
case _CS_GNU_LIBC_VERSION:
string = "glibc " VERSION;
string_len = sizeof ("glibc " VERSION);
diff --git a/posix/getconf.c b/posix/getconf.c
index a1adbc4b50..6a5363ad49 100644
--- a/posix/getconf.c
+++ b/posix/getconf.c
@@ -310,6 +310,8 @@ static const struct conf vars[] =
{ "POSIX_V7_LPBIG_OFFBIG_LDFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, CONFSTR },
{ "POSIX_V7_LPBIG_OFFBIG_LIBS", _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, CONFSTR },
{ "POSIX_V7_LPBIG_OFFBIG_LINTFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, CONFSTR },
+ { "POSIX_V7_THREADS_CFLAGS", _CS_POSIX_V7_THREADS_CFLAGS, CONFSTR },
+ { "POSIX_V7_THREADS_LDFLAGS", _CS_POSIX_V7_THREADS_LDFLAGS, CONFSTR },
{ "_POSIX_ADVISORY_INFO", _SC_ADVISORY_INFO, SYSCONF },
{ "_POSIX_BARRIERS", _SC_BARRIERS, SYSCONF },
Also now that we do not require a copyright assignment, you just need to add
a sign-off on the email submission.
>
> bits/confname.h | 7 ++++++-
> conform/data/unistd.h-data | 2 ++
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/bits/confname.h b/bits/confname.h
> index 5dc8215093..fdc5403697 100644
> --- a/bits/confname.h
> +++ b/bits/confname.h
> @@ -670,6 +670,11 @@ enum
>
> _CS_V6_ENV,
> #define _CS_V6_ENV _CS_V6_ENV
> - _CS_V7_ENV
> + _CS_V7_ENV,
> #define _CS_V7_ENV _CS_V7_ENV
> +
> + _CS_POSIX_V7_THREADS_CFLAGS,
> +#define _CS_POSIX_V7_THREADS_CFLAGS _CS_POSIX_V7_THREADS_CFLAGS
> + _CS_POSIX_V7_THREADS_LDFLAGS
> +#define _CS_POSIX_V7_THREADS_LDFLAGS _CS_POSIX_V7_THREADS_LDFLAGS
> };
> diff --git a/conform/data/unistd.h-data b/conform/data/unistd.h-data
> index aa070528e8..6c4b52a733 100644
> --- a/conform/data/unistd.h-data
> +++ b/conform/data/unistd.h-data
> @@ -367,6 +367,8 @@ constant _CS_POSIX_V7_LP64_OFF64_LIBS
> constant _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
> constant _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
> constant _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
> +constant _CS_POSIX_V7_THREADS_CFLAGS
> +constant _CS_POSIX_V7_THREADS_LDFLAGS
> constant _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
> constant _CS_V7_ENV
> # endif
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC][PATCH] * bits/confname.h: Define _CS_POSIX_V7_THREADS_CFLAGS, _CS_POSIX_V7_THREADS_LDFLAGS
2022-03-08 16:29 ` Adhemerval Zanella
@ 2022-03-08 16:31 ` Adhemerval Zanella
0 siblings, 0 replies; 4+ messages in thread
From: Adhemerval Zanella @ 2022-03-08 16:31 UTC (permalink / raw)
To: Érico Nogueira, libc-alpha; +Cc: elfutils-devel, Rich Felker
On 08/03/2022 13:29, Adhemerval Zanella wrote:
>
>
> On 26/10/2020 20:33, Érico Nogueira via Libc-alpha wrote:
>> From: Érico Rolim <ericonr@disroot.org>
>>
>> I would like to add these enums in order to conform to the POSIX
>> specification: https://www.man7.org/linux/man-pages/man0/unistd.h.0p.html
>>
>> This change also helps musl-libc, since they want to have these defines
>> with the same values as glibc.
>>
>> I tried to add them for the bits/confname.h and
>> conform/data/unistd.h-data files following the example of the other
>> values, but didn't know how to plug them into the confstr / __sysconf
>> implementations.
>
> I think since we do not export _SC_POSIX_THREADS and now that libpthread
> symbols were all moved to libc, there is no need return the libpthread
> for LDFLAGS. However it requires to be handled on confstr and getconf:
>
> diff --git a/posix/confstr.c b/posix/confstr.c
> index 6e3c264462..95fb0f6abc 100644
> --- a/posix/confstr.c
> +++ b/posix/confstr.c
> @@ -249,6 +249,11 @@ __confstr (int name, char *buf, size_t len)
> /* GNU libc does not require special actions to use LFS functions. */
> break;
>
> + case _CS_POSIX_V7_THREADS_CFLAGS:
> + case _CS_POSIX_V7_THREADS_LDFLAGS:
> + /* GNU libc does not require special actions to use thread functions. */
> + break;
> +
> case _CS_GNU_LIBC_VERSION:
> string = "glibc " VERSION;
> string_len = sizeof ("glibc " VERSION);
> diff --git a/posix/getconf.c b/posix/getconf.c
> index a1adbc4b50..6a5363ad49 100644
> --- a/posix/getconf.c
> +++ b/posix/getconf.c
> @@ -310,6 +310,8 @@ static const struct conf vars[] =
> { "POSIX_V7_LPBIG_OFFBIG_LDFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, CONFSTR },
> { "POSIX_V7_LPBIG_OFFBIG_LIBS", _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, CONFSTR },
> { "POSIX_V7_LPBIG_OFFBIG_LINTFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, CONFSTR },
> + { "POSIX_V7_THREADS_CFLAGS", _CS_POSIX_V7_THREADS_CFLAGS, CONFSTR },
> + { "POSIX_V7_THREADS_LDFLAGS", _CS_POSIX_V7_THREADS_LDFLAGS, CONFSTR },
>
> { "_POSIX_ADVISORY_INFO", _SC_ADVISORY_INFO, SYSCONF },
> { "_POSIX_BARRIERS", _SC_BARRIERS, SYSCONF },
>
> Also now that we do not require a copyright assignment, you just need to add
> a sign-off on the email submission.
>
Also, reference the BZ#25003 [1] on title.
https://sourceware.org/bugzilla/show_bug.cgi?id=25003
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-03-08 16:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-26 23:33 [RFC][PATCH] * bits/confname.h: Define _CS_POSIX_V7_THREADS_CFLAGS, _CS_POSIX_V7_THREADS_LDFLAGS Érico Nogueira
2020-12-21 5:26 ` Siddhesh Poyarekar
2022-03-08 16:29 ` Adhemerval Zanella
2022-03-08 16:31 ` Adhemerval Zanella
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).