diff options
author | Denis Vlasenko | 2009-04-09 12:35:13 +0000 |
---|---|---|
committer | Denis Vlasenko | 2009-04-09 12:35:13 +0000 |
commit | f81e8dbc74186f34faa5ae2b0fe8bdc3f18114ae (patch) | |
tree | 91ee95914c2b9a07817bd6f596fc3df758651147 /include/platform.h | |
parent | 327fd47f362843fc62fbee6169904c416ca13d11 (diff) | |
download | busybox-f81e8dbc74186f34faa5ae2b0fe8bdc3f18114ae.zip busybox-f81e8dbc74186f34faa5ae2b0fe8bdc3f18114ae.tar.gz |
*: make "pragma GCC visibility push(hidden)" less ugly
Diffstat (limited to 'include/platform.h')
-rw-r--r-- | include/platform.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/include/platform.h b/include/platform.h index 13dfcbd..47fd5f6 100644 --- a/include/platform.h +++ b/include/platform.h @@ -4,8 +4,8 @@ Licensed under the GPL v2 or later, see the file LICENSE in this tarball. */ -#ifndef __PLATFORM_H -#define __PLATFORM_H 1 +#ifndef BB_PLATFORM_H +#define BB_PLATFORM_H 1 /* Convenience macros to test the version of gcc. */ #undef __GNUC_PREREQ @@ -110,6 +110,16 @@ # define FAST_FUNC #endif +/* Make all declarations hidden (-fvisibility flag only affects definitions) */ +/* (don't include system headers after this until corresponding pop!) */ +#if __GNUC_PREREQ(4,1) +# define PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN _Pragma("GCC visibility push(hidden)") +# define POP_SAVED_FUNCTION_VISIBILITY _Pragma("GCC visibility pop") +#else +# define PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN +# define POP_SAVED_FUNCTION_VISIBILITY +#endif + /* ---- Endian Detection ------------------------------------ */ #if (defined __digital__ && defined __unix__) @@ -371,4 +381,4 @@ static ALWAYS_INLINE char* strchrnul(const char *s, char c) #endif #endif -#endif /* platform.h */ +#endif |