1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
From 499a006a7d6bb154f9e1ab430e4c9e231ba6096a Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Tue, 28 Jan 2020 16:36:56 -0800
Subject: [PATCH] Updates to support gcc -fno-common option.
This meant cleaning up the definition of some
global variables, so that they were only defined
in one place and refered to as external elsewhere.
---
include/iscsi_err.h | 6 ++++--
iscsiuio/configure.ac | 2 +-
iscsiuio/src/uip/uip.h | 4 ++--
usr/iscsi_err.c | 2 ++
usr/log.c | 1 +
usr/log.h | 2 +-
6 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/iscsi_err.h b/include/iscsi_err.h
index ed000dd0..04a8723e 100644
--- a/include/iscsi_err.h
+++ b/include/iscsi_err.h
@@ -4,7 +4,7 @@
#ifndef _ISCSI_ERR_
#define _ISCSI_ERR_
-enum {
+enum iscsi_error_list {
ISCSI_SUCCESS = 0,
/* Generic error */
ISCSI_ERR = 1,
@@ -73,7 +73,9 @@ enum {
/* Always last. Indicates end of error code space */
ISCSI_MAX_ERR_VAL,
-} iscsi_err;
+};
+
+extern enum iscsi_error_list iscsi_err;
extern void iscsi_err_print_msg(int err);
extern char *iscsi_err_to_str(int err);
diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac
index b41df0ec..8099f09c 100644
--- a/iscsiuio/configure.ac
+++ b/iscsiuio/configure.ac
@@ -78,7 +78,7 @@ AC_CONFIG_COMMANDS([default],[[
else
echo 'char *build_date = "'`date`'";' > src/unix/build_date.c
fi
- echo 'char *build_date;'> src/unix/build_date.h
+ echo 'extern char *build_date;'> src/unix/build_date.h
]],[[]])
AC_PREFIX_DEFAULT()
diff --git a/iscsiuio/src/uip/uip.h b/iscsiuio/src/uip/uip.h
index 1180ab50..9d9428a2 100644
--- a/iscsiuio/src/uip/uip.h
+++ b/iscsiuio/src/uip/uip.h
@@ -70,8 +70,8 @@ struct uip_stack;
typedef u16_t uip_ip4addr_t[2];
typedef u16_t uip_ip6addr_t[8];
-const uip_ip6addr_t all_zeroes_addr6;
-const uip_ip4addr_t all_zeroes_addr4;
+extern const uip_ip6addr_t all_zeroes_addr6;
+extern const uip_ip4addr_t all_zeroes_addr4;
#define ETH_BUF(buf) ((struct uip_eth_hdr *)buf)
#define VLAN_ETH_BUF(buf) ((struct uip_vlan_eth_hdr *)buf)
diff --git a/usr/iscsi_err.c b/usr/iscsi_err.c
index 23c61fc3..4a057d57 100644
--- a/usr/iscsi_err.c
+++ b/usr/iscsi_err.c
@@ -21,6 +21,8 @@
#include "iscsi_err.h"
#include "log.h"
+enum iscsi_error_list iscsi_err;
+
static char *iscsi_err_msgs[] = {
/* 0 */ "",
/* 1 */ "unknown error",
diff --git a/usr/log.c b/usr/log.c
index f29b54b3..6e16e7ce 100644
--- a/usr/log.c
+++ b/usr/log.c
@@ -33,6 +33,7 @@
char *log_name;
int log_level = 0;
+struct logarea *la = NULL;
static int log_stop_daemon = 0;
static void (*log_func)(int prio, void *priv, const char *fmt, va_list ap);
diff --git a/usr/log.h b/usr/log.h
index 486a08ea..c548791e 100644
--- a/usr/log.h
+++ b/usr/log.h
@@ -64,7 +64,7 @@ struct logarea {
union semun semarg;
};
-struct logarea *la;
+extern struct logarea *la;
extern int log_init(char *program_name, int size,
void (*func)(int prio, void *priv, const char *fmt, va_list ap),
|