[LLVMdev] "lazy symbol binding failed" with dynamically loaded pass in opt

Duncan P. N. Exon Smith dexonsmith at apple.com
Sat Apr 19 16:46:16 PDT 2014


On 2014 Apr 19, at 11:29, Julian Oppermann <oppermann at esa.informatik.tu-darmstadt.de> wrote:

> In the meantime, I had a closer look on which particular symbol was missing. It turned out that the llvm::Calculate template (used by DominatorTreeBase::recalculate, which I call in my pass) is declared in llvm/Analysis/Dominators.h, but is implemented in DominatorInternals.h. *) When I include that header directly as a workaround, my pass works fine.
> 
> Cheers,
> Julian
> 
> *) I forgot to mention that I'm still using the release_33 branch; in the trunk, the dominator tree computation code has been restructured, and no longer causes this linker problem in my example.

Great!  So it sounds like the bug is fixed.  Also good that
you've found a workaround.

Cheers,
Duncan



More information about the llvm-dev mailing list