aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Bugaev <bugaevc@gmail.com>2023-04-29 16:12:23 +0300
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-05-01 19:33:21 +0200
commite6a252758cbadb13654e66e1f2445ef6f8a4dea0 (patch)
tree77062c96855e8d5d81160ffc2b278753b267033d
parentbe9ad3004f65b54dd6cc0325315559c72396bc1c (diff)
downloadglibc-e6a252758cbadb13654e66e1f2445ef6f8a4dea0.zip
glibc-e6a252758cbadb13654e66e1f2445ef6f8a4dea0.tar.gz
glibc-e6a252758cbadb13654e66e1f2445ef6f8a4dea0.tar.bz2
Mark various cold functions as __COLD
GCC docs explicitly list perror () as a good candidate for using __attribute__ ((cold)). So apply __COLD to perror () and similar functions. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-Id: <20230429131223.2507236-3-bugaevc@gmail.com>
-rw-r--r--include/error.h4
-rw-r--r--libio/stdio.h2
-rw-r--r--misc/err.h12
-rw-r--r--misc/error.h4
4 files changed, 11 insertions, 11 deletions
diff --git a/include/error.h b/include/error.h
index 9e96262..4db67cb 100644
--- a/include/error.h
+++ b/include/error.h
@@ -5,11 +5,11 @@
void
__error_internal (int status, int errnum, const char *message,
- va_list args, unsigned int mode_flags);
+ va_list args, unsigned int mode_flags) __COLD;
void
__error_at_line_internal (int status, int errnum, const char *file_name,
unsigned int line_number, const char *message,
- va_list args, unsigned int mode_flags);
+ va_list args, unsigned int mode_flags) __COLD;
#endif
diff --git a/libio/stdio.h b/libio/stdio.h
index 45ddafd..2387590 100644
--- a/libio/stdio.h
+++ b/libio/stdio.h
@@ -859,7 +859,7 @@ extern int ferror_unlocked (FILE *__stream) __THROW __wur;
This function is a possible cancellation point and therefore not
marked with __THROW. */
-extern void perror (const char *__s);
+extern void perror (const char *__s) __COLD;
#ifdef __USE_POSIX
diff --git a/misc/err.h b/misc/err.h
index 0c75246..43df3a5 100644
--- a/misc/err.h
+++ b/misc/err.h
@@ -32,9 +32,9 @@ __BEGIN_DECLS
/* Print "program: ", FORMAT, ": ", the standard error string for errno,
and a newline, on stderr. */
extern void warn (const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 1, 2)));
+ __attribute__ ((__format__ (__printf__, 1, 2))) __COLD;
extern void vwarn (const char *__format, __gnuc_va_list)
- __attribute__ ((__format__ (__printf__, 1, 0)));
+ __attribute__ ((__format__ (__printf__, 1, 0))) __COLD;
/* Likewise, but without ": " and the standard error string. */
extern void warnx (const char *__format, ...)
@@ -44,13 +44,13 @@ extern void vwarnx (const char *__format, __gnuc_va_list)
/* Likewise, and then exit with STATUS. */
extern void err (int __status, const char *__format, ...)
- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
+ __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD;
extern void verr (int __status, const char *__format, __gnuc_va_list)
- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
+ __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD;
extern void errx (int __status, const char *__format, ...)
- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
+ __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD;
extern void verrx (int __status, const char *, __gnuc_va_list)
- __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
+ __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD;
#include <bits/floatn.h>
#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
diff --git a/misc/error.h b/misc/error.h
index 185b39c..4fbd46c 100644
--- a/misc/error.h
+++ b/misc/error.h
@@ -29,11 +29,11 @@ __BEGIN_DECLS
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
extern void error (int __status, int __errnum, const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
+ __attribute__ ((__format__ (__printf__, 3, 4))) __COLD;
extern void error_at_line (int __status, int __errnum, const char *__fname,
unsigned int __lineno, const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));
+ __attribute__ ((__format__ (__printf__, 5, 6))) __COLD;
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this