Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Mar 2025 03:55:56 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Stephen Hurd <shurd@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>,  "<dev-commits-src-all@freebsd.org>" <dev-commits-src-all@freebsd.org>,  "<dev-commits-src-main@freebsd.org>" <dev-commits-src-main@freebsd.org>
Subject:   Re: git: 415a0ce02c9e - main - Revert Make newly POSIX functions visible
Message-ID:  <CANCZdfo3f1vS2k41CxUvD9X5zoOPPd=ZmtcVeraPZRZKugwD_A@mail.gmail.com>
In-Reply-To: <202503200741.52K7frms088363@gitrepo.freebsd.org>
References:  <202503200741.52K7frms088363@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--0000000000008eff690630c32596
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 20, 2025, 1:42=E2=80=AFAM Stephen Hurd <shurd@freebsd.org> wrot=
e:

> The branch main has been updated by shurd:
>
> URL:
> https://cgit.FreeBSD.org/src/commit/?id=3D415a0ce02c9ee2c15c7973b2dfbddda=
71f6344a2
>
> commit 415a0ce02c9ee2c15c7973b2dfbddda71f6344a2
> Author:     Stephen Hurd <shurd@FreeBSD.org>
> AuthorDate: 2025-03-20 07:15:15 +0000
> Commit:     Stephen Hurd <shurd@FreeBSD.org>
> CommitDate: 2025-03-20 07:41:27 +0000
>
>     Revert Make newly POSIX functions visible
>
>     Summary:
>     This reverts commit d7efac1be1441c122f7fb9de51a409172f21326c.
>     This reverts commit 9d0eea9422d075c8a6924b33161d2d5abfb4072a.
>
>     Some ports (specifically Python) define __BSD_VISIBLE themselves, so
>     the change from __BSD_VISIBLE to __POSIX_VISIBLE >=3D 202405 makes th=
em
>     fail.
>

That's not legal. Defining __BSD_VISIBLE directly is illegal and won't work
right. Can't work right and should likely be a compile time error. With am
exp run to fix.

Warner


>     Reported by:    jrtc27, cperciva
> ---
>  include/dlfcn.h  |  8 +-------
>  include/stdlib.h | 13 +++++--------
>  include/string.h |  6 +++---
>  include/time.h   |  8 +++-----
>  include/unistd.h | 16 ++++++----------
>  include/wchar.h  |  7 ++-----
>  6 files changed, 20 insertions(+), 38 deletions(-)
>
> diff --git a/include/dlfcn.h b/include/dlfcn.h
> index ec4ad14b5091..89ec43b332e9 100644
> --- a/include/dlfcn.h
> +++ b/include/dlfcn.h
> @@ -80,9 +80,6 @@ typedef       struct dl_info {
>         const char      *dli_sname;     /* Name of nearest symbol. */
>         void            *dli_saddr;     /* Address of nearest symbol. */
>  } Dl_info;
> -#if __POSIX_VISIBLE >=3D 202405
> -typedef struct dl_info Dl_info_t;
> -#endif
>
>  /*-
>   * The actual type declared by this typedef is immaterial, provided that
> @@ -122,12 +119,9 @@ char       *dlerror(void);
>  void   *dlopen(const char *, int);
>  void   *dlsym(void * __restrict, const char * __restrict);
>
> -#if __POSIX_VISIBLE >=3D 202405
> -int     dladdr(const void * __restrict, Dl_info * __restrict);
> -#endif
> -
>  #if __BSD_VISIBLE
>  void   *fdlopen(int, int);
> +int     dladdr(const void * __restrict, Dl_info * __restrict);
>  dlfunc_t dlfunc(void * __restrict, const char * __restrict);
>  int     dlinfo(void * __restrict, int, void * __restrict);
>  void    dllockinit(void *_context,
> diff --git a/include/stdlib.h b/include/stdlib.h
> index 449b17fefff5..162031ab393d 100644
> --- a/include/stdlib.h
> +++ b/include/stdlib.h
> @@ -157,7 +157,7 @@ _Noreturn void       _Exit(int) __noexcept;
>  /*
>   * If we're in a mode greater than C99, expose C11 functions.
>   */
> -#if __ISO_C_VISIBLE >=3D 2011 || __cplusplus >=3D 201103L || __POSIX_VIS=
IBLE
> >=3D 202405
> +#if __ISO_C_VISIBLE >=3D 2011 || __cplusplus >=3D 201103L
>  void * aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1)
>             __alloc_size(2);
>  int    at_quick_exit(void (*)(void)) __noexcept;
> @@ -236,13 +236,6 @@ int         unlockpt(int);
>  int     ptsname_r(int, char *, size_t);
>  #endif
>
> -#if __POSIX_VISIBLE >=3D 202405
> -void    qsort_r(void *, size_t, size_t,
> -           int (*)(const void *, const void *, void *), void *);
> -void   *reallocarray(void *, size_t, size_t) __result_use_check
> -           __alloc_size2(2, 3);
> -#endif
> -
>  #if __BSD_VISIBLE
>  extern const char *malloc_conf;
>  extern void (*malloc_message)(void *, const char *);
> @@ -312,8 +305,12 @@ int         mergesort_b(void *, size_t, size_t, int
> (^)(const void *, const void *));
>  int     mkostemp(char *, int);
>  int     mkostemps(char *, int, int);
>  int     mkostempsat(int, char *, int, int);
> +void    qsort_r(void *, size_t, size_t,
> +           int (*)(const void *, const void *, void *), void *);
>  int     radixsort(const unsigned char **, int, const unsigned char *,
>             unsigned);
> +void   *reallocarray(void *, size_t, size_t) __result_use_check
> +           __alloc_size2(2, 3);
>  void   *reallocf(void *, size_t) __result_use_check __alloc_size(2);
>  int     rpmatch(const char *);
>  char   *secure_getenv(const char *);
> diff --git a/include/string.h b/include/string.h
> index 3deca63bd71a..a3fa96ebb449 100644
> --- a/include/string.h
> +++ b/include/string.h
> @@ -63,8 +63,8 @@ void  *memrchr(const void *, int, size_t) __pure;
>  #endif
>  int     memcmp(const void *, const void *, size_t) __pure;
>  void   *(memcpy)(void * __restrict, const void * __restrict, size_t);
> -#if __POSIX_VISIBLE >=3D 202405
> -void   *(memmem)(const void *, size_t, const void *, size_t) __pure;
> +#if __BSD_VISIBLE
> +void   *memmem(const void *, size_t, const void *, size_t) __pure;
>  #endif
>  void   *(memmove)(void *, const void *, size_t);
>  #if __BSD_VISIBLE
> @@ -98,7 +98,7 @@ char  *strerror(int);
>  #if __POSIX_VISIBLE >=3D 200112
>  int     strerror_r(int, char *, size_t);
>  #endif
> -#if __POSIX_VISIBLE >=3D 202405
> +#if __BSD_VISIBLE
>  size_t  (strlcat)(char * __restrict, const char * __restrict, size_t);
>  size_t  (strlcpy)(char * __restrict, const char * __restrict, size_t);
>  #endif
> diff --git a/include/time.h b/include/time.h
> index e011792aaaeb..89a76ca5fd93 100644
> --- a/include/time.h
> +++ b/include/time.h
> @@ -180,17 +180,15 @@ time_t posix2time(time_t t);
>  #include <xlocale/_time.h>
>  #endif
>
> -#if __ISO_C_VISIBLE >=3D 2011 || __POSIX_VISIBLE >=3D 202405 || \
> +#if __BSD_VISIBLE || __ISO_C_VISIBLE >=3D 2011 || \
>      (defined(__cplusplus) && __cplusplus >=3D 201703)
>  #include <sys/_timespec.h>
>  /* ISO/IEC 9899:2011 7.27.2.5 The timespec_get function */
>  #define TIME_UTC       1       /* time elapsed since epoch */
> -#if __ISO_C_VISIBLE >=3D 2023 || __POSIX_VISIBLE >=3D 202405
> -/* ISO/IEC 9899:2024 7.29.1 Components of time */
> -#define TIME_MONOTONIC 2       /* monotonic time */
> -#endif
>  int timespec_get(struct timespec *ts, int base);
>  #if __BSD_VISIBLE || __ISO_C_VISIBLE >=3D 2023
> +/* ISO/IEC 9899:2024 7.29.1 Components of time */
> +#define TIME_MONOTONIC 2       /* monotonic time */
>  /* ISO/IEC 9899:2024 7.29.2.7 The timespec_getres function */
>  int timespec_getres(struct timespec *, int);
>  #endif
> diff --git a/include/unistd.h b/include/unistd.h
> index 3a4e1be192d9..8574b2ba9915 100644
> --- a/include/unistd.h
> +++ b/include/unistd.h
> @@ -483,16 +483,6 @@ int         usleep(useconds_t);
>  pid_t   vfork(void) __returns_twice;
>  #endif
>
> -/* 1003.1-2024 */
> -#if __POSIX_VISIBLE >=3D 202405
> -pid_t   _Fork(void);
> -int     getentropy(void *, size_t);
> -int     getresgid(gid_t *, gid_t *, gid_t *);
> -int     getresuid(uid_t *, uid_t *, uid_t *);
> -int     setresgid(gid_t, gid_t, gid_t);
> -int     setresuid(uid_t, uid_t, uid_t);
> -#endif
> -
>  #if __BSD_VISIBLE
>  struct timeval;                                /* select(2) */
>
> @@ -520,11 +510,14 @@ int        feature_present(const char *);
>  int     fchroot(int);
>  char   *fflagstostr(u_long);
>  int     getdomainname(char *, int);
> +int     getentropy(void *, size_t);
>  int     getgrouplist(const char *, gid_t, gid_t *, int *);
>  int     getloginclass(char *, size_t);
>  mode_t  getmode(const void *, mode_t);
>  int     getosreldate(void);
>  int     getpeereid(int, uid_t *, gid_t *);
> +int     getresgid(gid_t *, gid_t *, gid_t *);
> +int     getresuid(uid_t *, uid_t *, uid_t *);
>  char   *getusershell(void);
>  int     initgroups(const char *, gid_t);
>  int     iruserok(unsigned long, int, const char *, const char *);
> @@ -582,6 +575,8 @@ void        *setmode(const char *);
>  int     setpgrp(pid_t, pid_t);                 /* obsoleted by setpgid()
> */
>  void    setproctitle(const char *_fmt, ...) __printf0like(1, 2);
>  void    setproctitle_fast(const char *_fmt, ...) __printf0like(1, 2);
> +int     setresgid(gid_t, gid_t, gid_t);
> +int     setresuid(uid_t, uid_t, uid_t);
>  int     setrgid(gid_t);
>  int     setruid(uid_t);
>  void    setusershell(void);
> @@ -594,6 +589,7 @@ int  undelete(const char *);
>  int     unwhiteout(const char *);
>  void   *valloc(size_t);                        /* obsoleted by malloc() =
*/
>  int     funlinkat(int, const char *, int, int);
> +pid_t   _Fork(void);
>
>  #ifndef _OPTRESET_DECLARED
>  #define        _OPTRESET_DECLARED
> diff --git a/include/wchar.h b/include/wchar.h
> index a8c016c42faf..e4b037c9b16f 100644
> --- a/include/wchar.h
> +++ b/include/wchar.h
> @@ -235,13 +235,10 @@ size_t    wcsnrtombs(char * __restrict, const
> wchar_t ** __restrict, size_t,
>             size_t, mbstate_t * __restrict);
>  #endif
>
> -#if __POSIX_VISIBLE >=3D 202405
> -size_t wcslcat(wchar_t *, const wchar_t *, size_t);
> -size_t wcslcpy(wchar_t *, const wchar_t *, size_t);
> -#endif
> -
>  #if __BSD_VISIBLE
>  wchar_t        *fgetwln(FILE * __restrict, size_t * __restrict);
> +size_t wcslcat(wchar_t *, const wchar_t *, size_t);
> +size_t wcslcpy(wchar_t *, const wchar_t *, size_t);
>  #endif
>
>  #if __POSIX_VISIBLE >=3D 200809 || defined(_XLOCALE_H_)
>

--0000000000008eff690630c32596
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div><br><br><div class=3D"gmail_quote gmail_quote_contai=
ner"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Mar 20, 2025, 1:42=E2=80=
=AFAM Stephen Hurd &lt;<a href=3D"mailto:shurd@freebsd.org">shurd@freebsd.o=
rg</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The branch main h=
as been updated by shurd:<br>
<br>
URL: <a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3D415a0ce02c9ee2c15=
c7973b2dfbddda71f6344a2" rel=3D"noreferrer noreferrer" target=3D"_blank">ht=
tps://cgit.FreeBSD.org/src/commit/?id=3D415a0ce02c9ee2c15c7973b2dfbddda71f6=
344a2</a><br>
<br>
commit 415a0ce02c9ee2c15c7973b2dfbddda71f6344a2<br>
Author:=C2=A0 =C2=A0 =C2=A0Stephen Hurd &lt;shurd@FreeBSD.org&gt;<br>
AuthorDate: 2025-03-20 07:15:15 +0000<br>
Commit:=C2=A0 =C2=A0 =C2=A0Stephen Hurd &lt;shurd@FreeBSD.org&gt;<br>
CommitDate: 2025-03-20 07:41:27 +0000<br>
<br>
=C2=A0 =C2=A0 Revert Make newly POSIX functions visible<br>
<br>
=C2=A0 =C2=A0 Summary:<br>
=C2=A0 =C2=A0 This reverts commit d7efac1be1441c122f7fb9de51a409172f21326c.=
<br>
=C2=A0 =C2=A0 This reverts commit 9d0eea9422d075c8a6924b33161d2d5abfb4072a.=
<br>
<br>
=C2=A0 =C2=A0 Some ports (specifically Python) define __BSD_VISIBLE themsel=
ves, so<br>
=C2=A0 =C2=A0 the change from __BSD_VISIBLE to __POSIX_VISIBLE &gt;=3D 2024=
05 makes them<br>
=C2=A0 =C2=A0 fail.<br></blockquote></div></div><div dir=3D"auto"><br></div=
><div dir=3D"auto">That&#39;s not legal. Defining __BSD_VISIBLE directly is=
 illegal and won&#39;t work right. Can&#39;t work right and should likely b=
e a compile time error. With am exp run to fix.</div><div dir=3D"auto"><br>=
</div><div dir=3D"auto">Warner</div><div dir=3D"auto"><br></div><div dir=3D=
"auto"><div class=3D"gmail_quote gmail_quote_container"><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">
<br>
=C2=A0 =C2=A0 Reported by:=C2=A0 =C2=A0 jrtc27, cperciva<br>
---<br>
=C2=A0include/dlfcn.h=C2=A0 |=C2=A0 8 +-------<br>
=C2=A0include/stdlib.h | 13 +++++--------<br>
=C2=A0include/string.h |=C2=A0 6 +++---<br>
=C2=A0include/time.h=C2=A0 =C2=A0|=C2=A0 8 +++-----<br>
=C2=A0include/unistd.h | 16 ++++++----------<br>
=C2=A0include/wchar.h=C2=A0 |=C2=A0 7 ++-----<br>
=C2=A06 files changed, 20 insertions(+), 38 deletions(-)<br>
<br>
diff --git a/include/dlfcn.h b/include/dlfcn.h<br>
index ec4ad14b5091..89ec43b332e9 100644<br>
--- a/include/dlfcn.h<br>
+++ b/include/dlfcn.h<br>
@@ -80,9 +80,6 @@ typedef=C2=A0 =C2=A0 =C2=A0 =C2=A0struct dl_info {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 const char=C2=A0 =C2=A0 =C2=A0 *dli_sname;=C2=
=A0 =C2=A0 =C2=A0/* Name of nearest symbol. */<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 void=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *=
dli_saddr;=C2=A0 =C2=A0 =C2=A0/* Address of nearest symbol. */<br>
=C2=A0} Dl_info;<br>
-#if __POSIX_VISIBLE &gt;=3D 202405<br>
-typedef struct dl_info Dl_info_t;<br>
-#endif<br>
<br>
=C2=A0/*-<br>
=C2=A0 * The actual type declared by this typedef is immaterial, provided t=
hat<br>
@@ -122,12 +119,9 @@ char=C2=A0 =C2=A0 =C2=A0 =C2=A0*dlerror(void);<br>
=C2=A0void=C2=A0 =C2=A0*dlopen(const char *, int);<br>
=C2=A0void=C2=A0 =C2=A0*dlsym(void * __restrict, const char * __restrict);<=
br>
<br>
-#if __POSIX_VISIBLE &gt;=3D 202405<br>
-int=C2=A0 =C2=A0 =C2=A0dladdr(const void * __restrict, Dl_info * __restric=
t);<br>
-#endif<br>
-<br>
=C2=A0#if __BSD_VISIBLE<br>
=C2=A0void=C2=A0 =C2=A0*fdlopen(int, int);<br>
+int=C2=A0 =C2=A0 =C2=A0dladdr(const void * __restrict, Dl_info * __restric=
t);<br>
=C2=A0dlfunc_t dlfunc(void * __restrict, const char * __restrict);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0dlinfo(void * __restrict, int, void * __restri=
ct);<br>
=C2=A0void=C2=A0 =C2=A0 dllockinit(void *_context,<br>
diff --git a/include/stdlib.h b/include/stdlib.h<br>
index 449b17fefff5..162031ab393d 100644<br>
--- a/include/stdlib.h<br>
+++ b/include/stdlib.h<br>
@@ -157,7 +157,7 @@ _Noreturn void=C2=A0 =C2=A0 =C2=A0 =C2=A0_Exit(int) __n=
oexcept;<br>
=C2=A0/*<br>
=C2=A0 * If we&#39;re in a mode greater than C99, expose C11 functions.<br>
=C2=A0 */<br>
-#if __ISO_C_VISIBLE &gt;=3D 2011 || __cplusplus &gt;=3D 201103L || __POSIX=
_VISIBLE &gt;=3D 202405<br>
+#if __ISO_C_VISIBLE &gt;=3D 2011 || __cplusplus &gt;=3D 201103L<br>
=C2=A0void * aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1)<b=
r>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 __alloc_size(2);<br>
=C2=A0int=C2=A0 =C2=A0 at_quick_exit(void (*)(void)) __noexcept;<br>
@@ -236,13 +236,6 @@ int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0unlockpt(int);<br=
>
=C2=A0int=C2=A0 =C2=A0 =C2=A0ptsname_r(int, char *, size_t);<br>
=C2=A0#endif<br>
<br>
-#if __POSIX_VISIBLE &gt;=3D 202405<br>
-void=C2=A0 =C2=A0 qsort_r(void *, size_t, size_t,<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0int (*)(const void *, const void =
*, void *), void *);<br>
-void=C2=A0 =C2=A0*reallocarray(void *, size_t, size_t) __result_use_check<=
br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0__alloc_size2(2, 3);<br>
-#endif<br>
-<br>
=C2=A0#if __BSD_VISIBLE<br>
=C2=A0extern const char *malloc_conf;<br>
=C2=A0extern void (*malloc_message)(void *, const char *);<br>
@@ -312,8 +305,12 @@ int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0mergesort_b(void =
*, size_t, size_t, int (^)(const void *, const void *));<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0mkostemp(char *, int);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0mkostemps(char *, int, int);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0mkostempsat(int, char *, int, int);<br>
+void=C2=A0 =C2=A0 qsort_r(void *, size_t, size_t,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0int (*)(const void *, const void =
*, void *), void *);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0radixsort(const unsigned char **, int, const u=
nsigned char *,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 unsigned);<br>
+void=C2=A0 =C2=A0*reallocarray(void *, size_t, size_t) __result_use_check<=
br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0__alloc_size2(2, 3);<br>
=C2=A0void=C2=A0 =C2=A0*reallocf(void *, size_t) __result_use_check __alloc=
_size(2);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0rpmatch(const char *);<br>
=C2=A0char=C2=A0 =C2=A0*secure_getenv(const char *);<br>
diff --git a/include/string.h b/include/string.h<br>
index 3deca63bd71a..a3fa96ebb449 100644<br>
--- a/include/string.h<br>
+++ b/include/string.h<br>
@@ -63,8 +63,8 @@ void=C2=A0 *memrchr(const void *, int, size_t) __pure;<br=
>
=C2=A0#endif<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0memcmp(const void *, const void *, size_t) __p=
ure;<br>
=C2=A0void=C2=A0 =C2=A0*(memcpy)(void * __restrict, const void * __restrict=
, size_t);<br>
-#if __POSIX_VISIBLE &gt;=3D 202405<br>
-void=C2=A0 =C2=A0*(memmem)(const void *, size_t, const void *, size_t) __p=
ure;<br>
+#if __BSD_VISIBLE<br>
+void=C2=A0 =C2=A0*memmem(const void *, size_t, const void *, size_t) __pur=
e;<br>
=C2=A0#endif<br>
=C2=A0void=C2=A0 =C2=A0*(memmove)(void *, const void *, size_t);<br>
=C2=A0#if __BSD_VISIBLE<br>
@@ -98,7 +98,7 @@ char=C2=A0 *strerror(int);<br>
=C2=A0#if __POSIX_VISIBLE &gt;=3D 200112<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0strerror_r(int, char *, size_t);<br>
=C2=A0#endif<br>
-#if __POSIX_VISIBLE &gt;=3D 202405<br>
+#if __BSD_VISIBLE<br>
=C2=A0size_t=C2=A0 (strlcat)(char * __restrict, const char * __restrict, si=
ze_t);<br>
=C2=A0size_t=C2=A0 (strlcpy)(char * __restrict, const char * __restrict, si=
ze_t);<br>
=C2=A0#endif<br>
diff --git a/include/time.h b/include/time.h<br>
index e011792aaaeb..89a76ca5fd93 100644<br>
--- a/include/time.h<br>
+++ b/include/time.h<br>
@@ -180,17 +180,15 @@ time_t posix2time(time_t t);<br>
=C2=A0#include &lt;xlocale/_time.h&gt;<br>
=C2=A0#endif<br>
<br>
-#if __ISO_C_VISIBLE &gt;=3D 2011 || __POSIX_VISIBLE &gt;=3D 202405 || \<br=
>
+#if __BSD_VISIBLE || __ISO_C_VISIBLE &gt;=3D 2011 || \<br>
=C2=A0 =C2=A0 =C2=A0(defined(__cplusplus) &amp;&amp; __cplusplus &gt;=3D 20=
1703)<br>
=C2=A0#include &lt;sys/_timespec.h&gt;<br>
=C2=A0/* ISO/IEC 9899:2011 7.27.2.5 The timespec_get function */<br>
=C2=A0#define TIME_UTC=C2=A0 =C2=A0 =C2=A0 =C2=A01=C2=A0 =C2=A0 =C2=A0 =C2=
=A0/* time elapsed since epoch */<br>
-#if __ISO_C_VISIBLE &gt;=3D 2023 || __POSIX_VISIBLE &gt;=3D 202405<br>
-/* ISO/IEC 9899:2024 7.29.1 Components of time */<br>
-#define TIME_MONOTONIC 2=C2=A0 =C2=A0 =C2=A0 =C2=A0/* monotonic time */<br=
>
-#endif<br>
=C2=A0int timespec_get(struct timespec *ts, int base);<br>
=C2=A0#if __BSD_VISIBLE || __ISO_C_VISIBLE &gt;=3D 2023<br>
+/* ISO/IEC 9899:2024 7.29.1 Components of time */<br>
+#define TIME_MONOTONIC 2=C2=A0 =C2=A0 =C2=A0 =C2=A0/* monotonic time */<br=
>
=C2=A0/* ISO/IEC 9899:2024 7.29.2.7 The timespec_getres function */<br>
=C2=A0int timespec_getres(struct timespec *, int);<br>
=C2=A0#endif<br>
diff --git a/include/unistd.h b/include/unistd.h<br>
index 3a4e1be192d9..8574b2ba9915 100644<br>
--- a/include/unistd.h<br>
+++ b/include/unistd.h<br>
@@ -483,16 +483,6 @@ int=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0usleep(useconds_t=
);<br>
=C2=A0pid_t=C2=A0 =C2=A0vfork(void) __returns_twice;<br>
=C2=A0#endif<br>
<br>
-/* 1003.1-2024 */<br>
-#if __POSIX_VISIBLE &gt;=3D 202405<br>
-pid_t=C2=A0 =C2=A0_Fork(void);<br>
-int=C2=A0 =C2=A0 =C2=A0getentropy(void *, size_t);<br>
-int=C2=A0 =C2=A0 =C2=A0getresgid(gid_t *, gid_t *, gid_t *);<br>
-int=C2=A0 =C2=A0 =C2=A0getresuid(uid_t *, uid_t *, uid_t *);<br>
-int=C2=A0 =C2=A0 =C2=A0setresgid(gid_t, gid_t, gid_t);<br>
-int=C2=A0 =C2=A0 =C2=A0setresuid(uid_t, uid_t, uid_t);<br>
-#endif<br>
-<br>
=C2=A0#if __BSD_VISIBLE<br>
=C2=A0struct timeval;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* select(2) */=
<br>
<br>
@@ -520,11 +510,14 @@ int=C2=A0 =C2=A0 =C2=A0 =C2=A0 feature_present(const =
char *);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0fchroot(int);<br>
=C2=A0char=C2=A0 =C2=A0*fflagstostr(u_long);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0getdomainname(char *, int);<br>
+int=C2=A0 =C2=A0 =C2=A0getentropy(void *, size_t);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0getgrouplist(const char *, gid_t, gid_t *, int=
 *);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0getloginclass(char *, size_t);<br>
=C2=A0mode_t=C2=A0 getmode(const void *, mode_t);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0getosreldate(void);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0getpeereid(int, uid_t *, gid_t *);<br>
+int=C2=A0 =C2=A0 =C2=A0getresgid(gid_t *, gid_t *, gid_t *);<br>
+int=C2=A0 =C2=A0 =C2=A0getresuid(uid_t *, uid_t *, uid_t *);<br>
=C2=A0char=C2=A0 =C2=A0*getusershell(void);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0initgroups(const char *, gid_t);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0iruserok(unsigned long, int, const char *, con=
st char *);<br>
@@ -582,6 +575,8 @@ void=C2=A0 =C2=A0 =C2=A0 =C2=A0 *setmode(const char *);=
<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0setpgrp(pid_t, pid_t);=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* obsoleted by setpgid() */<br>
=C2=A0void=C2=A0 =C2=A0 setproctitle(const char *_fmt, ...) __printf0like(1=
, 2);<br>
=C2=A0void=C2=A0 =C2=A0 setproctitle_fast(const char *_fmt, ...) __printf0l=
ike(1, 2);<br>
+int=C2=A0 =C2=A0 =C2=A0setresgid(gid_t, gid_t, gid_t);<br>
+int=C2=A0 =C2=A0 =C2=A0setresuid(uid_t, uid_t, uid_t);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0setrgid(gid_t);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0setruid(uid_t);<br>
=C2=A0void=C2=A0 =C2=A0 setusershell(void);<br>
@@ -594,6 +589,7 @@ int=C2=A0 undelete(const char *);<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0unwhiteout(const char *);<br>
=C2=A0void=C2=A0 =C2=A0*valloc(size_t);=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* obsoleted by malloc() *=
/<br>
=C2=A0int=C2=A0 =C2=A0 =C2=A0funlinkat(int, const char *, int, int);<br>
+pid_t=C2=A0 =C2=A0_Fork(void);<br>
<br>
=C2=A0#ifndef _OPTRESET_DECLARED<br>
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 _OPTRESET_DECLARED<br>
diff --git a/include/wchar.h b/include/wchar.h<br>
index a8c016c42faf..e4b037c9b16f 100644<br>
--- a/include/wchar.h<br>
+++ b/include/wchar.h<br>
@@ -235,13 +235,10 @@ size_t=C2=A0 =C2=A0 wcsnrtombs(char * __restrict, con=
st wchar_t ** __restrict, size_t,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 size_t, mbstate_t * __restrict);<=
br>
=C2=A0#endif<br>
<br>
-#if __POSIX_VISIBLE &gt;=3D 202405<br>
-size_t wcslcat(wchar_t *, const wchar_t *, size_t);<br>
-size_t wcslcpy(wchar_t *, const wchar_t *, size_t);<br>
-#endif<br>
-<br>
=C2=A0#if __BSD_VISIBLE<br>
=C2=A0wchar_t=C2=A0 =C2=A0 =C2=A0 =C2=A0 *fgetwln(FILE * __restrict, size_t=
 * __restrict);<br>
+size_t wcslcat(wchar_t *, const wchar_t *, size_t);<br>
+size_t wcslcpy(wchar_t *, const wchar_t *, size_t);<br>
=C2=A0#endif<br>
<br>
=C2=A0#if __POSIX_VISIBLE &gt;=3D 200809 || defined(_XLOCALE_H_)<br>
</blockquote></div></div></div>

--0000000000008eff690630c32596--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfo3f1vS2k41CxUvD9X5zoOPPd=ZmtcVeraPZRZKugwD_A>