diff mbox series

[RESEND] package/mkpasswd: define _DEFAULT_SOURCE to suppress compiler warning

Message ID 20211124180535.574859-1-mmayer@broadcom.com
State Accepted
Headers show
Series [RESEND] package/mkpasswd: define _DEFAULT_SOURCE to suppress compiler warning | expand

Commit Message

Markus Mayer Nov. 24, 2021, 6:05 p.m. UTC
We define _DEFAULT_SOURCE in mkpasswd.c to suppress a compiler warning.

In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from [...]/buildroot/output/arm64/build/host-mkpasswd/mkpasswd.c:24:
/usr/include/features.h:187:3:
  187 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
      |   ^~~~~~~

As per GLIBC 2.20 release notes[1]:

    The _BSD_SOURCE and _SVID_SOURCE feature test macros are no longer
    supported; they now act the same as _DEFAULT_SOURCE (but generate a
    warning). Except for cases where _BSD_SOURCE enabled BSD interfaces
    that conflicted with POSIX (support for which was removed in 2.19),
    the interfaces those macros enabled remain available when compiling
    with _GNU_SOURCE defined, with _DEFAULT_SOURCE defined, or without
    any feature test macros defined.

[1] https://lwn.net/Articles/611162/

Signed-off-by: Markus Mayer <mmayer@broadcom.com>
---

Originally sent about a month ago:
https://lists.buildroot.org/pipermail/buildroot/2021-October/627062.html

Would you mind pulling this in for 2021.11?

Thanks.

 package/mkpasswd/mkpasswd.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Arnout Vandecappelle Dec. 5, 2021, 3:59 p.m. UTC | #1
On 24/11/2021 19:05, Markus Mayer via buildroot wrote:
> We define _DEFAULT_SOURCE in mkpasswd.c to suppress a compiler warning.
> 
> In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
>                   from /usr/include/stdio.h:27,
>                   from [...]/buildroot/output/arm64/build/host-mkpasswd/mkpasswd.c:24:
> /usr/include/features.h:187:3:
>    187 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
>        |   ^~~~~~~
> 
> As per GLIBC 2.20 release notes[1]:
> 
>      The _BSD_SOURCE and _SVID_SOURCE feature test macros are no longer
>      supported; they now act the same as _DEFAULT_SOURCE (but generate a
>      warning). Except for cases where _BSD_SOURCE enabled BSD interfaces
>      that conflicted with POSIX (support for which was removed in 2.19),
>      the interfaces those macros enabled remain available when compiling
>      with _GNU_SOURCE defined, with _DEFAULT_SOURCE defined, or without
>      any feature test macros defined.
> 
> [1] https://lwn.net/Articles/611162/
> 
> Signed-off-by: Markus Mayer <mmayer@broadcom.com>

  Applied to master, thanks.

> ---
> 
> Originally sent about a month ago:
> https://lists.buildroot.org/pipermail/buildroot/2021-October/627062.html

  You can slightly accelerate this by putting a fixes tag in the commit message. 
E.g. you could have written:

The _BSD_SOURCE macro is deprecated in glibc 2.20. Use _DEFAULT_SOURCE. Keep 
_BSD_SOURCE for compatibility with older glibc.

[... the rest of your explanation ...]

Fixes:

In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                  from /usr/include/stdio.h:27,
                  from 
[...]/buildroot/output/arm64/build/host-mkpasswd/mkpasswd.c:24:
/usr/include/features.h:187:3:
   187 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use 
_DEFAULT_SOURCE"
       |   ^~~~~~~


  Anyway, I left the commit message as is.

  Regards,
  Arnout

> 
> Would you mind pulling this in for 2021.11?
> 
> Thanks.
> 
>   package/mkpasswd/mkpasswd.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/package/mkpasswd/mkpasswd.c b/package/mkpasswd/mkpasswd.c
> index fd16230468a4..ae8594061cf6 100644
> --- a/package/mkpasswd/mkpasswd.c
> +++ b/package/mkpasswd/mkpasswd.c
> @@ -18,6 +18,11 @@
>   
>   /* for crypt, snprintf and strcasecmp */
>   #define _XOPEN_SOURCE
> +/*
> + * _BSD_SOURCE is deprecated as of GLIBC 2.20; _DEFAULT_SOURCE should be used
> + * instead. (https://lwn.net/Articles/611162/)
> + */
> +#define _DEFAULT_SOURCE
>   #define _BSD_SOURCE
>   
>   /* System library */
>
diff mbox series

Patch

diff --git a/package/mkpasswd/mkpasswd.c b/package/mkpasswd/mkpasswd.c
index fd16230468a4..ae8594061cf6 100644
--- a/package/mkpasswd/mkpasswd.c
+++ b/package/mkpasswd/mkpasswd.c
@@ -18,6 +18,11 @@ 
 
 /* for crypt, snprintf and strcasecmp */
 #define _XOPEN_SOURCE
+/*
+ * _BSD_SOURCE is deprecated as of GLIBC 2.20; _DEFAULT_SOURCE should be used
+ * instead. (https://lwn.net/Articles/611162/)
+ */
+#define _DEFAULT_SOURCE
 #define _BSD_SOURCE
 
 /* System library */