[klee-dev] libc function "open" is defined in POSIX runtime
Gleb Popov
6yearold at gmail.com
Wed Oct 30 06:37:29 GMT 2019
On Tue, Oct 29, 2019 at 10:05 PM Cadar, Cristian <c.cadar at imperial.ac.uk>
wrote:
> Hi Gleb,
>
> We applied various changes to uclibc to make it work with KLEE, so I
> think taking a look at those patches would help. I don't recall the
> details, but based on a quick search, I think this patch might be
> relevant:
>
> https://github.com/klee/klee-uclibc/commit/7231f48dd8e2f9f15f721a77639d7eeea6efd38f
>
> This PR from Martin might also be useful:
> https://github.com/klee/klee/pull/483
> Look in particular at linkWithMusllibc()
>
> I would welcome changes to KLEE to make it easier to plug in other libc
> implementations.
>
> Best,
> Cristian
>
Thanks for pointers. However, some debugging brought me to a strange loop
in klee::linkModules() function of Module/ModuleUtils.cpp:
while (true) {
...
bool merged = false;
for (auto &module : modules) {
...
linkTwoModules(composite.get(), std::move(module), errorMsg));
}
...
}
If I understand it right, it exits the loop only when there are no
undefined symbols left, but I don't see how linking the same set of modules
over and over again can help if we actually have some missing symbol.
What am I missing there?
> On 26/10/2019 18:50, Gleb Popov wrote:
> > Hello.
> >
> > I'm trying to make KLEE support FreeBSD libc instead of uclibc. When I
> > run KLEE with my libc.bca, I get the following error:
> >
> > error: Linking globals named 'open': symbol multiply defined!
> >
> > It turned out that POSIX runtime contains definition of "open" function,
> > as well as FreeBSD libc do. How to handle this properly?
> >
> > _______________________________________________
> > klee-dev mailing list
> > klee-dev at imperial.ac.uk
> > https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
> >
> _______________________________________________
> klee-dev mailing list
> klee-dev at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
>
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the klee-dev
mailing list