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
>>
>

Reply via email to