Hi,

> On 24. Apr 2023, at 10:53, LONGUET Delphine 
> <delphine.long...@thalesgroup.com> wrote:
> 
> 
> I am trying to execute Klee on a code using mqueue.h and despite the 
> -posix-runtime and -libc=uclibc options, functions mq_open, mq_close, etc, 
> remain "undefined references". I can see that there actually are 
> implementations of these functions in /klee-uclibc/librt/, but they don't 
> seem to exist in klee-uclibc.bca which is used during the execution of Klee.

With `-libc=uclibc`, only  `klee-uclibc/lib/libc.a` is linked/loaded (it’s an 
archive containing respective bitcode files). Functions like `mq_*` are part of 
`lib/librt.a`. This library is not loaded which is unfortunately not that 
obvious.
Can you try to link/load the library using 
`--link-llvm-lib=/path/to/klee-uclibc/lib/librt.a` as an additional argument 
for KLEE? The library should contain the necessary additional bitcode files.

> In a more general way, how can I know what exactly is in klee-uclibc?
With `ar t klee-uclibc/lib/libc.a` the files that are part of the library are 
listed. Their names mirror the source code files.

Let me know if that works.

Best,
Martin
_______________________________________________
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

Reply via email to