From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from barn.pear.relay.mailchannels.net (barn.pear.relay.mailchannels.net [23.83.216.11]) by sourceware.org (Postfix) with ESMTPS id C8040387606A for ; Fri, 30 Jun 2023 15:29:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C8040387606A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gotplt.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gotplt.org X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 57014540991; Fri, 30 Jun 2023 15:29:47 +0000 (UTC) Received: from pdx1-sub0-mail-a286.dreamhost.com (unknown [127.0.0.6]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id E28EE54226B; Fri, 30 Jun 2023 15:29:46 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1688138986; a=rsa-sha256; cv=none; b=Khrtkf3nn/UI9xwBHa/dIOZj1DicBEqXXDZpKg01W3u7DtmyuQyQ7TIxek648+P2+2ogjy dM8xPcMrWK2ci30CWRdw04hSljYyeh+y3gnwUxtqGVy4Zm+F2IdSjnPMGwpnnnx2OkKSoT Es4+ZdMdV41hueZCVqv+zzxLaaS+dIRqJCJdOdCNi4ebFWgu2Om1jHosHkQ1YfNlxKnSYu SIeZRvimX6e54cz5d+3AsoEX5i60NxQ8jsJ1lWYVy6OonF9n5to50FjH5On9WRl9Q0th8N 52NZixe7h2yGHETxRRdiZXBAP81tyzDzJgowkb+jvWDXz76zC+vJSwpvLFuUZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1688138986; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=GxqlquMAQE3AZXwxlxmfHYwhOH/WMrpWxRmS6UPNz0U=; b=fonBOb0OFhA6sURffdk4Ve4AibJzLlS5VqO4a0dcXZG+8VJrgXDy4VI49S2J84sSJmTQw4 b23Ihj8yoKC7EbXEtJ9akjGs9RcNqblv0I5xVeqrB4XVmkGjmi2jFUtoKbMBQBwb1OQPwO sSZI9oVSefbY9wfsmDE+3XFlaEO73CiQ9XfPj+Ro41FKxeSm+2q77XQU8KDLenr8n7g8c0 8gjfx+kZC+QmUARCbYduh17CTRDgApLCtW/+9E78hw/Z0DevCjtE1jJqbRsi/EYYtUD52o l2fxhEIbfRtuVZ20x1/si7SIuZwefG4jNPdkadNyefq7pAniecYxdHRz24APxg== ARC-Authentication-Results: i=1; rspamd-9fcc56855-jhtld; auth=pass smtp.auth=dreamhost smtp.mailfrom=siddhesh@gotplt.org X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org X-MC-Relay: Good X-MailChannels-SenderId: dreamhost|x-authsender|siddhesh@gotplt.org X-MailChannels-Auth-Id: dreamhost X-Desert-Abaft: 36a2780f4b8d6210_1688138987159_3885555586 X-MC-Loop-Signature: 1688138987159:297158760 X-MC-Ingress-Time: 1688138987158 Received: from pdx1-sub0-mail-a286.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.103.24.91 (trex/6.9.1); Fri, 30 Jun 2023 15:29:47 +0000 Received: from [192.168.0.182] (bras-vprn-toroon4834w-lp130-09-174-91-45-44.dsl.bell.ca [174.91.45.44]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) (Authenticated sender: siddhesh@gotplt.org) by pdx1-sub0-mail-a286.dreamhost.com (Postfix) with ESMTPSA id 4QszlG3p88z7M; Fri, 30 Jun 2023 08:29:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gotplt.org; s=dreamhost; t=1688138986; bh=GxqlquMAQE3AZXwxlxmfHYwhOH/WMrpWxRmS6UPNz0U=; h=Date:Subject:To:From:Content-Type:Content-Transfer-Encoding; b=xExAIgDo47jqLnkvnkAtBTzyhVahcS+wkzVDLIBfy1DwbzpLw4P6Q3RcoYG2C9fyZ WAUYyC9/Y4IA9J9SBJcL57+1DtwO/tQTmX/Tr1KIO7EH6JqfPabLuhWC4/z9caJs5u Hy3VjIs6qIOyoLplQxbZtaaSp3kw0w4JQ9QtJvDy2u6FsfBHFl2qrIpxXUjuWB8h1L XU7G+f5GtwsuKIDAxpwcdlLuHOC7rto63iq4g8G2kEo78dqzm8axs1+kDvzYBvw9SA i/muKZbwuyufzJvJ3SxVQNuRG1REGERmKltpAbGpJP7hE+dDYgzQtmmfklQy7POD8R wTCxhKaOlYhtQ== Message-ID: <8c33f812-f266-313d-3778-a734d532e15c@gotplt.org> Date: Fri, 30 Jun 2023 11:29:45 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH v3 13/16] libio/bits/stdio2.h: Clearly separate declaration from definitions Content-Language: en-US To: =?UTF-8?B?RnLDqWTDqXJpYyBCw6lyYXQ=?= , libc-alpha@sourceware.org References: <20230628084246.778302-1-fberat@redhat.com> <20230628084246.778302-14-fberat@redhat.com> From: Siddhesh Poyarekar In-Reply-To: <20230628084246.778302-14-fberat@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3037.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,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 List-Id: On 2023-06-28 04:42, Frédéric Bérat wrote: > --- > libio/bits/stdio2-decl.h | 49 ++++++++++++++++++++++++++++++++++++++++ > libio/bits/stdio2.h | 48 --------------------------------------- > 2 files changed, 49 insertions(+), 48 deletions(-) Reviewed-by: Siddhesh Poyarekar > > diff --git a/libio/bits/stdio2-decl.h b/libio/bits/stdio2-decl.h > index 9d4668da21..114b06d24b 100644 > --- a/libio/bits/stdio2-decl.h > +++ b/libio/bits/stdio2-decl.h > @@ -84,18 +84,55 @@ extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, > #endif > > #if __GLIBC_USE (DEPRECATED_GETS) > +extern char *__REDIRECT (__gets_warn, (char *__str), gets) > + __wur __warnattr ("please use fgets or getline instead, gets can't " > + "specify buffer size"); > + > extern char *__gets_chk (char *__str, size_t) __wur; > #endif > > +extern char *__REDIRECT (__fgets_alias, > + (char *__restrict __s, int __n, > + FILE *__restrict __stream), fgets) > + __wur __attr_access ((__write_only__, 1, 2)); > +extern char *__REDIRECT (__fgets_chk_warn, > + (char *__restrict __s, size_t __size, int __n, > + FILE *__restrict __stream), __fgets_chk) > + __wur __warnattr ("fgets called with bigger size than length " > + "of destination buffer"); > + > extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, > FILE *__restrict __stream) > __wur __attr_access ((__write_only__, 1, 3)); > > +extern size_t __REDIRECT (__fread_alias, > + (void *__restrict __ptr, size_t __size, > + size_t __n, FILE *__restrict __stream), > + fread) __wur; > +extern size_t __REDIRECT (__fread_chk_warn, > + (void *__restrict __ptr, size_t __ptrlen, > + size_t __size, size_t __n, > + FILE *__restrict __stream), > + __fread_chk) > + __wur __warnattr ("fread called with bigger size * nmemb than length " > + "of destination buffer"); > + > extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, > size_t __size, size_t __n, > FILE *__restrict __stream) __wur; > > #ifdef __USE_GNU > +extern char *__REDIRECT (__fgets_unlocked_alias, > + (char *__restrict __s, int __n, > + FILE *__restrict __stream), fgets_unlocked) > + __wur __attr_access ((__write_only__, 1, 2)); > +extern char *__REDIRECT (__fgets_unlocked_chk_warn, > + (char *__restrict __s, size_t __size, int __n, > + FILE *__restrict __stream), __fgets_unlocked_chk) > + __wur __warnattr ("fgets_unlocked called with bigger size than length " > + "of destination buffer"); > + > + > extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, > int __n, FILE *__restrict __stream) > __wur __attr_access ((__write_only__, 1, 3)); > @@ -103,6 +140,18 @@ extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, > > #ifdef __USE_MISC > # undef fread_unlocked > +extern size_t __REDIRECT (__fread_unlocked_alias, > + (void *__restrict __ptr, size_t __size, > + size_t __n, FILE *__restrict __stream), > + fread_unlocked) __wur; > +extern size_t __REDIRECT (__fread_unlocked_chk_warn, > + (void *__restrict __ptr, size_t __ptrlen, > + size_t __size, size_t __n, > + FILE *__restrict __stream), > + __fread_unlocked_chk) > + __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " > + "length of destination buffer"); > + > extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, > size_t __size, size_t __n, > FILE *__restrict __stream) __wur; > diff --git a/libio/bits/stdio2.h b/libio/bits/stdio2.h > index ad85f7df8b..71226408ab 100644 > --- a/libio/bits/stdio2.h > +++ b/libio/bits/stdio2.h > @@ -182,10 +182,6 @@ __NTH (obstack_vprintf (struct obstack *__restrict __obstack, > #endif > > #if __GLIBC_USE (DEPRECATED_GETS) > -extern char *__REDIRECT (__gets_warn, (char *__str), gets) > - __wur __warnattr ("please use fgets or getline instead, gets can't " > - "specify buffer size"); > - > __fortify_function __wur char * > gets (char *__str) > { > @@ -195,16 +191,6 @@ gets (char *__str) > } > #endif > > -extern char *__REDIRECT (__fgets_alias, > - (char *__restrict __s, int __n, > - FILE *__restrict __stream), fgets) > - __wur __attr_access ((__write_only__, 1, 2)); > -extern char *__REDIRECT (__fgets_chk_warn, > - (char *__restrict __s, size_t __size, int __n, > - FILE *__restrict __stream), __fgets_chk) > - __wur __warnattr ("fgets called with bigger size than length " > - "of destination buffer"); > - > __fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * > fgets (char *__restrict __s, int __n, FILE *__restrict __stream) > { > @@ -216,18 +202,6 @@ fgets (char *__restrict __s, int __n, FILE *__restrict __stream) > return __fgets_chk (__s, sz, __n, __stream); > } > > -extern size_t __REDIRECT (__fread_alias, > - (void *__restrict __ptr, size_t __size, > - size_t __n, FILE *__restrict __stream), > - fread) __wur; > -extern size_t __REDIRECT (__fread_chk_warn, > - (void *__restrict __ptr, size_t __ptrlen, > - size_t __size, size_t __n, > - FILE *__restrict __stream), > - __fread_chk) > - __wur __warnattr ("fread called with bigger size * nmemb than length " > - "of destination buffer"); > - > __fortify_function __wur size_t > fread (void *__restrict __ptr, size_t __size, size_t __n, > FILE *__restrict __stream) > @@ -241,16 +215,6 @@ fread (void *__restrict __ptr, size_t __size, size_t __n, > } > > #ifdef __USE_GNU > -extern char *__REDIRECT (__fgets_unlocked_alias, > - (char *__restrict __s, int __n, > - FILE *__restrict __stream), fgets_unlocked) > - __wur __attr_access ((__write_only__, 1, 2)); > -extern char *__REDIRECT (__fgets_unlocked_chk_warn, > - (char *__restrict __s, size_t __size, int __n, > - FILE *__restrict __stream), __fgets_unlocked_chk) > - __wur __warnattr ("fgets_unlocked called with bigger size than length " > - "of destination buffer"); > - > __fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * > fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) > { > @@ -265,18 +229,6 @@ fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) > > #ifdef __USE_MISC > # undef fread_unlocked > -extern size_t __REDIRECT (__fread_unlocked_alias, > - (void *__restrict __ptr, size_t __size, > - size_t __n, FILE *__restrict __stream), > - fread_unlocked) __wur; > -extern size_t __REDIRECT (__fread_unlocked_chk_warn, > - (void *__restrict __ptr, size_t __ptrlen, > - size_t __size, size_t __n, > - FILE *__restrict __stream), > - __fread_unlocked_chk) > - __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " > - "length of destination buffer"); > - > __fortify_function __wur size_t > fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, > FILE *__restrict __stream)