package/dump1090: fix build with gcc 10
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Wed, 19 Aug 2020 18:40:18 +0000 (20:40 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Wed, 19 Aug 2020 20:59:40 +0000 (22:59 +0200)
Fixes:
 - http://autobuild.buildroot.org/results/88dc97fcaa649014edb3b54a5dd4bd8ec4715bbd

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/dump1090/0001-dump1090.h-fix-build-with-gcc-10.patch [new file with mode: 0644]

diff --git a/package/dump1090/0001-dump1090.h-fix-build-with-gcc-10.patch b/package/dump1090/0001-dump1090.h-fix-build-with-gcc-10.patch
new file mode 100644 (file)
index 0000000..eeda03b
--- /dev/null
@@ -0,0 +1,72 @@
+From 02153cb0b2d1083dcd587798d9ef7ce963739622 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Wed, 19 Aug 2020 18:46:17 +0200
+Subject: [PATCH] dump1090.h: fix build with gcc 10
+
+Fix the following build failures on gcc 10 (where -fno-common is enabled
+by default):
+
+/home/test/autobuild/run/instance-0/output-1/per-package/dump1090/host/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: interactive.o:/home/test/autobuild/run/instance-0/output-1/build/dump1090-bff92c4ad772a0a8d433f788d39dae97e00e4dbe/dump1090.h:373: multiple definition of `Modes'; /home/test/autobuild/run/instance-0/output-1/per-package/dump1090/host/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: interactive.o:/home/test/autobuild/run/instance-0/output-1/build/dump1090-bff92c4ad772a0a8d433f788d39dae97e00e4dbe/dump1090.h:373: multiple definition of `Modes'; dump1090.o:/home/test/autobuild/run/instance-0/output-1/build/dump1090-bff92c4ad772a0a8d433f788d39dae97e00e4dbe/dump1090.h:373: first defined here
+
+/home/test/autobuild/run/instance-0/output-1/per-package/dump1090/host/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: interactive.o:/home/test/autobuild/run/instance-0/output-1/build/dump1090-bff92c4ad772a0a8d433f788d39dae97e00e4dbe/dump1090.h:238: multiple definition of `tDF'; dump1090.o:/home/test/autobuild/run/instance-0/output-1/build/dump1090-bff92c4ad772a0a8d433f788d39dae97e00e4dbe/dump1090.h:238: first defined here
+/home/test/autobuild/run/instance-0/output-1/per-package/dump1090/host/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: view1090.o:/home/test/autobuild/run/instance-0/output-1/build/dump1090-bff92c4ad772a0a8d433f788d39dae97e00e4dbe/dump1090.h:373: first defined here
+
+Fixes:
+ - http://autobuild.buildroot.org/results/88dc97fcaa649014edb3b54a5dd4bd8ec4715bbd
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/MalcolmRobb/dump1090/pull/96]
+---
+ dump1090.c | 3 +++
+ dump1090.h | 4 ++--
+ view1090.c | 3 +++
+ 3 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/dump1090.c b/dump1090.c
+index 60882fc..1482224 100644
+--- a/dump1090.c
++++ b/dump1090.c
+@@ -29,6 +29,9 @@
+ //
+ #include "coaa.h"
+ #include "dump1090.h"
++
++struct modes Modes;
++
+ //
+ // ============================= Utility functions ==========================
+ //
+diff --git a/dump1090.h b/dump1090.h
+index 9ad4de0..283e760 100644
+--- a/dump1090.h
++++ b/dump1090.h
+@@ -235,10 +235,10 @@ struct stDF {
+     uint64_t         llTimestamp;                // Timestamp at which the this packet was received
+     uint32_t         addr;                       // Timestamp at which the this packet was received
+     unsigned char    msg[MODES_LONG_MSG_BYTES];  // the binary
+-} tDF;
++};
+ // Program global state
+-struct {                             // Internal state
++extern struct modes {                             // Internal state
+     pthread_t       reader_thread;
+     pthread_mutex_t data_mutex;      // Mutex to synchronize buffer access
+diff --git a/view1090.c b/view1090.c
+index 0b9b8b9..cc072fc 100644
+--- a/view1090.c
++++ b/view1090.c
+@@ -29,6 +29,9 @@
+ //
+ #include "coaa.h"
+ #include "view1090.h"
++
++struct modes Modes;
++
+ //
+ // ============================= Utility functions ==========================
+ //
+-- 
+2.27.0
+