Hello.

I'm working on adding support for following module-level inline asm in KLEE:

module asm ".weak foo"
module asm ".equ foo, foo_stub"

@foo = external global i32
@foo_stub = global i32 0

I've added code to KModule to parse such asm statements and do
@foo->replaceAllUsesWith(@foo_stub). However, it turned out that KLEE
doesn't link a bitcode module containing definition of @foo_stub, because
it uses "smart" linking procedure that decides that the module is "unused"
and there is no point linking it.

Before hacking on GetAllUndefinedSymbols() from ModuleUtil.cpp I checked
what's current state of Linker in LLVM itself, since GetAllUndefinedSymbols
was borrowed from there. It turned out, that there is no such function
anymore.

Why can't we just use plain LLVM Linker class to linker .bca contents?
_______________________________________________
klee-dev mailing list
[email protected]
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

Reply via email to