[llvm-dev] core dump when upgraded from llvm 3.5 to llvm 3.8.1

Minqi Zhou via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 8 10:32:32 PDT 2016


Dear LLVM Guys:

These days, I run into a big problem after I upgraded llvm version from
3.5 to 3.8.1. I have digged it for one week already, but failed to fix
it.
 
When using the version 3.5, I use the JIT, but after upgrade to version
3.8.1, I do need to use the MCJIT.
I also changed the code base to add:
  llvm::InitializeNativeTargetAsmPrinter();
  llvm::InitializeNativeTargetAsmParser();
and use getFunctionAddress() instead of getPointerToFunction();

However, it code dumps when running the EE->runFunciton();

I also the run the example HwoToUseJIT in the example dictionary, and
gets the same results. 
It shows as follows:

We just constructed this LLVM module:

; ModuleID = 'test'

define i32 @add1(i32 %AnArg) {
EntryBlock:
  %0 = add i32 1, %AnArg
  ret i32 %0
}

define i32 @foo() {
EntryBlock:
  %0 = tail call i32 @add1(i32 10)
  ret i32 %0
}


Running foo: 
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7ff5010 in foo ()
(gdb) where
#0  0x00007ffff7ff5010 in foo ()
#1  0x00000000016278f0 in llvm::MCJIT::runFunction(llvm::Function*,
llvm::ArrayRef<llvm::GenericValue>) ()
#2  0x0000000000b5a497 in Tests::JITadd (this=0x7fffffffd310)
    at ../../tests/Test_llvm.cpp:194
#3  0x0000000000b47520 in llvmGen (inputFile=..., 
    optionLine="llvmgen fun_jit_add", 
    position=@0x7fffffffd5f8: 18446744073709551615)
at ../tests/Harness.cpp:619
#4  0x0000000000b41e95 in main (argc=2, argv=0x7fffffffd7b8)
    at ../tests/Harness.cpp:48


Is there anything missed when I upgrade the llvm version to 3.8 and
using MCJIT? Do I need to change the Makefile a little bit? Thanks.

-- 
Best Regards!
                                                           Dr.Minqi Zhou

Software Engineering Institute
Institute of Massive Computing
East China Normal University, Shanghai, China 200062
Tel/Fax: +86-21-62235022
Email: mqzhou at sei dot ecnu dotedu dot cn









More information about the llvm-dev mailing list