diff options
author | Denis Vlasenko | 2008-05-09 17:59:34 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-05-09 17:59:34 +0000 |
commit | 98636eb08c5ecc216e18970e11f7021206ac9b04 (patch) | |
tree | dfc70b7c6bf6276776c4e8198457dcf2df1e09fb /include/platform.h | |
parent | 50dbed95fb7c0a97135b771385160ca26c377a15 (diff) | |
download | busybox-98636eb08c5ecc216e18970e11f7021206ac9b04.zip busybox-98636eb08c5ecc216e18970e11f7021206ac9b04.tar.gz |
Use intra-DSO calls when we build libbusybox. No-op for normal build.
This was Bernhard Fischer' idea.
text data bss dec hex filename
773549 7781 9740 791070 c121e busybox.t7/0_lib/libbusybox.so.1.11.0.svn_unstripped
769683 7397 9740 786820 c0184 busybox.t9t/0_lib/libbusybox.so.1.11.0.svn_unstripped
Diffstat (limited to 'include/platform.h')
-rw-r--r-- | include/platform.h | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/include/platform.h b/include/platform.h index 57cff2c..0e0ccaf 100644 --- a/include/platform.h +++ b/include/platform.h @@ -17,7 +17,7 @@ #endif /* __restrict is known in EGCS 1.2 and above. */ -#if !__GNUC_PREREQ (2,92) +#if !__GNUC_PREREQ(2,92) # ifndef __restrict # define __restrict /* Ignore */ # endif @@ -27,7 +27,7 @@ macros freely, and know that they will come into play for the version of gcc in which they are supported. */ -#if !__GNUC_PREREQ (2,7) +#if !__GNUC_PREREQ(2,7) # ifndef __attribute__ # define __attribute__(x) # endif @@ -37,7 +37,7 @@ #if defined(__STDC_VERSION__) && __STDC_VERSION__ > 199901L /* it's a keyword */ #else -# if __GNUC_PREREQ (2,7) +# if __GNUC_PREREQ(2,7) # define inline __inline__ # else # define inline @@ -48,49 +48,49 @@ # define __const const #endif -# define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) -# define ATTRIBUTE_PACKED __attribute__ ((__packed__)) -# define ATTRIBUTE_ALIGNED(m) __attribute__ ((__aligned__(m))) +#define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) +#define ATTRIBUTE_PACKED __attribute__ ((__packed__)) +#define ATTRIBUTE_ALIGNED(m) __attribute__ ((__aligned__(m))) /* __NO_INLINE__: some gcc's do not honor inlining! :( */ -# if __GNUC_PREREQ (3,0) && !defined(__NO_INLINE__) -# define ALWAYS_INLINE __attribute__ ((always_inline)) inline +#if __GNUC_PREREQ(3,0) && !defined(__NO_INLINE__) +# define ALWAYS_INLINE __attribute__ ((always_inline)) inline /* I've seen a toolchain where I needed __noinline__ instead of noinline */ -# define NOINLINE __attribute__((__noinline__)) -# if !ENABLE_WERROR -# define ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) -# define ATTRIBUTE_UNUSED_RESULT __attribute__ ((warn_unused_result)) -# else -# define ATTRIBUTE_DEPRECATED /* n/a */ -# define ATTRIBUTE_UNUSED_RESULT /* n/a */ -# endif +# define NOINLINE __attribute__((__noinline__)) +# if !ENABLE_WERROR +# define ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +# define ATTRIBUTE_UNUSED_RESULT __attribute__ ((warn_unused_result)) # else -# define ALWAYS_INLINE inline /* n/a */ -# define NOINLINE /* n/a */ # define ATTRIBUTE_DEPRECATED /* n/a */ # define ATTRIBUTE_UNUSED_RESULT /* n/a */ # endif +#else +# define ALWAYS_INLINE inline /* n/a */ +# define NOINLINE /* n/a */ +# define ATTRIBUTE_DEPRECATED /* n/a */ +# define ATTRIBUTE_UNUSED_RESULT /* n/a */ +#endif /* -fwhole-program makes all symbols local. The attribute externally_visible forces a symbol global. */ -# if __GNUC_PREREQ (4,1) -# define EXTERNALLY_VISIBLE __attribute__(( visibility("default") )) +#if __GNUC_PREREQ(4,1) +# define EXTERNALLY_VISIBLE __attribute__(( visibility("default") )) //__attribute__ ((__externally_visible__)) -# else -# define EXTERNALLY_VISIBLE -# endif /* GNUC >= 4.1 */ +#else +# define EXTERNALLY_VISIBLE +#endif /* GNUC >= 4.1 */ /* We use __extension__ in some places to suppress -pedantic warnings about GCC extensions. This feature didn't work properly before gcc 2.8. */ -#if !__GNUC_PREREQ (2,8) +#if !__GNUC_PREREQ(2,8) # ifndef __extension__ # define __extension__ # endif #endif /* gcc-2.95 had no va_copy but only __va_copy. */ -#if !__GNUC_PREREQ (3,0) +#if !__GNUC_PREREQ(3,0) # include <stdarg.h> # if !defined va_copy && defined __va_copy # define va_copy(d,s) __va_copy((d),(s)) |