[PATCH] iftop: fix compilation with GCC 10
Rosen Penev
rosenp at gmail.com
Tue Sep 1 17:45:54 EDT 2020
GCC 10 defaults to fno-common, which demands unique defenitions.
Patch taken from buildroot.
Signed-off-by: Rosen Penev <rosenp at gmail.com>
---
package/network/utils/iftop/Makefile | 2 +-
.../utils/iftop/patches/010-gcc10.patch | 57 +++++++++++++++++++
2 files changed, 58 insertions(+), 1 deletion(-)
create mode 100644 package/network/utils/iftop/patches/010-gcc10.patch
diff --git a/package/network/utils/iftop/Makefile b/package/network/utils/iftop/Makefile
index 98fe15c8f5..aa467c2876 100644
--- a/package/network/utils/iftop/Makefile
+++ b/package/network/utils/iftop/Makefile
@@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=iftop
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://code.blinkace.com/pdw/iftop.git
diff --git a/package/network/utils/iftop/patches/010-gcc10.patch b/package/network/utils/iftop/patches/010-gcc10.patch
new file mode 100644
index 0000000000..7c212d03a8
--- /dev/null
+++ b/package/network/utils/iftop/patches/010-gcc10.patch
@@ -0,0 +1,57 @@
+From 18a9f7732944bfe45023f9dd7528295e7d43e678 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+Date: Wed, 12 Aug 2020 22:31:33 +0200
+Subject: [PATCH] ui_common.h: fix build with gcc 10
+
+Define global variables as extern in header to fix the build with gcc 10
+which default to -fno-common: https://gcc.gnu.org/gcc-10/porting_to.html
+
+Fixes:
+ - http://autobuild.buildroot.org/results/55a8581f11e776439782c228441ef1c8c1243386
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+[Upstream status: sent to iftop-users at lists.beasts.org]
+---
+ ui_common.c | 6 ++++++
+ ui_common.h | 10 +++++-----
+ 2 files changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/ui_common.c b/ui_common.c
+index dcf6646..b1027ec 100644
+--- a/ui_common.c
++++ b/ui_common.c
+@@ -17,6 +17,12 @@
+
+ #include "ui_common.h"
+
++sorted_list_type screen_list;
++host_pair_line totals;
++int peaksent, peakrecv, peaktotal;
++hash_type* screen_hash;
++hash_type* service_hash;
++
+ /* 2, 10 and 40 seconds */
+ int history_divs[HISTORY_DIVISIONS] = {1, 5, 20};
+
+diff --git a/ui_common.h b/ui_common.h
+index 63ae5bb..add72fe 100644
+--- a/ui_common.h
++++ b/ui_common.h
+@@ -33,12 +33,12 @@ typedef struct host_pair_line_tag {
+
+ extern options_t options;
+
+-sorted_list_type screen_list;
+-host_pair_line totals;
+-int peaksent, peakrecv, peaktotal;
++extern sorted_list_type screen_list;
++extern host_pair_line totals;
++extern int peaksent, peakrecv, peaktotal;
+ extern history_type history_totals;
+-hash_type* screen_hash;
+-hash_type* service_hash;
++extern hash_type* screen_hash;
++extern hash_type* service_hash;
+
+ void analyse_data(void);
+ void screen_list_init(void);
--
2.26.2
More information about the openwrt-devel
mailing list