From d2e776750d04e1855fc550c6cefe4031bb9ee6e8 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Thu, 24 Mar 2011 12:18:40 +0100 Subject: libc-symbols.h: fix weak functions handling Move weak_function and weak_const_function under HAVE_WEAK_SYMBOLS guard and provide fallbacks. Signed-off-by: Peter S. Mazinger Signed-off-by: Bernhard Reutner-Fischer --- include/libc-symbols.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'include/libc-symbols.h') diff --git a/include/libc-symbols.h b/include/libc-symbols.h index db91a38a1..da9445f87 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -196,12 +196,12 @@ # define _strong_alias_untyped(name, aliasname) \ extern __typeof (aliasname) aliasname __attribute__ ((alias (#name))); +# ifdef HAVE_WEAK_SYMBOLS + /* This comes between the return type and function name in a function definition to make that definition weak. */ -# define weak_function __attribute__ ((weak)) -# define weak_const_function __attribute__ ((weak, __const__)) - -# ifdef HAVE_WEAK_SYMBOLS +# define weak_function __attribute__ ((weak)) +# define weak_const_function __attribute__ ((weak, __const__)) /* Define ALIASNAME as a weak alias for NAME. If weak aliases are not available, this defines a strong alias. */ @@ -215,6 +215,9 @@ # else +# define weak_function /* empty */ +# define weak_const_function __attribute__ ((__const__)) + # define weak_alias(name, aliasname) strong_alias(name, aliasname) # define weak_extern(symbol) /* Nothing. */ -- cgit v1.2.3