1*4882a593SmuzhiyunFrom 02153cb0b2d1083dcd587798d9ef7ce963739622 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Fabrice Fontaine <fontaine.fabrice@gmail.com> 3*4882a593SmuzhiyunDate: Wed, 19 Aug 2020 18:46:17 +0200 4*4882a593SmuzhiyunSubject: [PATCH] dump1090.h: fix build with gcc 10 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunFix the following build failures on gcc 10 (where -fno-common is enabled 7*4882a593Smuzhiyunby default): 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun/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 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/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 12*4882a593Smuzhiyun/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 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunFixes: 15*4882a593Smuzhiyun - http://autobuild.buildroot.org/results/88dc97fcaa649014edb3b54a5dd4bd8ec4715bbd 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 18*4882a593Smuzhiyun[Upstream status: https://github.com/MalcolmRobb/dump1090/pull/96] 19*4882a593Smuzhiyun--- 20*4882a593Smuzhiyun dump1090.c | 3 +++ 21*4882a593Smuzhiyun dump1090.h | 4 ++-- 22*4882a593Smuzhiyun view1090.c | 3 +++ 23*4882a593Smuzhiyun 3 files changed, 8 insertions(+), 2 deletions(-) 24*4882a593Smuzhiyun 25*4882a593Smuzhiyundiff --git a/dump1090.c b/dump1090.c 26*4882a593Smuzhiyunindex 60882fc..1482224 100644 27*4882a593Smuzhiyun--- a/dump1090.c 28*4882a593Smuzhiyun+++ b/dump1090.c 29*4882a593Smuzhiyun@@ -29,6 +29,9 @@ 30*4882a593Smuzhiyun // 31*4882a593Smuzhiyun #include "coaa.h" 32*4882a593Smuzhiyun #include "dump1090.h" 33*4882a593Smuzhiyun+ 34*4882a593Smuzhiyun+struct modes Modes; 35*4882a593Smuzhiyun+ 36*4882a593Smuzhiyun // 37*4882a593Smuzhiyun // ============================= Utility functions ========================== 38*4882a593Smuzhiyun // 39*4882a593Smuzhiyundiff --git a/dump1090.h b/dump1090.h 40*4882a593Smuzhiyunindex 9ad4de0..283e760 100644 41*4882a593Smuzhiyun--- a/dump1090.h 42*4882a593Smuzhiyun+++ b/dump1090.h 43*4882a593Smuzhiyun@@ -235,10 +235,10 @@ struct stDF { 44*4882a593Smuzhiyun uint64_t llTimestamp; // Timestamp at which the this packet was received 45*4882a593Smuzhiyun uint32_t addr; // Timestamp at which the this packet was received 46*4882a593Smuzhiyun unsigned char msg[MODES_LONG_MSG_BYTES]; // the binary 47*4882a593Smuzhiyun-} tDF; 48*4882a593Smuzhiyun+}; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun // Program global state 51*4882a593Smuzhiyun-struct { // Internal state 52*4882a593Smuzhiyun+extern struct modes { // Internal state 53*4882a593Smuzhiyun pthread_t reader_thread; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun pthread_mutex_t data_mutex; // Mutex to synchronize buffer access 56*4882a593Smuzhiyundiff --git a/view1090.c b/view1090.c 57*4882a593Smuzhiyunindex 0b9b8b9..cc072fc 100644 58*4882a593Smuzhiyun--- a/view1090.c 59*4882a593Smuzhiyun+++ b/view1090.c 60*4882a593Smuzhiyun@@ -29,6 +29,9 @@ 61*4882a593Smuzhiyun // 62*4882a593Smuzhiyun #include "coaa.h" 63*4882a593Smuzhiyun #include "view1090.h" 64*4882a593Smuzhiyun+ 65*4882a593Smuzhiyun+struct modes Modes; 66*4882a593Smuzhiyun+ 67*4882a593Smuzhiyun // 68*4882a593Smuzhiyun // ============================= Utility functions ========================== 69*4882a593Smuzhiyun // 70*4882a593Smuzhiyun-- 71*4882a593Smuzhiyun2.27.0 72*4882a593Smuzhiyun 73