mirror of
https://github.com/FAUSheppy/colorredstderr-mirror
synced 2025-12-10 08:58:33 +01:00
Rename __noinline/__always_inline to prevent clash with headers.
With this change noinline can be used in ldpreload.h.
This commit is contained in:
@@ -20,6 +20,8 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "compiler.h"
|
||||
|
||||
/* Must be loaded before the following headers. */
|
||||
#include "ldpreload.h"
|
||||
|
||||
@@ -51,7 +53,6 @@ static int force_write_to_non_tty;
|
||||
|
||||
|
||||
#include "constants.h"
|
||||
#include "compiler.h"
|
||||
#ifdef DEBUG
|
||||
# include "debug.h"
|
||||
#endif
|
||||
@@ -67,7 +68,7 @@ static int force_write_to_non_tty;
|
||||
/* Prevent inlining into hook functions because it may increase the number of
|
||||
* spilled registers unnecessarily. As it's not called very often accept the
|
||||
* additional call. */
|
||||
static int isatty_noinline(int fd) __noinline;
|
||||
static int isatty_noinline(int fd) noinline;
|
||||
static int isatty_noinline(int fd) {
|
||||
int saved_errno = errno;
|
||||
int result = isatty(fd);
|
||||
@@ -137,10 +138,10 @@ static void init_pre_post_string(void) {
|
||||
|
||||
/* Don't inline any of the pre/post functions. Keep the hook function as small
|
||||
* as possible for speed reasons. */
|
||||
static void handle_fd_pre(int fd) __noinline;
|
||||
static void handle_fd_post(int fd) __noinline;
|
||||
static void handle_file_pre(FILE *stream) __noinline;
|
||||
static void handle_file_post(FILE *stream) __noinline;
|
||||
static void handle_fd_pre(int fd) noinline;
|
||||
static void handle_fd_post(int fd) noinline;
|
||||
static void handle_file_pre(FILE *stream) noinline;
|
||||
static void handle_file_post(FILE *stream) noinline;
|
||||
|
||||
static void handle_fd_pre(int fd) {
|
||||
int saved_errno = errno;
|
||||
|
||||
@@ -21,14 +21,12 @@
|
||||
#define COMPILER_H 1
|
||||
|
||||
/* Prevent/force inlining. Used to improve performance. */
|
||||
#undef __noinline
|
||||
#undef __always_inline
|
||||
#ifdef HAVE___ATTRIBUTE__
|
||||
# define __noinline __attribute__((noinline))
|
||||
# define __always_inline __attribute__((always_inline))
|
||||
# define noinline __attribute__((noinline))
|
||||
# define always_inline __attribute__((always_inline))
|
||||
#else
|
||||
# define __noinline
|
||||
# define __always_inline
|
||||
# define noinline
|
||||
# define always_inline
|
||||
#endif
|
||||
|
||||
/* Branch prediction information for the compiler. */
|
||||
|
||||
@@ -30,12 +30,7 @@
|
||||
#include <dlfcn.h>
|
||||
#include <errno.h>
|
||||
|
||||
static void *dlsym_function(char const *name)
|
||||
#ifdef HAVE___ATTRIBUTE__
|
||||
__attribute__((noinline))
|
||||
#endif
|
||||
;
|
||||
|
||||
static void *dlsym_function(char const *name) noinline;
|
||||
/* Load the function name using dlsym() and return it. Terminate program on
|
||||
* failure. Split in function and macro to reduce code inserted into the
|
||||
* function using the macro. */
|
||||
|
||||
@@ -300,7 +300,7 @@ static int tracked_fds_remove(int fd) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tracked_fds_find_slow(int fd) __noinline;
|
||||
static int tracked_fds_find_slow(int fd) noinline;
|
||||
/*
|
||||
* tracked_fds_find() is called for each hook call and should be as fast as
|
||||
* possible. As most file descriptors are < TRACKFDS_STATIC_COUNT, force the
|
||||
@@ -309,7 +309,7 @@ static int tracked_fds_find_slow(int fd) __noinline;
|
||||
* Inlining tracked_fds_add()/tracked_fds_remove() isn't worth the effort as
|
||||
* they are not called often enough.
|
||||
*/
|
||||
inline static int tracked_fds_find(int fd) __always_inline;
|
||||
inline static int tracked_fds_find(int fd) always_inline;
|
||||
static int tracked_fds_find(int fd) {
|
||||
if (fd < TRACKFDS_STATIC_COUNT) {
|
||||
return tracked_fds[fd];
|
||||
|
||||
Reference in New Issue
Block a user