-- sourced from http://marc.info/?l=quagga-dev&m=122470854730992&w=2 -- zebra/*_null.c - Removed #pragma weak to be compatibile with gcc 4.0.1 from Apple xcode. --- zebra/ioctl_null.c +++ zebra/ioctl_null.c @@ -19,19 +19,16 @@ int if_unset_prefix (struct interface *a, struct connected *b) } int if_prefix_add_ipv6 (struct interface *a, struct connected *b) { return 0; } -#pragma weak if_prefix_delete_ipv6 = if_prefix_add_ipv6 - +int if_prefix_delete_ipv6 (struct interface *a, struct connected *b) { return 0; } int if_ioctl (u_long a, caddr_t b) { return 0; } - int if_set_flags (struct interface *a, uint64_t b) { return 0; } -#pragma weak if_unset_flags = if_set_flags - +int if_unset_flags (struct interface *a, uint64_t b) { return 0; } void if_get_flags (struct interface *a) { return; } -#pragma weak if_get_metric = if_get_flags -#pragma weak if_get_mtu = if_get_flags +void if_get_metric(struct interface *a) { return; } +void if_get_mtu(struct interface *a) { return; } #ifdef SOLARIS_IPV6 -#pragma weak if_ioctl_ipv6 = if_ioctl +int if_ioctl_ipv6 (u_long a, caddr_t b) { return 0; } struct connected *if_lookup_linklocal(struct interface *a) { return 0; } #define AF_IOCTL(af, request, buffer) \ --- zebra/kernel_null.c +++ zebra/kernel_null.c @@ -9,9 +9,11 @@ #include "zebra/connected.h" int kernel_add_ipv4 (struct prefix *a, struct rib *b) { return 0; } -#pragma weak kernel_delete_ipv4 = kernel_add_ipv4 +int kernel_delete_ipv4 (struct prefix *a, struct rib *b) { return 0; } + int kernel_add_ipv6 (struct prefix *a, struct rib *b) { return 0; } -#pragma weak kernel_delete_ipv6 = kernel_add_ipv6 +int kernel_delete_ipv6 (struct prefix *a, struct rib *b) { return 0; } + int kernel_delete_ipv6_old (struct prefix_ipv6 *dest, struct in6_addr *gate, unsigned int index, int flags, int table) { return 0; } @@ -37,4 +39,4 @@ int kernel_address_delete_ipv4 (struct interface *a, struct connected *b) } void kernel_init (void) { return; } -#pragma weak route_read = kernel_init +void route_read (void) { return; } diff --git a/zebra/misc_null.c b/zebra/misc_null.c index 7359430..8dba0ab 100644 --- zebra/misc_null.c +++ zebra/misc_null.c @@ -6,6 +6,6 @@ #include "zebra/interface.h" void ifstat_update_proc (void) { return; } -#pragma weak rtadv_config_write = ifstat_update_proc -#pragma weak irdp_config_write = ifstat_update_proc -#pragma weak ifstat_update_sysctl = ifstat_update_proc +void rtadv_config_write (struct vty *vty, struct interface *ifp) { return; } +void irdp_config_write (struct vty *vty, struct interface *ifp) { return; } +void ifstat_update_sysctl(void) { return; } diff --git a/zebra/redistribute_null.c b/zebra/redistribute_null.c index e57a73b..7072894 100644 --- zebra/redistribute_null.c +++ zebra/redistribute_null.c @@ -6,21 +6,21 @@ void zebra_redistribute_add (int a, struct zserv *b, int c) { return; } -#pragma weak zebra_redistribute_delete = zebra_redistribute_add -#pragma weak zebra_redistribute_default_add = zebra_redistribute_add -#pragma weak zebra_redistribute_default_delete = zebra_redistribute_add +void zebra_redistribute_delete (int a, struct zserv *b, int c) { return; } +void zebra_redistribute_default_add (int a, struct zserv *b, int c) { return; } +void zebra_redistribute_default_delete (int a, struct zserv *b, int c) { return; } void redistribute_add (struct prefix *a, struct rib *b) { return; } -#pragma weak redistribute_delete = redistribute_add +void redistribute_delete (struct prefix *a, struct rib *b) { return; } void zebra_interface_up_update (struct interface *a) { return; } -#pragma weak zebra_interface_down_update = zebra_interface_up_update -#pragma weak zebra_interface_add_update = zebra_interface_up_update -#pragma weak zebra_interface_delete_update = zebra_interface_up_update +void zebra_interface_down_update (struct interface *a) { return; } +void zebra_interface_add_update (struct interface *a) { return; } +void zebra_interface_delete_update (struct interface *a) { return; } void zebra_interface_address_add_update (struct interface *a, struct connected *b) { return; } -#pragma weak zebra_interface_address_delete_update = zebra_interface_address_add_update +void zebra_interface_address_delete_update(struct interface *a, struct connected *b) { return; }