Ignore this at your own peril. I have committed changes to CVS that introduce a fully functional llvm-ar tool, and a new lib/Linker library that uses the archive's symbol table to hasten linking. However, this implies that archives read by the LLVM tools *must* have an LLVM symbol table in them. This happens automatically for the crtend.a library, but not for the runtime libraries produced by the C/C++ Front End. In order to get your programs to link again, you *must* do the following *after* rebuilding with the latest CVS sources: cd $CFEINSTALL cd lib llvm-ranlib libiberty.a llvm-ranlib libstdc++.a llvm-ranlib libsupc++.a llvm-ranlib gcc/*/*/libgcc.a llvm-ranlib gcc/*/*/libgcov.a This will ensure that the archives built by CFE will have LLVM style bytecode symbol tables in them. Reid. -------------- 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/20041114/8c922a3c/attachment.sig>
I forgot to mention .. This is a temporary requirement. I am working on changes so that an archive file that doesn't have a symbol table can be linked successfully, albeit a LOT slower. Reid. On Sun, 2004-11-14 at 15:41, Reid Spencer wrote:> Ignore this at your own peril. > > I have committed changes to CVS that introduce a fully functional > llvm-ar tool, and a new lib/Linker library that uses the archive's > symbol table to hasten linking. However, this implies that archives read > by the LLVM tools *must* have an LLVM symbol table in them. This happens > automatically for the crtend.a library, but not for the runtime > libraries produced by the C/C++ Front End. In order to get your programs > to link again, you *must* do the following *after* rebuilding with the > latest CVS sources: > > cd $CFEINSTALL > cd lib > llvm-ranlib libiberty.a > llvm-ranlib libstdc++.a > llvm-ranlib libsupc++.a > llvm-ranlib gcc/*/*/libgcc.a > llvm-ranlib gcc/*/*/libgcov.a > > This will ensure that the archives built by CFE will have LLVM style > bytecode symbol tables in them. > > Reid. > > ______________________________________________________________________ > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://mail.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/20041114/64146aa1/attachment.sig>
This problem has been fixed. It is now possible to link against archives created with ar (instead of llvm-ar). Doing so will slow down the link, but at least it works. The instructions below requesting use of llvm-ranlib are not *necessary* but they are *advised*. Reid. On Sun, 2004-11-14 at 16:00, Reid Spencer wrote:> I forgot to mention .. > > This is a temporary requirement. I am working on changes so that an > archive file that doesn't have a symbol table can be linked > successfully, albeit a LOT slower. > > Reid. > > On Sun, 2004-11-14 at 15:41, Reid Spencer wrote: > > Ignore this at your own peril. > > > > I have committed changes to CVS that introduce a fully functional > > llvm-ar tool, and a new lib/Linker library that uses the archive's > > symbol table to hasten linking. However, this implies that archives read > > by the LLVM tools *must* have an LLVM symbol table in them. This happens > > automatically for the crtend.a library, but not for the runtime > > libraries produced by the C/C++ Front End. In order to get your programs > > to link again, you *must* do the following *after* rebuilding with the > > latest CVS sources: > > > > cd $CFEINSTALL > > cd lib > > llvm-ranlib libiberty.a > > llvm-ranlib libstdc++.a > > llvm-ranlib libsupc++.a > > llvm-ranlib gcc/*/*/libgcc.a > > llvm-ranlib gcc/*/*/libgcov.a > > > > This will ensure that the archives built by CFE will have LLVM style > > bytecode symbol tables in them. > > > > Reid. > > > > ______________________________________________________________________ > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev > > ______________________________________________________________________ > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://mail.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/20041114/5c9331b1/attachment.sig>