From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-10.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 11625 invoked from network); 17 Apr 2021 01:56:45 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 17 Apr 2021 01:56:45 -0000 Received: (qmail 17596 invoked by uid 550); 17 Apr 2021 01:56:40 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 17577 invoked from network); 17 Apr 2021 01:56:40 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1j9y42v5N7nFBAUVcBMJ9MCB73nBKgrXwTl7H5bAkCU=; b=LWvdRCmOJhNCTa1K0opnRNuCYjgkmOCNNycYNyLQaM8OdkaMR8L+rckTxeO+hecDvH oez6gpzz9Rps+yP3DTHAf+oIs6G0rn3QSjMIi18oagDcJz9rW9olcS8+G2oR9GTvwWDl kNWVnVnE9Masgyv8c4bLlFa0MukuBffp2ailKNYeuMXChJoF0PihoY5keMXiYZEx/4GS ijSkBhSljWF/tAX30TIUWr2CiPb68jTSA/G/7CV/lQkxXdMyXA1veWjYnupiuxY3kjD5 m0ZuvkvoP9LHpxCrGF8gImncGg3A/3mG9mE41G6x9gY9lHsPE6jufFxhQ4GRQk112MMI 7qvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1j9y42v5N7nFBAUVcBMJ9MCB73nBKgrXwTl7H5bAkCU=; b=g6oMg2yxJLMghmGyzhOOi0RIyZZuuxec7/KOQBzVIbPd9g0P6/w2zTLamyP8LxUyQC ZC6scpGn+7nRAoelNhXeruXUPEjpPF5jUYsQp64rOtZFGTkdGD5lI50KR3nYZtTicO+z ysvj8Zk2SN/txX449Ugp7fvwTXvbNLHcsEGO71NXVqWE9Tpo3HHYz8ygdX2++QXngLBl DBsO9CBKYRSaWCHHIjK5mh0qXKqbJHUCk5WmU87OcBrH5SW41XRKTav/9dyJEjhBJcfx FDDJpEHPlUR++uaGL+JR2Ne+qFVVrbTetGyV9IfPe8bbfXa0tzpNHrpEjwyHYQTHorLX xApA== X-Gm-Message-State: AOAM5320KR+fG2I7BXd7HoO1gZr46ES1g91BbNFXzl9jdxAgWLwYfwMl Nssgm/MJ/ey12bZkgw7L9U9397WTEno+GQHiNBnNzA== X-Google-Smtp-Source: ABdhPJxIzrTLyj07dMMHSOo3DaUFA11rgOnBMY6Bm+LMmDThSX8vye1R6s90LuNWFZtG/oJ00p31c6nPmsSpnHOEc0U= X-Received: by 2002:a05:6512:b97:: with SMTP id b23mr4993367lfv.101.1618624588761; Fri, 16 Apr 2021 18:56:28 -0700 (PDT) MIME-Version: 1.0 References: <20210416003521.2147-1-ericonr@disroot.org> <20210416003521.2147-2-ericonr@disroot.org> <20210416142658.GO2546@brightrain.aerifal.cx> <20210416185118.GP2546@brightrain.aerifal.cx> <20210417000012.GQ2546@brightrain.aerifal.cx> In-Reply-To: <20210417000012.GQ2546@brightrain.aerifal.cx> From: James Y Knight Date: Fri, 16 Apr 2021 21:56:16 -0400 Message-ID: To: Rich Felker Cc: musl@lists.openwall.com, =?UTF-8?Q?=C3=89rico_Nogueira?= Content-Type: multipart/alternative; boundary="000000000000a39c7d05c0216756" Subject: Re: [musl] [PATCH 2/2] include in --000000000000a39c7d05c0216756 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Super unnecessary snarkiness. On Fri, Apr 16, 2021, 8:00 PM Rich Felker wrote: > On Fri, Apr 16, 2021 at 06:12:52PM -0400, James Y Knight wrote: > > Ugh, I thought Clang had added support for this years ago. But it looks > > like the change (https://reviews.llvm.org/D34158) never actually made i= t > > in; it ran into some test failures after being committed and was > > reverted, and then never reapplied. :( > > The story of LLVM.. Random junk getting committed and kept, actually > important and correct changes getting reverted because of bogus tests. > > Rich > > > On Fri, Apr 16, 2021 at 2:51 PM Rich Felker wrote: > > > > > On Fri, Apr 16, 2021 at 02:57:21PM -0300, =C3=89rico Nogueira wrote: > > > > Em 16/04/2021 11:26, Rich Felker escreveu: > > > > >On Thu, Apr 15, 2021 at 09:35:21PM -0300, =C3=89rico Nogueira wrot= e: > > > > >>GCC source code does contain a function to pre-include the > > > > >> header for glibc targets, but even so glibc still > > > > > > > > I seem to have been mistaken about the feature being glibc specific= ; > > > using > > > > > > > > echo "" | cc -xc - -E > > > > > > > > it seems the file does end up being included automatically. > > > > > > > > However, when using clang instead of gcc, it isn't included > > > > automatically. I don't know if this is something that clang ought t= o > > > > fix, is there some sort of standard about ? Michael > > > > Forney's cproc compiler doesn't seem to touch it either. > > > > > > It's not a standard, but given that it's established I don't see any > > > reasonable argument for other compilers not to just do the same. You > > > can always fix them manually with CC=3D"clang -include stdc-predef.h"= or > > > similar though. > > > > > > > >>includes it in their own header. furthermore, even i= f > GCC > > > > >>implemented this for musl targets, it is still necessary for othe= r > > > > >>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 > > > > >>+ > > > > >> #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. > > > > > > > > Do you know if clang can use the specfile? That would make it worth > > > > it adding the entry, since GCC has the expected behavior already. > > > > > > No; specfiles are highly tied to GCC's compiler driver architecture. > > > clang might have some other equivalent mechanism though. > > > > > > Rich > > > > --000000000000a39c7d05c0216756 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Super unnecessary snarkiness.

On Fri, Apr 16, 2021, 8:00 P= M Rich Felker <dalias@libc.org>= ; wrote:
On Fri, Apr 16, 2021 at 06= :12:52PM -0400, James Y Knight wrote:
> Ugh, I thought Clang had added support for this years ago. But it look= s
> like the change (https://reviews.llvm.org/D34158)= never actually made it
> in; it ran into some test failures after being committed and was
> reverted, and then never reapplied. :(

The story of LLVM.. Random junk getting committed and kept, actually
important and correct changes getting reverted because of bogus tests.

Rich

> On Fri, Apr 16, 2021 at 2:51 PM Rich Felker <dalias@libc.org> w= rote:
>
> > On Fri, Apr 16, 2021 at 02:57:21PM -0300, =C3=89rico Nogueira wro= te:
> > > Em 16/04/2021 11:26, Rich Felker escreveu:
> > > >On Thu, Apr 15, 2021 at 09:35:21PM -0300, =C3=89rico Nog= ueira wrote:
> > > >>GCC source code does contain a function to pre-inclu= de the
> > > >><stdc-predef.h> header for glibc targets, but = even so glibc still
> > >
> > > I seem to have been mistaken about the feature being glibc s= pecific;
> > using
> > >
> > >=C2=A0 =C2=A0 =C2=A0echo "" | cc -xc - -E
> > >
> > > it seems the file does end up being included automatically.<= br> > > >
> > > However, when using clang instead of gcc, it isn't inclu= ded
> > > automatically. I don't know if this is something that cl= ang ought to
> > > fix, is there some sort of standard about <stdc-predef.h&= gt;? Michael
> > > Forney's cproc compiler doesn't seem to touch it eit= her.
> >
> > It's not a standard, but given that it's established I do= n't see any
> > reasonable argument for other compilers not to just do the same. = You
> > can always fix them manually with CC=3D"clang -include stdc-= predef.h" or
> > similar though.
> >
> > > >>includes it in their own <features.h> header. = furthermore, even if GCC
> > > >>implemented this for musl targets, it is still neces= sary for other
> > > >>compilers or previous versions of GCC.
> > > >>---
> > > >>=C2=A0 include/features.h | 2 ++
> > > >>=C2=A0 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 @@
> > > >>=C2=A0 #ifndef _FEATURES_H
> > > >>=C2=A0 #define _FEATURES_H
> > > >>+#include <stdc-predef.h>
> > > >>+
> > > >>=C2=A0 #if defined(_ALL_SOURCE) && !defined(= _GNU_SOURCE)
> > > >>=C2=A0 #define _GNU_SOURCE 1
> > > >>=C2=A0 #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 nee= ded), 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 sen= se to just add
> > > >"-include stdc-predef.h" to the compiler specf= ile or equivalent if it
> > > >doesn't auto-include it, so that you get behavior th= at actually
> > > >matches the spec.
> > >
> > > Do you know if clang can use the specfile? That would make i= t worth
> > > it adding the entry, since GCC has the expected behavior alr= eady.
> >
> > No; specfiles are highly tied to GCC's compiler driver archit= ecture.
> > clang might have some other equivalent mechanism though.
> >
> > Rich
> >
--000000000000a39c7d05c0216756--