quagga: fix compilation with GCC 10

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2020-08-11 12:24:22 -07:00
parent 8f9aa112b5
commit fdd74f951c
No known key found for this signature in database
GPG Key ID: 36D31CFA845F0E3B
2 changed files with 61 additions and 1 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=quagga
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_HASH:=f7a43a9c59bfd3722002210530b2553c8d5cc05bfea5acd56d4f102b9f55dc63
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz

View File

@ -0,0 +1,60 @@
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -44,7 +44,7 @@
*/
struct ethaddr {
u_char octet[ETHER_ADDR_LEN];
-} __packed;
+} __attribute__((packed));
/*
--- a/pimd/pimd.h
+++ b/pimd/pimd.h
@@ -74,25 +74,25 @@ 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;
+extern uint32_t qpim_debugs;
+extern 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;
+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;
int qpim_t_periodic; /* Period between Join/Prune Messages */
-struct list *qpim_upstream_list; /* list of struct pim_upstream */
+extern 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;
+extern 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 */
+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 */
struct in_addr qpim_ssmpingd_group_addr;
int64_t qpim_scan_oil_events;
int64_t qpim_scan_oil_last;
@@ -100,7 +100,7 @@ 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 struct list *qpim_static_route_list; /* list of routes added statically */
#define PIM_JP_HOLDTIME (qpim_t_periodic * 7 / 2)