Hi Stefan, I think this is fixed by Peter's commit here: http://llvm.org/viewvc/llvm-project?view=rev&revision=106800
Can you confirm that? - Daniel On Sat, Jun 19, 2010 at 4:37 PM, Stefan Bucur <stefan.bucur at epfl.ch> wrote: > Hi, > > I created an attachment on the bug page that seems to solve the failed > assertion problem. It would be great if you had a look and see if > there is anything wrong with the fix: > > http://llvm.org/bugs/show_bug.cgi?id=6171#c5 > > Thanks, > Stefan > > On Sat, May 15, 2010 at 6:56 PM, Daniel Dunbar <daniel.dunbar at gmail.com> > wrote: >> Yes, it looks the same. I should be able to get to this in a couple weeks, >> ping me if you don't hear anything. >> >> ?- Daniel >> >> >> On May 13, 2010, at 16:55, bgarvin at cse.unl.edu wrote: >> >>> Daniel, >>> >>> The switch statement in getWidthForLLVMType(llvm::Type t) is seeing >>> t->getTypeID() >>> as 10, which LLVM's Type.h maps to llvm::Type::StructTyID. ?That leads me >>> to suspect that I am seeing http://llvm.org/bugs/show_bug.cgi?id=6171. >>> I'll see what I can do to contribute to this bug report. >>> >>> Thanks, >>> Brady >>> >>>> Hi Brady, >>>> >>>> The -load option is indeed the right path. >>>> >>>> The assertion you are hitting is probably something to do with an LLVM >>>> type KLEE doesn't have support for, most likely some kind of vector >>>> type. If you can get a small test case, please file a bug, it might >>>> not be too hard to fix. >>>> >>>> - Daniel >>>> >>>> On Tue, May 11, 2010 at 12:03 PM, ?<bgarvin at cse.unl.edu> wrote: >>>>> Hi, >>>>> >>>>> I'm trying to use klee on a subject that makes calls to the GMP and MPFR >>>>> libraries. ?These libraries use a lot of inline assembly, but I can >>>>> guarantee that their functions' arguments will always be concrete. >>>>> Therefore, I hoped to build GMP and MPFR as shared objects for x86_64 >>>>> and >>>>> make them available to KLEE via the -load option. >>>>> >>>>> However, KLEE nonetheless complains about undefined references to >>>>> __gmp_version, __gmpz_add, etc. ?It subsequently aborts with an >>>>> assertion >>>>> violation: >>>>> >>>>> Context.cpp:41: static unsigned int >>>>> klee::Expr::getWidthForLLVMType(const >>>>> llvm::Type*): Assertion `0 && "non-primitive type argument to >>>>> Expr::getWidthForLLVMType()\n"' failed, >>>>> >>>>> which may be unrelated. ?As a sanity check, nm reports all of these >>>>> symbols appropriately defined and in their proper sections. >>>>> >>>>> Either I have misunderstood the -load option, or I have missed a step in >>>>> getting KLEE to find the symbols in the shared objects. ?My googling >>>>> thus >>>>> far hasn't turned up much, except that KLEE may use libffi. ?Any >>>>> corrections to my understanding or pointers to documentation would be >>>>> much >>>>> appreciated. >>>>> >>>>> Thanks, >>>>> Brady J. Garvin >>>>> >>>>> >>>>> _______________________________________________ >>>>> klee-dev mailing list >>>>> klee-dev at keeda.stanford.edu >>>>> http://keeda.Stanford.EDU/mailman/listinfo/klee-dev >>>>> >>>> >>> >>> >>> _______________________________________________ >>> klee-dev mailing list >>> klee-dev at keeda.stanford.edu >>> http://keeda.Stanford.EDU/mailman/listinfo/klee-dev >> _______________________________________________ >> klee-dev mailing list >> klee-dev at keeda.stanford.edu >> http://keeda.Stanford.EDU/mailman/listinfo/klee-dev >> >
