> On May 13, 2016, at 3:56 PM, Duncan P. N. Exon Smith <dexonsm...@apple.com> 
> wrote:
> 
> Is this something that you need the linker to treat as "used", or just 
> something you don't want the compiler to drop?  If the latter, 
> @llvm.compiler.used seems more appropriate.

Bitcode is actually not really used by the compiler during compilation and 
shouldn't really used by any part of the code. llvm.compiler.used then.

New patch.

Attachment: 0001-Fix-embed-bitcode-linkage-type.patch
Description: Binary data


Steven

> 
>> On 2016-May-13, at 14:01, Steven Wu <steve...@apple.com> wrote:
>> 
>> Attach a patch using private linkage type and adding to llvm.used. I have to 
>> recreate llvm.used when embedding bitcode. I don't really like it but I 
>> don't have better solutions.
>> Few other options:
>> 1. Not allowing re-embedded bitcode will simplify the code a bit but not a 
>> lot.
>> 2. Create a new "llvm.*.used" variable in llvm.metadata section.
>> 3. Teach optimizer do not optimize away llvm.* variables.   
>> 
>> <0001-Fix-embed-bitcode-linkage-type.patch>
>> 
>> Steven
>> 
>>> On May 13, 2016, at 10:10 AM, Rafael Espíndola <rafael.espind...@gmail.com> 
>>> wrote:
>>> 
>>> On 13 May 2016 at 13:02, Steven Wu <steve...@apple.com> wrote:
>>>> Hi Rafael
>>>> 
>>>> Thanks for notice this! That would definitely cause duplicated symbol 
>>>> error and I should definitely change that.
>>>> Here is some background:
>>>> ld64 in Xcode 7+ knows how to handle the embedded bitcode correctly but 
>>>> not the ones in earlier Xcode. The old ld64 will simply concatenate the 
>>>> bitcode files which is not the right thing to do. So there is a symbol 
>>>> generated at the place to prevent user to link the bitcode object file 
>>>> with old ld64 because older ld64 will fail and report duplicated symbols.
>>>> I have a radar tracking to change the linkage type when upstream but I 
>>>> dropped the ball on that one. The correct thing to do is to make it 
>>>> internal and add to llvm.used. I will come up with a patch.
>>> 
>>> Thank you so much!
>>> 
>>> Cheers,
>>> Rafael
>> 
> 

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to