From f4f4c2f8d2ed0051812b57c0d047895b7f8e4da7 Mon Sep 17 00:00:00 2001 From: Jameson Nash Date: Fri, 29 Nov 2013 12:47:46 -0500 Subject: [PATCH] fix some types and nulls checking in previous commit --- src/ccall.cpp | 4 +++- src/codegen.cpp | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ccall.cpp b/src/ccall.cpp index 67a2c3f1414ce..f799e6ee47f66 100644 --- a/src/ccall.cpp +++ b/src/ccall.cpp @@ -430,7 +430,7 @@ static Value *emit_cglobal(jl_value_t **args, size_t nargs, jl_codectx_t *ctx) else symaddr = sys::DynamicLibrary::SearchForAddressOfSymbol(sym.f_name); if (imaging_mode) { - PointerType *lrtp = PointerType::get(lrt,0); + PointerType *lrtp = (PointerType*)lrt; Constant *nullval = ConstantPointerNull::get(lrtp); GlobalValue *llvmgv = new GlobalVariable(*jl_Module, lrtp, false, GlobalVariable::PrivateLinkage, @@ -448,6 +448,7 @@ static Value *emit_cglobal(jl_value_t **args, size_t nargs, jl_codectx_t *ctx) libptr = builder.CreateCall2(jldlopen_func, ConstantPointerNull::get((PointerType*)T_pint8), ConstantInt::get(T_int32,0)); } res = builder.CreateCall2(jldlsym_func, libptr, builder.CreateGlobalStringPtr(sym.f_name)); + null_pointer_check(res,ctx); res = builder.CreatePointerCast(res, lrtp); builder.CreateStore(res, llvmgv); builder.CreateBr(cglobal_bb); @@ -701,6 +702,7 @@ static Value *emit_ccall(jl_value_t **args, size_t nargs, jl_codectx_t *ctx) libptr = builder.CreateCall2(jldlopen_func, ConstantPointerNull::get((PointerType*)T_pint8), ConstantInt::get(T_int32,0)); } llvmf = builder.CreateCall2(jldlsym_func, libptr, builder.CreateGlobalStringPtr(f_name)); + null_pointer_check(llvmf,ctx); llvmf = builder.CreatePointerCast(llvmf,funcptype); builder.CreateStore(llvmf, llvmgv); builder.CreateBr(ccall_bb); diff --git a/src/codegen.cpp b/src/codegen.cpp index 827f14aa9ce87..208195e5bc1c5 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -3491,8 +3491,8 @@ static void init_julia_llvm_env(Module *m) jldlsym_func = Function::Create(FunctionType::get(T_pint8, dlsym_args, false), Function::ExternalLinkage, - "jl_dlsym", jl_Module); - jl_ExecutionEngine->addGlobalMapping(jldlsym_func, (void*)&jl_dlsym); + "jl_dlsym_e", jl_Module); + jl_ExecutionEngine->addGlobalMapping(jldlsym_func, (void*)&jl_dlsym_e); // set up optimization passes FPM = new FunctionPassManager(jl_Module);