1From 9a46462f08535e946d97fd40c79229a7ee8b7336 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 17 Aug 2020 00:00:00 -0700
4Subject: [PATCH] Fix build with -fno-common
5
6Mark the declarations with extern where needed in header files
7
8Upstream-Status: Pending
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 src/ckpt/agent/cpa_cb.h   |  2 +-
13 src/ckpt/ckptd/cpd_init.h |  2 +-
14 src/evt/agent/eda.h       |  2 +-
15 src/evt/evtd/eds.h        |  2 +-
16 src/evt/evtd/eds_amf.c    |  2 ++
17 src/evt/evtd/eds_amf.h    |  2 +-
18 src/evt/evtd/eds_cb.h     |  2 +-
19 src/imm/immd/immd.h       |  2 +-
20 src/lck/lckd/gld_dl_api.h |  4 ++--
21 src/lck/lcknd/glnd_cb.h   |  4 ++--
22 src/mds/mds_core.h        | 34 +++++++++++++++++++---------------
23 src/mds/mds_dt_tcp.c      |  2 ++
24 src/mds/mds_dt_tcp.h      |  2 +-
25 src/mds/mds_main.c        |  2 +-
26 src/msg/msgnd/mqnd_db.h   |  2 +-
27 15 files changed, 37 insertions(+), 29 deletions(-)
28
29diff --git a/src/ckpt/agent/cpa_cb.h b/src/ckpt/agent/cpa_cb.h
30index ac48c6c..d633583 100644
31--- a/src/ckpt/agent/cpa_cb.h
32+++ b/src/ckpt/agent/cpa_cb.h
33@@ -119,7 +119,7 @@ typedef struct cpa_cb {
34
35 } CPA_CB;
36
37-uint32_t gl_cpa_hdl;
38+extern uint32_t gl_cpa_hdl;
39
40 typedef struct cpa_prcess_evt_sync {
41   NCS_QELEM qelem;
42diff --git a/src/ckpt/ckptd/cpd_init.h b/src/ckpt/ckptd/cpd_init.h
43index 0c02642..cf3466b 100644
44--- a/src/ckpt/ckptd/cpd_init.h
45+++ b/src/ckpt/ckptd/cpd_init.h
46@@ -33,7 +33,7 @@
47 #include <saAmf.h>
48 #include "cpd_cb.h"
49
50-uint32_t gl_cpd_cb_hdl;
51+extern uint32_t gl_cpd_cb_hdl;
52
53 /* Macro to get the component name for the component type */
54 #define m_CPD_TASKNAME "CPD"
55diff --git a/src/evt/agent/eda.h b/src/evt/agent/eda.h
56index 4d1991c..138c910 100644
57--- a/src/evt/agent/eda.h
58+++ b/src/evt/agent/eda.h
59@@ -39,7 +39,7 @@
60 #include "base/logtrace.h"
61
62 /* EDA CB global handle declaration */
63-uint32_t gl_eda_hdl;
64+extern uint32_t gl_eda_hdl;
65
66 /* EDA Default MDS timeout value */
67 #define EDA_MDS_DEF_TIMEOUT 100
68diff --git a/src/evt/evtd/eds.h b/src/evt/evtd/eds.h
69index bc9c429..3545d77 100644
70--- a/src/evt/evtd/eds.h
71+++ b/src/evt/evtd/eds.h
72@@ -72,6 +72,6 @@
73 #include "base/daemon.h"
74
75 /* EDS CB global handle declaration */
76-uint32_t gl_eds_hdl;
77+extern uint32_t gl_eds_hdl;
78
79 #endif  // EVT_EVTD_EDS_H_
80diff --git a/src/evt/evtd/eds_amf.c b/src/evt/evtd/eds_amf.c
81index 97b71a5..adebf0c 100644
82--- a/src/evt/evtd/eds_amf.c
83+++ b/src/evt/evtd/eds_amf.c
84@@ -30,6 +30,8 @@ stuff.
85 #include "eds.h"
86 #include "eds_dl_api.h"
87
88+struct next_HAState nextStateInfo;
89+
90 /* HA AMF statemachine & State handler definitions */
91
92 /****************************************************************************
93diff --git a/src/evt/evtd/eds_amf.h b/src/evt/evtd/eds_amf.h
94index e9aeaa6..f9803b4 100644
95--- a/src/evt/evtd/eds_amf.h
96+++ b/src/evt/evtd/eds_amf.h
97@@ -49,7 +49,7 @@ uint32_t eds_quiesced_state_handler(EDS_CB *cb, SaInvocationT invocation);
98 struct next_HAState {
99   uint8_t nextState1;
100   uint8_t nextState2;
101-} nextStateInfo; /* AMF HA state can transit to a maximum of the two defined
102+}; /* AMF HA state can transit to a maximum of the two defined
103                     states */
104
105 #define VALIDATE_STATE(curr, next)                  \
106diff --git a/src/evt/evtd/eds_cb.h b/src/evt/evtd/eds_cb.h
107index c127ead..19c48cd 100644
108--- a/src/evt/evtd/eds_cb.h
109+++ b/src/evt/evtd/eds_cb.h
110@@ -40,7 +40,7 @@
111 #include "base/ncssysf_tmr.h"
112
113 /* global variables */
114-uint32_t gl_eds_hdl;
115+extern uint32_t gl_eds_hdl;
116
117 struct eda_reg_list_tag;
118
119diff --git a/src/imm/immd/immd.h b/src/imm/immd/immd.h
120index 7dc1da6..bab3945 100644
121--- a/src/imm/immd/immd.h
122+++ b/src/imm/immd/immd.h
123@@ -42,7 +42,7 @@
124 #include "immd_sbedu.h"
125 #include "base/ncs_mda_pvt.h"
126
127-IMMD_CB *immd_cb;
128+extern IMMD_CB *immd_cb;
129
130 extern uint32_t initialize_for_assignment(IMMD_CB *cb, SaAmfHAStateT ha_state);
131
132diff --git a/src/lck/lckd/gld_dl_api.h b/src/lck/lckd/gld_dl_api.h
133index 6476a71..3a67fd1 100644
134--- a/src/lck/lckd/gld_dl_api.h
135+++ b/src/lck/lckd/gld_dl_api.h
136@@ -33,7 +33,7 @@
137 #include "base/ncsgl_defs.h"
138 #include "base/ncs_lib.h"
139
140-uint32_t gl_gld_hdl;
141-uint32_t gld_lib_req(NCS_LIB_REQ_INFO *req_info);
142+extern uint32_t gl_gld_hdl;
143+extern uint32_t gld_lib_req(NCS_LIB_REQ_INFO *req_info);
144
145 #endif  // LCK_LCKD_GLD_DL_API_H_
146diff --git a/src/lck/lcknd/glnd_cb.h b/src/lck/lcknd/glnd_cb.h
147index 3b82f60..77a1f88 100644
148--- a/src/lck/lcknd/glnd_cb.h
149+++ b/src/lck/lcknd/glnd_cb.h
150@@ -28,8 +28,8 @@ extern "C" {
151 #endif
152
153 /* global variables */
154-uint32_t gl_glnd_hdl;
155-NCSCONTEXT gl_glnd_task_hdl;
156+extern uint32_t gl_glnd_hdl;
157+extern NCSCONTEXT gl_glnd_task_hdl;
158
159 /* macros for the global varibales */
160 #define m_GLND_RETRIEVE_GLND_CB_HDL gl_glnd_hdl
161diff --git a/src/mds/mds_core.h b/src/mds/mds_core.h
162index dad62cd..ed69d3a 100644
163--- a/src/mds/mds_core.h
164+++ b/src/mds/mds_core.h
165@@ -26,6 +26,10 @@
166 #ifndef MDS_MDS_CORE_H_
167 #define MDS_MDS_CORE_H_
168
169+#ifndef EXTERN
170+#define EXTERN extern
171+#endif
172+
173 #include <pthread.h>
174 #include "base/ncsgl_defs.h"
175 #include "mds/mds_papi.h"
176@@ -600,65 +604,65 @@ extern "C" {
177 /* ******************************************** */
178
179 /* Initialization of MDTM Module */
180-uint32_t (*mds_mdtm_init)(NODE_ID node_id, uint32_t *mds_tipc_ref);
181+EXTERN uint32_t (*mds_mdtm_init)(NODE_ID node_id, uint32_t *mds_tipc_ref);
182
183 /* Destroying the MDTM Module*/
184-uint32_t (*mds_mdtm_destroy)(void);
185+EXTERN uint32_t (*mds_mdtm_destroy)(void);
186
187-uint32_t (*mds_mdtm_send)(MDTM_SEND_REQ *req);
188+EXTERN uint32_t (*mds_mdtm_send)(MDTM_SEND_REQ *req);
189
190 /* SVC Install */
191-uint32_t (*mds_mdtm_svc_install)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id,
192+EXTERN uint32_t (*mds_mdtm_svc_install)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id,
193                                  NCSMDS_SCOPE_TYPE install_scope,
194                                  V_DEST_RL role, MDS_VDEST_ID vdest_id,
195                                  NCS_VDEST_TYPE vdest_policy,
196                                  MDS_SVC_PVT_SUB_PART_VER mds_svc_pvt_ver);
197
198 /* SVC Uninstall */
199-uint32_t (*mds_mdtm_svc_uninstall)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id,
200+EXTERN uint32_t (*mds_mdtm_svc_uninstall)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id,
201                                    NCSMDS_SCOPE_TYPE install_scope,
202                                    V_DEST_RL role, MDS_VDEST_ID vdest_id,
203                                    NCS_VDEST_TYPE vdest_policy,
204                                    MDS_SVC_PVT_SUB_PART_VER mds_svc_pvt_ver);
205
206 /* SVC Subscribe */
207-uint32_t (*mds_mdtm_svc_subscribe)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id,
208+EXTERN uint32_t (*mds_mdtm_svc_subscribe)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id,
209                                    NCSMDS_SCOPE_TYPE subscribe_scope,
210                                    MDS_SVC_HDL local_svc_hdl,
211                                    MDS_SUBTN_REF_VAL *subtn_ref_val);
212
213 /*  added svc_hdl */
214 /* SVC Unsubscribe */
215-uint32_t (*mds_mdtm_svc_unsubscribe)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id,
216+EXTERN uint32_t (*mds_mdtm_svc_unsubscribe)(PW_ENV_ID pwe_id, MDS_SVC_ID svc_id,
217                                      NCSMDS_SCOPE_TYPE subscribe_scope,
218                                      MDS_SUBTN_REF_VAL subtn_ref_val);
219
220 /* VDEST Install */
221-uint32_t (*mds_mdtm_vdest_install)(MDS_VDEST_ID vdest_id);
222+EXTERN uint32_t (*mds_mdtm_vdest_install)(MDS_VDEST_ID vdest_id);
223
224 /* VDEST Uninstall */
225-uint32_t (*mds_mdtm_vdest_uninstall)(MDS_VDEST_ID vdest_id);
226+EXTERN uint32_t (*mds_mdtm_vdest_uninstall)(MDS_VDEST_ID vdest_id);
227
228 /* VDEST Subscribe */
229-uint32_t (*mds_mdtm_vdest_subscribe)(MDS_VDEST_ID vdest_id,
230+EXTERN uint32_t (*mds_mdtm_vdest_subscribe)(MDS_VDEST_ID vdest_id,
231                                      MDS_SUBTN_REF_VAL *subtn_ref_val);
232
233 /* VDEST Unsubscribe */
234-uint32_t (*mds_mdtm_vdest_unsubscribe)(MDS_VDEST_ID vdest_id,
235+EXTERN uint32_t (*mds_mdtm_vdest_unsubscribe)(MDS_VDEST_ID vdest_id,
236                                        MDS_SUBTN_REF_VAL subtn_ref_val);
237
238 /* Tx Register (For incrementing the use count) */
239-uint32_t (*mds_mdtm_tx_hdl_register)(MDS_DEST adest);
240+EXTERN uint32_t (*mds_mdtm_tx_hdl_register)(MDS_DEST adest);
241
242 /* Tx Unregister (For decrementing the use count) */
243-uint32_t (*mds_mdtm_tx_hdl_unregister)(MDS_DEST adest);
244+EXTERN uint32_t (*mds_mdtm_tx_hdl_unregister)(MDS_DEST adest);
245
246 /* Node subscription */
247-uint32_t (*mds_mdtm_node_subscribe)(MDS_SVC_HDL svc_hdl,
248+EXTERN uint32_t (*mds_mdtm_node_subscribe)(MDS_SVC_HDL svc_hdl,
249                                     MDS_SUBTN_REF_VAL *subtn_ref_val);
250
251 /* Node unsubscription */
252-uint32_t (*mds_mdtm_node_unsubscribe)(MDS_SUBTN_REF_VAL subtn_ref_val);
253+EXTERN uint32_t (*mds_mdtm_node_unsubscribe)(MDS_SUBTN_REF_VAL subtn_ref_val);
254
255 #ifdef __cplusplus
256 }
257diff --git a/src/mds/mds_dt_tcp.c b/src/mds/mds_dt_tcp.c
258index 4a37246..e73cef4 100644
259--- a/src/mds/mds_dt_tcp.c
260+++ b/src/mds/mds_dt_tcp.c
261@@ -70,6 +70,8 @@ NCS_PATRICIA_TREE mdtm_reassembly_list;
262
263 /* Get the pid of the process */
264 pid_t mdtm_pid;
265+
266+MDTM_TCP_CB *tcp_cb;
267
268 static void mds_mdtm_enc_init(MDS_MDTM_DTM_MSG *init, uint8_t *buff);
269 static uint32_t mdtm_create_rcv_task(void);
270diff --git a/src/mds/mds_dt_tcp.h b/src/mds/mds_dt_tcp.h
271index 1065464..350d534 100644
272--- a/src/mds/mds_dt_tcp.h
273+++ b/src/mds/mds_dt_tcp.h
274@@ -50,7 +50,7 @@ typedef struct mdtm_tcp_cb {
275
276 } MDTM_TCP_CB;
277
278-MDTM_TCP_CB *tcp_cb;
279+extern MDTM_TCP_CB *tcp_cb;
280
281 typedef enum mds_mdtm_dtm_msg_types {
282   MDS_MDTM_DTM_PID_TYPE = 1,
283diff --git a/src/mds/mds_main.c b/src/mds/mds_main.c
284index 0bcb2f9..5671ed3 100644
285--- a/src/mds/mds_main.c
286+++ b/src/mds/mds_main.c
287@@ -20,7 +20,7 @@
288 #endif
289
290 #include "osaf/configmake.h"
291-
292+#define EXTERN
293 /*****************************************************************************
294 ..............................................................................
295
296diff --git a/src/msg/msgnd/mqnd_db.h b/src/msg/msgnd/mqnd_db.h
297index b78024e..fee43e5 100644
298--- a/src/msg/msgnd/mqnd_db.h
299+++ b/src/msg/msgnd/mqnd_db.h
300@@ -33,7 +33,7 @@
301 #include <saClm.h>
302 #include <saImmOi.h>
303 /* Decleration for global variable */
304-uint32_t gl_mqnd_cb_hdl;
305+extern uint32_t gl_mqnd_cb_hdl;
306
307 /* Macros for reading global database */
308 #define m_MQND_STORE_HDL(hdl) (gl_mqnd_cb_hdl = (hdl))
309--
3102.28.0
311
312