diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2023-04-29 16:12:23 +0300 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-05-01 19:33:21 +0200 |
commit | e6a252758cbadb13654e66e1f2445ef6f8a4dea0 (patch) | |
tree | 77062c96855e8d5d81160ffc2b278753b267033d | |
parent | be9ad3004f65b54dd6cc0325315559c72396bc1c (diff) | |
download | glibc-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.h | 4 | ||||
-rw-r--r-- | libio/stdio.h | 2 | ||||
-rw-r--r-- | misc/err.h | 12 | ||||
-rw-r--r-- | misc/error.h | 4 |
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 @@ -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 |