Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 16 Apr 2021 10:26:58 -0400
From: Rich Felker <>
To: √Črico Nogueira <>
Subject: Re: [PATCH 2/2] include <stdc-predef.h> in <features.h>

On Thu, Apr 15, 2021 at 09:35:21PM -0300, √Črico Nogueira wrote:
> GCC source code does contain a function to pre-include the
> <stdc-predef.h> header for glibc targets, but even so glibc still
> includes it in their own <features.h> header. furthermore, even if GCC
> implemented this for musl targets, it is still necessary for other
> compilers or previous versions of GCC.
> ---
>  include/features.h | 2 ++
>  1 file changed, 2 insertions(+)
> diff --git a/include/features.h b/include/features.h
> index 85cfb72a..f3d53cbe 100644
> --- a/include/features.h
> +++ b/include/features.h
> @@ -1,6 +1,8 @@
>  #ifndef _FEATURES_H
>  #define _FEATURES_H
> +#include <stdc-predef.h>
> +
>  #if defined(_ALL_SOURCE) && !defined(_GNU_SOURCE)
>  #define _GNU_SOURCE 1
>  #endif
> -- 
> 2.31.1

I've hesitated to do this because features.h is not consistently
included from all standard headers (only if it's needed), and the
result would be inconsistent exposure of these macros. (Also
inconsistent if they're checked before any standard headers are
included, which is unfixable.) I think it makes more sense to just add
"-include stdc-predef.h" to the compiler specfile or equivalent if it
doesn't auto-include it, so that you get behavior that actually
matches the spec.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.