<div dir="ltr"><div dir="ltr"><div>Hello, </div><div><br></div><div>I need help in passing global string variable to runtime. This is how I have created a global variable and passed to the runtime -</div><div><br></div><div>```</div><div>Constant *fname = ConstantDataArray::getString(M->getContext(),"hi", true);</div><div>  Value *FBloc = new GlobalVariable(*M, fname->getType(), true, GlobalValue::InternalLinkage, fname, "fBloc");</div><div> </div><div> FBloc->getType()->dump();                                                                                                     </div><div> BitCastInst* BCToAddr = new BitCastInst(FBloc, PointerType::getUnqual(Type::getInt8Ty(M->getContext())),"", First);</div><div>  FuncInit = M->getOrInsertFunction("funcInit", VoidTy, PtrVoidTy);</div><div>  IRB.CreateCall(FuncInit, {BCToAddr});```</div><div><br></div><div>Unfortunately, runtime gets null pointer</div><div><br></div><div>```</div><div>extern "C" void funcInit(void *fName){</div><div> </div><div>  std::cout<<"******funcInit*****"<<(char *)fName;   </div><div><br></div><div><br></div><div>Breakpoint 1, funcInit (fName=0x0) at handleReal.cpp:66</div><div>66    extern "C" void funcInit(void *fName){</div><div>(gdb)</div><div><br></div><div>``` </div></div></div>