1*4882a593SmuzhiyunFrom dde68ed77114d7b19bfed3068edefc9dc0644445 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Fabrice Fontaine <fontaine.fabrice@gmail.com>
3*4882a593SmuzhiyunDate: Sun, 16 Aug 2020 10:21:46 +0200
4*4882a593SmuzhiyunSubject: [PATCH] src/bandwidthd.h: fix build with gcc 10
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunRemove SubnetTable[SUBNET_NUM] and IpTable[IP_NUM] from bandwidthd.h as
7*4882a593Smuzhiyunthey are already in bandwidthd.c otherwise the build with gcc 10 will
8*4882a593Smuzhiyunfail on:
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/home/buildroot/autobuild/instance-2/output-1/host/bin/arm-buildroot-linux-gnueabihf-gcc  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os     -o bandwidthd bandwidthd.o graph.o extensions.o sqlight.o parser.o lexer.o pgsql.o  -lpcap -lgd -lm -lresolv  -L/home/buildroot/autobuild/instance-2/output-1/host/bin/../arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lpng16 -lz  -L/home/buildroot/autobuild/instance-2/output-1/host/arm-buildroot-linux-gnueabihf/sysroot/usr/bin/../../../../arm-buildroot-linux-gnueabihf/sysroot/usr/lib/.libs -lnl-genl-3 -lnl-3
11*4882a593Smuzhiyun/home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: graph.o:(.bss+0x4b0): multiple definition of `IpTable'; bandwidthd.o:(.bss+0x3e0): first defined here
12*4882a593Smuzhiyun/home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: graph.o:(.bss+0x18c): multiple definition of `SubnetTable'; bandwidthd.o:(.bss+0x88): first defined here
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunFixes:
15*4882a593Smuzhiyun - http://autobuild.buildroot.org/results/6308c8ee38b6017215038d47c009b238113bd36f
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
18*4882a593Smuzhiyun[Upstream status: https://github.com/nroach44/bandwidthd/pull/1]
19*4882a593Smuzhiyun---
20*4882a593Smuzhiyun src/bandwidthd.h | 4 ++--
21*4882a593Smuzhiyun src/graph.c      | 1 +
22*4882a593Smuzhiyun 2 files changed, 3 insertions(+), 2 deletions(-)
23*4882a593Smuzhiyun
24*4882a593Smuzhiyundiff --git a/src/bandwidthd.h b/src/bandwidthd.h
25*4882a593Smuzhiyunindex 870fdf7..eb4c830 100644
26*4882a593Smuzhiyun--- a/src/bandwidthd.h
27*4882a593Smuzhiyun+++ b/src/bandwidthd.h
28*4882a593Smuzhiyun@@ -134,7 +134,7 @@ struct SubnetData
29*4882a593Smuzhiyun {
30*4882a593Smuzhiyun   uint32_t ip;
31*4882a593Smuzhiyun   uint32_t mask;
32*4882a593Smuzhiyun-} SubnetTable[SUBNET_NUM];
33*4882a593Smuzhiyun+};
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun struct Statistics
36*4882a593Smuzhiyun {
37*4882a593Smuzhiyun@@ -157,7 +157,7 @@ struct IPData
38*4882a593Smuzhiyun   uint32_t ip;			// Host byte order
39*4882a593Smuzhiyun   struct Statistics Send;
40*4882a593Smuzhiyun   struct Statistics Receive;
41*4882a593Smuzhiyun-} IpTable[IP_NUM];
42*4882a593Smuzhiyun+};
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun struct SummaryData
45*4882a593Smuzhiyun {
46*4882a593Smuzhiyundiff --git a/src/graph.c b/src/graph.c
47*4882a593Smuzhiyunindex b4b68f0..058e8c7 100644
48*4882a593Smuzhiyun--- a/src/graph.c
49*4882a593Smuzhiyun+++ b/src/graph.c
50*4882a593Smuzhiyun@@ -18,6 +18,7 @@
51*4882a593Smuzhiyun #include <resolv.h>
52*4882a593Smuzhiyun #endif
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun+extern struct SubnetData SubnetTable[SUBNET_NUM];
55*4882a593Smuzhiyun extern unsigned int SubnetCount;
56*4882a593Smuzhiyun extern struct config config;
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun--
59*4882a593Smuzhiyun2.27.0
60*4882a593Smuzhiyun
61