diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2013-01-27 04:46:02 +0100 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2013-02-09 03:00:12 +0100 |
commit | b2baffe8d255890b85d93aee653bed2c18371128 (patch) | |
tree | 59fd3cada2ac805f46641e4aaf6ee98edddee0bd | |
parent | b0baf0740e3d6a01980cef7ea0af0a61c10b1bcd (diff) |
build: fix "pragma weak" mixups
Not only was there a minor typo in the "pragma weak" preprocessor
checks, but also were the tests not behaving as needed - they only
indicated support for the /first/ method of implementing weak aliases,
which on Linux is __attribute__ and not #pragma.
* m4/ax_sys_weak_alias.m4: set defines for _all_ weak alias methods
* zebra/kernel_null.c: fix typo
Cc: Doug VanLeuven <roamdad@sonic.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
-rw-r--r-- | m4/ax_sys_weak_alias.m4 | 22 | ||||
-rw-r--r-- | zebra/kernel_null.c | 2 |
2 files changed, 10 insertions, 14 deletions
diff --git a/m4/ax_sys_weak_alias.m4 b/m4/ax_sys_weak_alias.m4 index 7c632a0e..27b0f0c4 100644 --- a/m4/ax_sys_weak_alias.m4 +++ b/m4/ax_sys_weak_alias.m4 @@ -167,9 +167,8 @@ void weakf(int c) __attribute__((weak, alias("__weakf")));], ]) # What was the result of the test? - AS_IF([test $ax_sys_weak_alias = no && - test $ax_cv_sys_weak_alias_attribute = yes], [ - ax_sys_weak_alias=attribute + AS_IF([test $ax_cv_sys_weak_alias_attribute = yes], [ + test $ax_sys_weak_alias = no && ax_sys_weak_alias=attribute AC_DEFINE([HAVE_SYS_WEAK_ALIAS_ATTRIBUTE], 1, [Define this if weak aliases may be created with __attribute__]) ]) @@ -192,9 +191,8 @@ void __weakf(int c) {}], ]) # What was the result of the test? - AS_IF([test $ax_sys_weak_alias = no && - test $ax_cv_sys_weak_alias_pragma = yes], [ - ax_sys_weak_alias=pragma + AS_IF([test $ax_cv_sys_weak_alias_pragma = yes], [ + test $ax_sys_weak_alias = no && ax_sys_weak_alias=pragma AC_DEFINE([HAVE_SYS_WEAK_ALIAS_PRAGMA], 1, [Define this if weak aliases may be created with @%:@pragma weak]) ]) @@ -217,9 +215,8 @@ void __weakf(int c) {}], ]) # What was the result of the test? - AS_IF([test $ax_sys_weak_alias = no && - test $ax_cv_sys_weak_alias_hpsecondary = yes], [ - ax_sys_weak_alias=hpsecondary + AS_IF([test $ax_cv_sys_weak_alias_hpsecondary = yes], [ + test $ax_sys_weak_alias = no && ax_sys_weak_alias=hpsecondary AC_DEFINE([HAVE_SYS_WEAK_ALIAS_HPSECONDARY], 1, [Define this if weak aliases may be created with @%:@pragma _HP_SECONDARY_DEF]) ]) @@ -242,9 +239,8 @@ void __weakf(int c) {}], ]) # What was the result of the test? - AS_IF([test $ax_sys_weak_alias = no && - test $ax_cv_sys_weak_alias_criduplicate = yes], [ - ax_sys_weak_alias=criduplicate + AS_IF([test $ax_cv_sys_weak_alias_criduplicate = yes], [ + test $ax_sys_weak_alias = no && ax_sys_weak_alias=criduplicate AC_DEFINE([HAVE_SYS_WEAK_ALIAS_CRIDUPLICATE], 1, [Define this if weak aliases may be created with @%:@pragma _CRI duplicate]) ]) @@ -271,7 +267,6 @@ _ACEOF @%:@ifndef HAVE_SYS_WEAK_ALIAS_ATTRIBUTE extern void weakf(int c); -@%:@endif @%:@if defined(HAVE_SYS_WEAK_ALIAS_PRAGMA) @%:@pragma weak weakf = __weakf @%:@elif defined(HAVE_SYS_WEAK_ALIAS_HPSECONDARY) @@ -279,6 +274,7 @@ extern void weakf(int c); @%:@elif defined(HAVE_SYS_WEAK_ALIAS_CRIDUPLICATE) @%:@pragma _CRI duplicate weakf as __weakf @%:@endif +@%:@endif void __weakf(int c) {} @%:@ifdef HAVE_SYS_WEAK_ALIAS_ATTRIBUTE void weakf(int c) __attribute((weak, alias("__weakf"))); diff --git a/zebra/kernel_null.c b/zebra/kernel_null.c index ec994a6b..cdb6e23f 100644 --- a/zebra/kernel_null.c +++ b/zebra/kernel_null.c @@ -16,7 +16,7 @@ int kernel_delete_ipv4 (struct prefix *a, struct rib *b) { return 0; } #endif int kernel_add_ipv6 (struct prefix *a, struct rib *b) { return 0; } -#ifdef HAVE_SYS_WEAK_ALIAS_PRAGMA_PRAGMA +#ifdef HAVE_SYS_WEAK_ALIAS_PRAGMA #pragma weak kernel_delete_ipv6 = kernel_add_ipv6 #else int kernel_delete_ipv6 (struct prefix *a, struct rib *b) { return 0; } |