From: "Frédéric Bérat" <fberat@redhat.com>
To: libc-alpha@sourceware.org
Cc: siddhesh@gotplt.org, fberat@redhat.com,
Siddhesh Poyarekar <siddhesh@sourceware.org>
Subject: [PATCH v6 12/14] libio/bits/stdio2.h: Clearly separate declaration from definitions
Date: Wed, 5 Jul 2023 16:38:18 +0200 [thread overview]
Message-ID: <20230705143822.275049-13-fberat@redhat.com> (raw)
In-Reply-To: <20230705143822.275049-1-fberat@redhat.com>
Move declarations from libio/bits/stdio.h to existing
libio/bits/stdio2-decl.h. This will enable future use of
__REDIRECT_FORTIFY in place of some __REDIRECT.
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
---
libio/bits/stdio2-decl.h | 49 ++++++++++++++++++++++++++++++++++++++++
libio/bits/stdio2.h | 48 ---------------------------------------
2 files changed, 49 insertions(+), 48 deletions(-)
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)
--
2.41.0
next prev parent reply other threads:[~2023-07-05 14:38 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-05 14:38 [PATCH v6 00/14] Allow glibc to be built with _FORTIFY_SOURCE Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 01/14] " Frédéric Bérat
2023-07-05 14:41 ` Siddhesh Poyarekar
2023-07-05 14:38 ` [PATCH v6 02/14] Exclude routines from fortification Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 03/14] sysdeps: Ensure ieee128*_chk routines to be properly named Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 04/14] string: Ensure *_chk routines have their hidden builtin definition available Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 05/14] stdio: " Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 06/14] misc/sys/cdefs.h: Create FORTIFY redirects for internal calls Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 07/14] wchar: Avoid PLT entries with _FORTIFY_SOURCE Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 08/14] posix/bits/unistd.h: Clearly separate declaration from definitions Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 09/14] unistd: Avoid PLT entries with _FORTIFY_SOURCE Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 10/14] misc/bits/select2.h: Clearly separate declaration from definitions Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 11/14] misc/bits/syslog.h: Clearly separate declaration from definition Frédéric Bérat
2023-07-05 14:38 ` Frédéric Bérat [this message]
2023-07-05 14:38 ` [PATCH v6 13/14] libio/bits/stdio2-decl.h: Avoid PLT entries with _FORTIFY_SOURCE Frédéric Bérat
2023-07-05 14:38 ` [PATCH v6 14/14] sysdeps/ieee754/ldbl-128ibm-compat: Fix warn unused result Frédéric Bérat
2023-07-06 13:15 ` [PATCH v6 00/14] Allow glibc to be built with _FORTIFY_SOURCE Andreas Schwab
2023-07-06 13:41 ` Frederic Berat
2023-07-06 13:46 ` Andreas Schwab
2023-07-10 5:57 ` Frederic Berat
2023-07-06 13:38 ` Andreas Schwab
2023-07-10 5:56 ` Frederic Berat
2023-07-11 8:44 ` Andreas Schwab
2023-07-12 13:35 ` Frederic Berat
2023-07-12 13:38 ` Andreas Schwab
2023-07-12 13:42 ` Frederic Berat
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230705143822.275049-13-fberat@redhat.com \
--to=fberat@redhat.com \
--cc=libc-alpha@sourceware.org \
--cc=siddhesh@gotplt.org \
--cc=siddhesh@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).