| From 7a446434302d7b71211b81b3c6cd12a7b35223d1 Mon Sep 17 00:00:00 2001 |
| From: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| Date: Sat, 6 Mar 2021 16:28:37 +0100 |
| Subject: [PATCH] Fix build with gcc 10 |
| |
| Fix the following build failure with gcc 10 (which defaults to |
| -fno-common): |
| |
| CCLD pimd |
| /home/buildroot/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: pimd.o:(.bss+0x8): multiple definition of `qpim_static_route_list'; pim_main.o:(.bss+0x8): first defined here |
| /home/buildroot/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: pimd.o:(.bss+0x28): multiple definition of `qpim_mroute_del_last'; pim_main.o:(.bss+0x10): first defined here |
| |
| Fixes: |
| - http://autobuild.buildroot.org/results/fd5ee2b52a3cfaec268fafd3ffe4c30e51465c7e |
| |
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| [Upstream status: https://bugzilla.quagga.net/show_bug.cgi?id=1014] |
| --- |
| pimd/pim_version.h | 2 +- |
| pimd/pimd.c | 1 + |
| pimd/pimd.h | 66 +++++++++++++++++++++++----------------------- |
| 3 files changed, 35 insertions(+), 34 deletions(-) |
| |
| diff --git a/pimd/pim_version.h b/pimd/pim_version.h |
| index ef9f370c..891d4314 100644 |
| --- a/pimd/pim_version.h |
| +++ b/pimd/pim_version.h |
| @@ -25,6 +25,6 @@ |
| |
| #define PIMD_VERSION_STR "0.166" |
| |
| -const char * const PIMD_VERSION; |
| +extern const char * const PIMD_VERSION; |
| |
| #endif /* PIM_VERSION_H */ |
| diff --git a/pimd/pimd.c b/pimd/pimd.c |
| index 97fb2233..d7340cc0 100644 |
| --- a/pimd/pimd.c |
| +++ b/pimd/pimd.c |
| @@ -50,6 +50,7 @@ int64_t qpim_mroute_socket_creation = 0; /* timestamp of creat |
| struct thread *qpim_mroute_socket_reader = 0; |
| int qpim_mroute_oif_highest_vif_index = -1; |
| struct list *qpim_channel_oil_list = 0; |
| +struct in_addr qpim_all_pim_routers_addr; |
| int qpim_t_periodic = PIM_DEFAULT_T_PERIODIC; /* Period between Join/Prune Messages */ |
| struct list *qpim_upstream_list = 0; |
| struct zclient *qpim_zclient_update = 0; |
| diff --git a/pimd/pimd.h b/pimd/pimd.h |
| index 9a7e6058..8b3496fd 100644 |
| --- a/pimd/pimd.h |
| +++ b/pimd/pimd.h |
| @@ -68,39 +68,39 @@ |
| #define PIM_MASK_PIM_J_P (1 << 12) |
| #define PIM_MASK_STATIC (1 << 13) |
| |
| -const char *const PIM_ALL_SYSTEMS; |
| -const char *const PIM_ALL_ROUTERS; |
| -const char *const PIM_ALL_PIM_ROUTERS; |
| -const char *const PIM_ALL_IGMP_ROUTERS; |
| - |
| -struct thread_master *master; |
| -uint32_t qpim_debugs; |
| -int qpim_mroute_socket_fd; |
| -int64_t qpim_mroute_socket_creation; /* timestamp of creation */ |
| -struct thread *qpim_mroute_socket_reader; |
| -int qpim_mroute_oif_highest_vif_index; |
| -struct list *qpim_channel_oil_list; /* list of struct channel_oil */ |
| -struct in_addr qpim_all_pim_routers_addr; |
| -int qpim_t_periodic; /* Period between Join/Prune Messages */ |
| -struct list *qpim_upstream_list; /* list of struct pim_upstream */ |
| -struct zclient *qpim_zclient_update; |
| -struct zclient *qpim_zclient_lookup; |
| -struct pim_assert_metric qpim_infinite_assert_metric; |
| -long qpim_rpf_cache_refresh_delay_msec; |
| -struct thread *qpim_rpf_cache_refresher; |
| -int64_t qpim_rpf_cache_refresh_requests; |
| -int64_t qpim_rpf_cache_refresh_events; |
| -int64_t qpim_rpf_cache_refresh_last; |
| -struct in_addr qpim_inaddr_any; |
| -struct list *qpim_ssmpingd_list; /* list of struct ssmpingd_sock */ |
| -struct in_addr qpim_ssmpingd_group_addr; |
| -int64_t qpim_scan_oil_events; |
| -int64_t qpim_scan_oil_last; |
| -int64_t qpim_mroute_add_events; |
| -int64_t qpim_mroute_add_last; |
| -int64_t qpim_mroute_del_events; |
| -int64_t qpim_mroute_del_last; |
| -struct list *qpim_static_route_list; /* list of routes added statically */ |
| +extern const char *const PIM_ALL_SYSTEMS; |
| +extern const char *const PIM_ALL_ROUTERS; |
| +extern const char *const PIM_ALL_PIM_ROUTERS; |
| +extern const char *const PIM_ALL_IGMP_ROUTERS; |
| + |
| +extern struct thread_master *master; |
| +extern uint32_t qpim_debugs; |
| +extern int qpim_mroute_socket_fd; |
| +extern int64_t qpim_mroute_socket_creation; /* timestamp of creation */ |
| +extern struct thread *qpim_mroute_socket_reader; |
| +extern int qpim_mroute_oif_highest_vif_index; |
| +extern struct list *qpim_channel_oil_list; /* list of struct channel_oil */ |
| +extern struct in_addr qpim_all_pim_routers_addr; |
| +extern int qpim_t_periodic; /* Period between Join/Prune Messages */ |
| +extern struct list *qpim_upstream_list; /* list of struct pim_upstream */ |
| +extern struct zclient *qpim_zclient_update; |
| +extern struct zclient *qpim_zclient_lookup; |
| +extern struct pim_assert_metric qpim_infinite_assert_metric; |
| +extern long qpim_rpf_cache_refresh_delay_msec; |
| +extern struct thread *qpim_rpf_cache_refresher; |
| +extern int64_t qpim_rpf_cache_refresh_requests; |
| +extern int64_t qpim_rpf_cache_refresh_events; |
| +extern int64_t qpim_rpf_cache_refresh_last; |
| +extern struct in_addr qpim_inaddr_any; |
| +extern struct list *qpim_ssmpingd_list; /* list of struct ssmpingd_sock */ |
| +extern struct in_addr qpim_ssmpingd_group_addr; |
| +extern int64_t qpim_scan_oil_events; |
| +extern int64_t qpim_scan_oil_last; |
| +extern int64_t qpim_mroute_add_events; |
| +extern int64_t qpim_mroute_add_last; |
| +extern int64_t qpim_mroute_del_events; |
| +extern int64_t qpim_mroute_del_last; |
| +extern struct list *qpim_static_route_list; /* list of routes added statically */ |
| |
| #define PIM_JP_HOLDTIME (qpim_t_periodic * 7 / 2) |
| |
| -- |
| 2.30.0 |
| |