Bug#862360: llvm-toolchain-3.8: Fix R_AARCH64_MOVW_UABS_G3 relocation

Graham Inggs ginggs at debian.org
Fri May 12 12:25:24 UTC 2017


The one line fix on its own:

-    *TargetPtr |= Result >> (48 - 5);
+    *TargetPtr |= (Result & 0xffff000000000000ULL) >> (48 - 5);

...allows julia from the archive to run on my Raspberry Pi 3.
Building julia now also succeeds.

On 11/05/2017 20:42, Edmund Grimley Evans wrote:
> There is probably no need to rebuild julia when the LLVM bug has been fixed,
> but you should probably check that with someone who properly understands
> how julia works.

Julia needs to be rebuilt on arm64 for the LLVM versioned symbols 
transition (see #849098) anyway.

This line of code is still present in LLVM 3.9.1 (and 3.7 and 3.5), but 
seems to be fixed in 4.0 (thanks jcristau and bunk for checking).

Unfortunately, this one line fix does not solve the problem of the LLVM 
build hanging during the sanitizer tests.

Both issues appeared around the same time and seem to be linked to 
specific kernel versions.  In Ubuntu, both julia and llvm-toolchain-3.8 
built in late March with Ubuntu's 4.4.0-66-generic kernel.  In late 
April, the next build of llvm-toolchain-3.8 failed with kernel 
4.4.0-72-generic and a few days later, the next build of julia failed 
with kernel 4.4.0-77-generic.



More information about the Pkg-llvm-team mailing list