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