Robert L. Bocchino Jr.
2006-Jan-06 20:25 UTC
[LLVMdev] Dynamically loaded passes under OS X
Hi, In the past, I haven't been able to get dynamically loaded passes to work under OS X. When I follow the instructions in the LLVM documentation, everything works fine for Linux, but OS X has a different way of handling dynamic loading, and the files that the dynamic loader is trained to look for don't exist. In the past, I've worked around this by just linking all my passes into opt, but this isn't going to work for me anymore. So how do I get dynamically loaded passes to work on the Mac? Chris, you probably know the answer to this since you're a Mac user now. Rob Robert L. Bocchino Jr. Ph.D. Student University of Illinois, Urbana-Champaign -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060106/eff816f4/attachment.html>
The answer lies in the lib/System/ltdl.c which is the dynamic loader used by LLVM for cross platform dynamic loading. If there are paths or files that we're not looking for on OS/X then that needs to be fixed. Could you be a little more specific about what failures you are experiencing? Reid. On Fri, 2006-01-06 at 14:25 -0600, Robert L. Bocchino Jr. wrote:> Hi, > > > In the past, I haven't been able to get dynamically loaded passes to > work under OS X. When I follow the instructions in the LLVM > documentation, everything works fine for Linux, but OS X has a > different way of handling dynamic loading, and the files that the > dynamic loader is trained to look for don't exist. In the past, I've > worked around this by just linking all my passes into opt, but this > isn't going to work for me anymore. > > > So how do I get dynamically loaded passes to work on the Mac? Chris, > you probably know the answer to this since you're a Mac user now. > > > Rob > > > > Robert L. Bocchino Jr. > > Ph.D. Student > > University of Illinois, Urbana-Champaign > > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060106/7cb0ff08/attachment.sig>
Robert L. Bocchino Jr.
2006-Jan-06 22:53 UTC
[LLVMdev] Dynamically loaded passes under OS X
When I tried this a while back, the .so file wasn't being built on Mac OS X. Now it looks like it is. I got dynamic loading to work following the instructions in http://llvm.cs.uiuc.edu/docs/ WritingAnLLVMPass.html. However, there was a typo in the instructions (it should say LOADABLE_MODULE = 1), and I fixed that and committed it. I also fixed the sample/lib/sample Makefile to conform to these instructions. So problem solved, thanks. Rob On Jan 6, 2006, at 3:29 PM, Reid Spencer wrote:> The answer lies in the lib/System/ltdl.c which is the dynamic loader > used by LLVM for cross platform dynamic loading. If there are > paths or > files that we're not looking for on OS/X then that needs to be fixed. > Could you be a little more specific about what failures you are > experiencing? > > Reid. > > On Fri, 2006-01-06 at 14:25 -0600, Robert L. Bocchino Jr. wrote: >> Hi, >> >> >> In the past, I haven't been able to get dynamically loaded passes to >> work under OS X. When I follow the instructions in the LLVM >> documentation, everything works fine for Linux, but OS X has a >> different way of handling dynamic loading, and the files that the >> dynamic loader is trained to look for don't exist. In the past, I've >> worked around this by just linking all my passes into opt, but this >> isn't going to work for me anymore. >> >> >> So how do I get dynamically loaded passes to work on the Mac? Chris, >> you probably know the answer to this since you're a Mac user now. >> >> >> Rob >> >> >> >> Robert L. Bocchino Jr. >> >> Ph.D. Student >> >> University of Illinois, Urbana-Champaign >> >> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdevRobert L. Bocchino Jr. Ph.D. Student, Computer Science University of Illinois, Urbana-Champaign -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060106/d5f552cf/attachment.html>