[LLVMdev] llvm-ar does not generates symbol table for contained bitcode files

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Sep 30 12:57:57 PDT 2013

On 19 September 2013 11:59, Jason Holajter <jholajter at arxan.com> wrote:
> Hi,
> The behavior of llvm-ar appears to have changed such that the archive symbol
> table no longer contains symbols contained within bitcode modules in the
> archive. This behavior appears to have been changed with revision 184083
> when the internal implementation of llvm-ar was changed from
> lib/Archive/Archive.cpp to lib/object/Archive.cpp. This seems to occur
> because ObjectFile::createObjectFile() does not support creating objects of
> bitcode type and thus llvm-ar cannot read them to retrieve the symbol
> information.
> Is there a plan to add support back to llvm-ar to generate symbol table
> information when archiving bitcode files?

Yes. I am sorry for the current state. Support for bitcode format will
be added back. The will be a few differences from before:

* It will use a "standard" symbol table instead of having a LLVM only
symbol table.
* The final name will be used. So on MachO you will see _foo, not foo.

In summary, the bitcode files in the .a archive will behave much more
like regular object files, making better suited for LTO.


More information about the llvm-dev mailing list