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

Jason Holajter jholajter at arxan.com
Mon Sep 30 19:06:35 PDT 2013

Hi Rafael,

Thank you for the response. The updated behavior to match the standard
symbol table makes sense.

Do you have any estimate for when the behavior describe below might be


On 9/30/13 3:57 PM, "Rafael EspĂ­ndola" <rafael.espindola at gmail.com> wrote:

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