<div dir="ltr">ObjectAddresses are just unsigneds. I think that's reasonable: We don't anticipate JITing objects over 4Gb in the near future.<div><br></div><div>Cheers,</div><div>Lang.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 9:55 PM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Apr 14, 2015 at 9:46 PM, Lang Hames <<a href="mailto:lhames@gmail.com">lhames@gmail.com</a>> wrote:<br>
> Author: lhames<br>
> Date: Tue Apr 14 23:46:01 2015<br>
> New Revision: 234977<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=234977&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=234977&view=rev</a><br>
> Log:<br>
> [RuntimeDyld] Add casts to make delta computation 64-bit.<br>
><br>
> Hopefully this will fix the i686/msvc build failure described at:<br>
> <a href="http://bb.pgr.jp/builders/ninja-clang-i686-msc18-R/builds/803" target="_blank">http://bb.pgr.jp/builders/ninja-clang-i686-msc18-R/builds/803</a><br>
><br>
><br>
> Modified:<br>
>     llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp<br>
><br>
> Modified: llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp?rev=234977&r1=234976&r2=234977&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp?rev=234977&r1=234976&r2=234977&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp (original)<br>
> +++ llvm/trunk/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp Tue Apr 14 23:46:01 2015<br>
> @@ -244,7 +244,8 @@ unsigned char *RuntimeDyldMachOCRTPBase<<br>
>  }<br>
><br>
>  static int64_t computeDelta(SectionEntry *A, SectionEntry *B) {<br>
> -  int64_t ObjDistance = A->ObjAddress - B->ObjAddress;<br>
> +  int64_t ObjDistance =<br>
> +    static_cast<int64_t>(A->ObjAddress) - static_cast<int64_t>(B->ObjAddress);<br>
<br>
</span>What's the type of "ObjAddress" - should it be made 64 bit, if it<br>
isn't already? (otherwise what's happening here?)<br>
<div class="HOEnZb"><div class="h5"><br>
>    int64_t MemDistance = A->LoadAddress - B->LoadAddress;<br>
>    return ObjDistance - MemDistance;<br>
>  }<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>