<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 4, 2014, at 1:40 PM, Eric Christopher <<a href="mailto:echristo@gmail.com" class="">echristo@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><br class=""><br class=""><div class="gmail_quote">On Tue Nov 04 2014 at 12:43:05 PM Peter S. Housel <<a href="mailto:housel@acm.org" class="">housel@acm.org</a>> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 11/04/2014 07:04 AM, Robinson, Paul wrote:<br class="">
>> From: <a href="mailto:llvmdev-bounces@cs.uiuc.edu" target="_blank" class="">llvmdev-bounces@cs.uiuc.edu</a> [mailto:<a href="mailto:llvmdev-bounces@cs.uiuc.edu" target="_blank" class="">llvmdev-bounces@cs.<u class=""></u>uiuc.edu</a>] On Behalf Of Sean Silva<br class="">
>><br class="">
>> You haven't established that you really need this. AFAIK Apple's linker<br class="">
>> doesn't need this version information and they have shipped LTO for a<br class="">
>> while now.<br class="">
> Does Apple support library/middleware providers shipping bitcode instead<br class="">
> of object code?  That's the most nervous-making scenario for compatibility.<br class="">
> LTO by itself needs bitcode only as an ephemeral stage between source and<br class="">
> object; it's supporting bitcode as a long-lived on-disk format that keeps<br class="">
> us awake at night.<br class="">
><br class="">
> I acknowledge the compatibility promise but I've been whacked upside the<br class="">
> head too often by QA over the years to take an unverified promise at<br class="">
> face value.  I would like worked examples and industry experience reports.<br class="">
> --paulr<br class="">
<br class="">
I've been bitten by trying to do this sort of thing recently. The<br class="">
released LLVM 3.4 and 3.5, and the Xcode 5.x tools, generate debug info<br class="">
marked with the module flag:<br class="">
<br class="">
     !49 = metadata !{i32 2, metadata !"Debug Info Version", i32 1}<br class="">
<br class="">
The tools included with Xcode 6.x generate debug info marked as:<br class="">
<br class="">
     !49 = metadata !{i32 2, metadata !"Debug Info Version", i32 600054001}<br class=""></blockquote></div></div></blockquote><div><br class=""></div><div>Apple clang uses a Debug Info Version that is derived from the clang version number (600.54.1 in this case). Apple clang’s release cycle is decoupled from the LLVM release cycle, so it is intentionally using a completely different range for the Debug Info Version number.</div><div><br class=""></div><div>-- adrian</div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class=""></blockquote><div class=""><br class=""></div><div class="">This is an apple bug. You should report it.</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
and will discard debug info marked with any other version.<br class="">
<br class=""></blockquote><div class=""><br class=""></div><div class="">This is correct behavior.</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I had originally hoped that our (Open Dylan) compiler could output<br class="">
bitcode that people could compile and link using the standard<br class="">
/usr/bin/clang installed with Xcode, but it's looking more like we may<br class="">
want to provide users with a build of vanilla LLVM/Clang for this<br class="">
platform instead.<br class="">
<br class="">
Hopefully the debug info improvements currently under way will<br class="">
incorporate a compatibility guarantee that Apple-distributed tools will<br class="">
stick to as well.<br class="">
<br class=""></blockquote><div class=""><br class=""></div><div class="">Unlikely for now though I don't speak for Apple.</div><div class=""><br class=""></div><div class="">-eric</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-Peter-<br class="">
<br class="">
______________________________<u class=""></u>_________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank" class="">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu/" target="_blank" class="">http://llvm.cs.uiuc.edu</a><br class="">
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank" class="">http://lists.cs.uiuc.edu/<u class=""></u>mailman/listinfo/llvmdev</a><br class="">
</blockquote></div>
</div></blockquote></div><br class=""></body></html>