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

