Hi, It's still not working for me. Could this be because I'm using a version of LLVM that's too new? I've tried LLVM 2.8 and 3.0 and both aren't working. Sorry if this has been asked before, but what's the recommended version of LLVM to use with klee from trunk?
Thanks, Jiaqi On Wed, Feb 22, 2012 at 1:55 PM, Paul Marinescu <[email protected]> wrote: > These intrinsics were added to LLVM after KLEE was released. Furthermore, you > can avoid them by disabling the instruction combine pass (or --optimize=false > altogether). > > Paul > > > On 22 Feb 2012, at 05:35, Jiaqi Tan wrote: > >> Hi, >> >> I poked around a bit more. In general, does KLEE not support all LLVM >> intrinsics? Or does KLEE only not support certain intrinsics? >> >> I would believe that KLEE in general is able to support unsigned >> addition? I have encountered errors for unsupported >> llvm.uadd.with.overflow.i64 and .i32, so I'm puzzled about why that is >> the case. >> >> Thanks, >> Jiaqi >> >> On Wed, Feb 22, 2012 at 6:03 AM, Jiaqi Tan <[email protected]> wrote: >>> Hi, >>> >>> Thanks for the pointer. >>> >>> As for this error message: >>> WARNING: this target does not support the llvm.stacksave intrinsic. >>> LLVM ERROR: Code generator does not support intrinsic function >>> 'llvm.uadd.with.overflow.i64'! >>> >>> Is this also caused by unsupported inline asm? Apart from the __asm__ >>> calls, are there any other C constructs that might generate inlined >>> asm? >>> >>> Thanks, >>> Jiaqi >>> >>> On Wed, Feb 22, 2012 at 1:02 AM, Paul Marinescu >>> <[email protected]> wrote: >>>> The error can be caused by an inline asm instruction in your program (e.g. >>>> call i32 asm ...). KLEE does not support them. >>>> >>>> Paul >>>> >>>> >>>> On 21/02/12 09:46, Jiaqi Tan wrote: >>>>> >>>>> Hi, >>>>> >>>>> I did some poking around the KLEE source, and found that this error is >>>>> being generated due to the assertion here (code segment included): >>>>> >>>>> ===== begin code ===== >>>>> const Cell& Executor::eval(KInstruction *ki, unsigned index, >>>>> ExecutionState&state) const { >>>>> >>>>> assert(index< ki->inst->getNumOperands()); >>>>> int vnumber = ki->operands[index]; >>>>> >>>>> if (vnumber == -1) { >>>>> std::cout<< "Assert about to fail: #operands:"<< >>>>> ki->inst->getNumOperands()<< " index:"<< index<< " vnumber:"<< >>>>> vnumber<< std::endl; >>>>> } >>>>> >>>>> assert(vnumber != -1&& >>>>> "Invalid operand to eval(), not a value or constant!"); >>>>> ===== end code ===== >>>>> >>>>> I suppose -1 is used as a special flag value here? Because later on, >>>>> (- vnumber - 2) is used to grab a constant 3 lines down in the code. >>>>> What does the operands array in KInstruction store, and where is it >>>>> populated? >>>>> >>>>> Thanks! >>>>> Jiaqi >>>>> >>>>> On Mon, Feb 20, 2012 at 1:52 PM, Jiaqi Tan<[email protected]> wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> I'm trying to run BusyBox, and I'm getting this error message: >>>>>> >>>>>> KLEE: WARNING: executable has module level assembly (ignoring) >>>>>> KLEE: WARNING: calling external: syscall(54, 0, 21505, 231590832) >>>>>> KLEE: WARNING: calling __user_main with extra arguments. >>>>>> KLEE: WARNING: calling external: __xstat64(3, 231196304, 231603064) >>>>>> klee: Executor.cpp:1001: const klee::Cell& >>>>>> klee::Executor::eval(klee::KInstruction*, unsigned int, >>>>>> klee::ExecutionState&) const: Assertion `vnumber != -1&& "Invalid >>>>>> >>>>>> operand to eval(), not a value or constant!"' failed. >>>>>> 0 klee 0x089a79f8 >>>>>> Aborted >>>>>> >>>>>> Does anybody have any idea where the source of the problem might be? >>>>>> I'm not quite sure where to get started to figure out where the >>>>>> problem is. Is this due to a compilation or linking problem due to >>>>>> missing code or libraries? >>>>>> >>>>>> Thanks! >>>>>> Jiaqi Tan >>>>> >>>>> _______________________________________________ >>>>> klee-dev mailing list >>>>> [email protected] >>>>> http://keeda.Stanford.EDU/mailman/listinfo/klee-dev >>>> >>>> > _______________________________________________ klee-dev mailing list [email protected] http://keeda.Stanford.EDU/mailman/listinfo/klee-dev
