On 26/10/2020 20:33, Érico Nogueira via Libc-alpha wrote:
> From: Érico Rolim <eric...@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

Reply via email to