]> git.puffer.fish Git - matthieu/frr.git/commitdiff
build: fix "pragma weak" mixups
authorDavid Lamparter <equinox@opensourcerouting.org>
Sun, 27 Jan 2013 03:46:02 +0000 (04:46 +0100)
committerDavid Lamparter <equinox@opensourcerouting.org>
Sat, 9 Feb 2013 02:00:12 +0000 (03:00 +0100)
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>
m4/ax_sys_weak_alias.m4
zebra/kernel_null.c

index 7c632a0ed389b93220a84f42ca637e6826a79428..27b0f0c4f035338c7186790c9bdd7f69fad7e8fd 100644 (file)
@@ -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")));
index ec994a6bfcb12c18c844fdebb25eb658775f9f72..cdb6e23f0245c9d6e96959685747ef92286caee8 100644 (file)
@@ -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; }