[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.

Cheers,
Rafael



More information about the llvm-dev mailing list