From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by sourceware.org (Postfix) with ESMTPS id 1EFBA3856DF0; Mon, 23 May 2022 08:24:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1EFBA3856DF0 Received: by mail-wr1-x429.google.com with SMTP id t6so20187437wra.4; Mon, 23 May 2022 01:24:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xyukHyYzV6EkvXrqn9BZhxyDBPs89ICcd7+AqeqLBF4=; b=Oiur0oP+NAptwFED7EAjyGjghAj+5/4G4Z2K4PouURB7MP2e7oIuOOXgS7S4kaQ7s8 6IcfY2w6Z3fGvDCZk3WqApclOKsJEO8sD/F7yohM4G0Ga3ePk66z7jhWTDHMX9kr6QVI dR1on3PuKKnF5LWDHdDaGKpUQb3e7KZAXQvNgyWicB8ExR+eMrOJ5OtLlTSRwzvqBNlV POFssmwGUq2VudG6mahITQoTVwpqPLSNiKif6MFchgxeVGs+4zHROkLOD7JDYEwL6WrV H+S8WrNiix9fP62kxvoBYdAqWoqSBwyMQKAu1vw281JhoIcq4IkvUomV+q8CphGenv0Q R+cw== X-Gm-Message-State: AOAM532jfQd/VhySscoLRO+1KgHGArB5yPHReqHAgE/YRAChfQfaF1vW 10kbYGMRyc/pFawgJeXfhD5i76q/lxg= X-Google-Smtp-Source: ABdhPJwXvw5WXXAbMD/L+N9GRzK0oOsADRRK5wMbeaGHJRtEsIGhWiEfD+/P01AzmRxAHYtnVWRyRA== X-Received: by 2002:a05:6000:782:b0:20f:ca42:c4f0 with SMTP id bu2-20020a056000078200b0020fca42c4f0mr7621242wrb.691.1653294243755; Mon, 23 May 2022 01:24:03 -0700 (PDT) Received: from nz (host81-147-8-147.range81-147.btcentralplus.com. [81.147.8.147]) by smtp.gmail.com with ESMTPSA id t13-20020adfba4d000000b0020fe86d340asm749310wrg.98.2022.05.23.01.24.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 May 2022 01:24:03 -0700 (PDT) Date: Mon, 23 May 2022 09:24:02 +0100 From: Sergei Trofimovich To: Siddhesh Poyarekar Cc: libc-alpha@sourceware.org Subject: Re: [PATCH] string.h: fix __fortified_attr_access macro call [BZ #29162] Message-ID: <20220523092356.7e197052@nz> In-Reply-To: <90a1369a-21c0-5d9c-4fde-491d2597a30f@sourceware.org> References: <20220520150609.346566-1-slyfox@gentoo.org> <90a1369a-21c0-5d9c-4fde-491d2597a30f@sourceware.org> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 May 2022 08:24:08 -0000 On Mon, 23 May 2022 12:49:54 +0530 Siddhesh Poyarekar wrote: > On 20/05/2022 20:36, Sergei Trofimovich wrote: > > From: Sergei Trofimovich > > > > commit e938c0274 "Don't add access size hints to fortifiable functions" > > converted a few '__attr_access ((...))' into '__fortified_attr_access (...)' > > calls. > > > > But one of conversions had double parentheses of '__fortified_attr_access (...)'. > > > > Noticed as a gnat6 build failure: > > > > /<>-glibc-2.34-210-dev/include/bits/string_fortified.h:110:50: error: macro "__fortified_attr_access" requires 3 arguments, but only 1 given > > > > The change fixes parentheses. > > > > Signed-off-by: Sergei Trofimovich > > --- > > string/bits/string_fortified.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/string/bits/string_fortified.h b/string/bits/string_fortified.h > > index f4a5dfc2e5..149ebbb08b 100644 > > --- a/string/bits/string_fortified.h > > +++ b/string/bits/string_fortified.h > > @@ -107,7 +107,7 @@ __NTH (stpncpy (char *__dest, const char *__src, size_t __n)) > > # else > > extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, > > size_t __destlen) __THROW > > - __fortified_attr_access ((__write_only__, 1, 3)) > > + __fortified_attr_access (__write_only__, 1, 3) > > __attr_access ((__read_only__, 2)); > > extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src, > > size_t __n), stpncpy); > > Hi Sergei, one question before I pull this in; how did this even happen? > The build flags don't appear to have -D_FORTIFY_SOURCE, which is > prerequisite to including this file. Also, that bit in the header is > reachable only with an older compiler, e.g. older than gcc 4.7 or an > ancient clang. That's a great question! NixOS / nixpkgs silently injects -D_FORTIFY_SOURCE=2 via gcc driver for vast majority of packages even if they don't pass -D_FORTIFY_SOURCE=2 explicitly. Also nixpkgs builds gnat6 with ... gcc-4.1.0 for historical reasons. We'll get rid of such ancient toolchains eventually. -- Sergei