summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch')
-rw-r--r--meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch b/meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch
new file mode 100644
index 0000000000..58cd58eda8
--- /dev/null
+++ b/meta/recipes-extended/minicom/minicom/0003-Drop-superfluous-global-variable-definitions.patch
@@ -0,0 +1,42 @@
+From a4fc603b3641d2efe31479116eb7ba66932901c7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= <olysonek@redhat.com>
+Date: Mon, 3 Feb 2020 13:21:41 +0100
+Subject: [PATCH 3/3] Drop superfluous global variable definitions
+
+The only place where the EXTERN macro mechanism is used to define the
+global variables 'portfd_is_socket', 'portfd_is_connected' and
+'portfd_sock_addr' is minicom.c (by defining an empty EXTERN macro and
+including the minicom.h header). The source file sysdep1_s.c already
+defines these variables. The sysdep1_s.o object file is always linked
+to minicom.o. Thus it is safe to drop the definitions from minicom.c
+and only declare the variables in the minicom.h header.
+
+This fixes linking with gcc 10 which uses -fno-common by default,
+disallowing multiple global variable definitions.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/minicom.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/minicom.h b/src/minicom.h
+index 0f9693b..1e7cb8c 100644
+--- a/src/minicom.h
++++ b/src/minicom.h
+@@ -113,9 +113,9 @@ EXTERN char *dial_user; /* Our username there */
+ EXTERN char *dial_pass; /* Our password */
+
+ #ifdef USE_SOCKET
+-EXTERN int portfd_is_socket; /* File descriptor is a unix socket */
+-EXTERN int portfd_is_connected; /* 1 if the socket is connected */
+-EXTERN struct sockaddr_un portfd_sock_addr; /* the unix socket address */
++extern int portfd_is_socket; /* File descriptor is a unix socket */
++extern int portfd_is_connected; /* 1 if the socket is connected */
++extern struct sockaddr_un portfd_sock_addr; /* the unix socket address */
+ #define portfd_connected ((portfd_is_socket && !portfd_is_connected) \
+ ? -1 : portfd)
+ #else
+--
+2.24.1
+