quagga: fix compilation with GCC 10 590/head
authorRosen Penev <rosenp@gmail.com>
Tue, 11 Aug 2020 19:24:22 +0000 (12:24 -0700)
committerRosen Penev <rosenp@gmail.com>
Tue, 11 Aug 2020 19:34:49 +0000 (12:34 -0700)
Signed-off-by: Rosen Penev <rosenp@gmail.com>
quagga/Makefile
quagga/patches/200-gcc10.patch [new file with mode: 0644]

index e2751f4ed91ed18c534952f0096d2f9bfde51a01..29af28b06b033669d03094dc7ddf2b2303376b41 100644 (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
diff --git a/quagga/patches/200-gcc10.patch b/quagga/patches/200-gcc10.patch
new file mode 100644 (file)
index 0000000..3a05255
--- /dev/null
@@ -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)