package/nanocom: fix build with gcc 10
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Sat, 5 Sep 2020 10:16:14 +0000 (12:16 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 5 Sep 2020 21:26:57 +0000 (23:26 +0200)
Fixes:
 - http://autobuild.buildroot.org/results/4af4710cb9bbb1bc770b9824339dd7dbf8a80b05

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/nanocom/0001-fix-build-with-gcc-10.patch [new file with mode: 0644]

diff --git a/package/nanocom/0001-fix-build-with-gcc-10.patch b/package/nanocom/0001-fix-build-with-gcc-10.patch
new file mode 100644 (file)
index 0000000..8fcc546
--- /dev/null
@@ -0,0 +1,36 @@
+fix build with gcc 10
+
+Define curr_state as extern in nanocom.h to avoid the following build
+failure with gcc 10 (which defaults to -fno-common):
+
+/home/buildroot/autobuild/instance-3/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: /tmp/ccLQeiek.o:(.bss+0x7c): multiple definition of `curr_state'; /tmp/ccse155z.o:(.bss+0x0): first defined here
+
+Fixes:
+ - http://autobuild.buildroot.org/results/4af4710cb9bbb1bc770b9824339dd7dbf8a80b05
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+diff -Naurp nanocom-1.0.orig/nanocom.c nanocom-1.0/nanocom.c
+--- nanocom-1.0.orig/nanocom.c 2020-09-04 14:50:15.973320870 +0200
++++ nanocom-1.0/nanocom.c      2020-09-04 14:53:49.429325087 +0200
+@@ -20,6 +20,8 @@ Based upon microcom by Anca and Lucian J
+ #include "nanocom.h"
++state curr_state;
++
+ int crnl_mapping; //0 - no mapping, 1 mapping
+ char device[MAX_DEVICE_NAME]; /* serial device name */
+diff -Naurp nanocom-1.0.orig/nanocom.h nanocom-1.0/nanocom.h
+--- nanocom-1.0.orig/nanocom.h 2020-09-04 14:50:15.973320870 +0200
++++ nanocom-1.0/nanocom.h      2020-09-04 14:51:12.269321982 +0200
+@@ -73,7 +73,7 @@ typedef struct {
+     char echo_type; /*r for remote, l for local and n for none*/
+ } state;
+-state curr_state;
++extern state curr_state;
+    
+ #endif /* NANOCOM_H */