[LLVMdev] "lazy symbol binding failed" with dynamically loaded pass in opt
Julian Oppermann
oppermann at esa.informatik.tu-darmstadt.de
Sat Apr 19 11:29:40 PDT 2014
Hi Duncan, Dear List,
Am 19.04.2014 um 00:32 schrieb Duncan P. N. Exon Smith <dexonsmith at apple.com>:
> Are you using the same configure line on both Linux and Darwin?
yes, just a bare ./configure.
> What build system are you using? (cmake vs. configure)
The configure/make system.
> Is it the same build system you were using on Linux?
Yes.
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.
More information about the llvm-dev
mailing list