From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by sourceware.org (Postfix) with ESMTPS id 0F7173858CDA for ; Fri, 28 Oct 2022 22:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0F7173858CDA Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=google.com Received: by mail-pj1-x102a.google.com with SMTP id r61-20020a17090a43c300b00212f4e9cccdso11037023pjg.5 for ; Fri, 28 Oct 2022 15:02:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=nnkJ1/rPL+VCWfBakkXJ18T1zoEQu4Og2n8jbZYoDnY=; b=axigZYiyq97ls9l40c8radjd0ylTr4wl46/FW1bn9arpmqINrA61DQ2IY/IT+HxNsY TPrgqfVrjSpVtPYf7eJgKaGSNhCk5/fWGpiUyDDpgwkJEo6P2ffo2+3ExzDVsxQUwkJA n2XXRE/AOkLaDW8PoRl+BdAeF/CNBrEW8OjXljtpmAu/a+GZy/A9O+4HFzRUNLhxhMzQ MnnczUkTODaQ9sas+yPWrBxoOhFrkym3YZsAYq1FpqJAkXPZEcBBpJ20n657kUcns6LO JhgTKGuHA0okCJ6r1xWzrFaq4mKsadmNpvxFo7hPof7eVtdM+MhF68nehijhgcoEKjXZ D5jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nnkJ1/rPL+VCWfBakkXJ18T1zoEQu4Og2n8jbZYoDnY=; b=cbM7RTQntkZRsER8M/Hp3dC0k3TvNz7DKtyBzT0M/qquMwW4wWqNlZaP0HSOsz7rjg XxOLD+kMc8F+wVer/GTPovcfW88uwTgHPvlEo0vYJmPZF36m3GwC40j/ZThkIlZ5q7Yq 3OnLIjgI/umqiyFTczBd6tXhsHU5x/npRAJxdyxH8QNmTbuoOyexUB/iwts0WrCEMXbA o7hFs3L8atGE4FG//LXta99sSVGSurcHoDU3CkxyCILDmivLRGw0BBt008896cDKUKVz U9YY114pwIa5CtXfdKMW4JQ1XrJ3x5jA0TXET0m3MugvrEAvLtbp6TelVoKrEwUuedKp 8Leg== X-Gm-Message-State: ACrzQf0bTWFW1r65IVM0oNRZO34bAZW+GuAWu6/iwkdxxbPo6H6ck6qI /wf9iC1XFSMJN7zbYZ6RZ3H5ww== X-Google-Smtp-Source: AMsMyM5ob9WbVlehh76vWNWg2ySBNin7JMkzGOXcBXm6dTtem5LGzmRH+hMdJar8BE2VpSb9Zdzp2A== X-Received: by 2002:a17:902:f710:b0:178:a692:b1f7 with SMTP id h16-20020a170902f71000b00178a692b1f7mr1172347plo.112.1666994528923; Fri, 28 Oct 2022 15:02:08 -0700 (PDT) Received: from google.com ([2620:15c:2ce:200:8981:f21e:b257:256]) by smtp.gmail.com with ESMTPSA id m8-20020a1709026bc800b00177c488fea5sm3539459plt.12.2022.10.28.15.02.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Oct 2022 15:02:07 -0700 (PDT) Date: Fri, 28 Oct 2022 15:02:04 -0700 From: Fangrui Song To: Joseph Myers Cc: Adhemerval Zanella , libc-alpha@sourceware.org Subject: Re: [PATCH 02/11] Disable __USE_EXTERN_INLINES for clang Message-ID: <20221028220204.3jisqax5tpbea2zf@google.com> References: <20221028173532.876027-1-adhemerval.zanella@linaro.org> <20221028173532.876027-3-adhemerval.zanella@linaro.org> <8449b66-fbc6-64d0-3d72-3af3d76e63b7@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <8449b66-fbc6-64d0-3d72-3af3d76e63b7@codesourcery.com> X-Spam-Status: No, score=-20.0 required=5.0 tests=BAYES_00,DKIMWL_WL_MED,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2022-10-28, Joseph Myers wrote: >On Fri, 28 Oct 2022, Adhemerval Zanella via Libc-alpha wrote: > >> From: Fangrui Song >> >> clang does not allow to redefine attributes after function declaration. >> Although it work for external usage, its breaks the build for internal >> symbol that glibc provides as optimization (for instance bsearch with >> stdlib-bsearch.h or __cmsg_nxthdr). > >If it works for external usage, I'd expect the disabling to be only when >_LIBC is defined and not for building normal applications using this >installed header file. Thanks for mentioning _LIBC (I did not know). Then it looks like we can use this: /* Decide whether we can define 'extern inline' functions in headers. */ #if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \ && defined __extern_inline && !(defined __clang__ && defined _LIBC) # define __USE_EXTERN_INLINES 1 #endif https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/azanella/clang builds with this change.