summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2019-04-04 07:53:06 -0700
committerJan Vorlicek <janvorli@microsoft.com>2019-04-04 07:53:06 -0700
commitac49c5c42839132bfe18962f77efd52d507c71c7 (patch)
treed479691db87f31eea020917030e4ccfd087b7355 /src
parentf61314dab43e29eaa5c4323a890bc408be014f83 (diff)
downloadcoreclr-ac49c5c42839132bfe18962f77efd52d507c71c7.tar.gz
coreclr-ac49c5c42839132bfe18962f77efd52d507c71c7.tar.bz2
coreclr-ac49c5c42839132bfe18962f77efd52d507c71c7.zip
Fix MUSL ARM64 cross build
There were two issues: * the cross/toolchain.cmake was unconditionally setting the linker to ld.gold. This is not wanted in general and the ld.gold cannot link arm64 MUSL stuff correctly (it leaves a couple of TLS symbols as undefined) * the src/vm/arm64/asmhelpers.S was referencing a global variable using absolute relocation, which is not allowed in shared libraries on MUSL based Linux distros.
Diffstat (limited to 'src')
-rw-r--r--src/vm/arm64/asmhelpers.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm/arm64/asmhelpers.S b/src/vm/arm64/asmhelpers.S
index ed48d66e58..e879201fc7 100644
--- a/src/vm/arm64/asmhelpers.S
+++ b/src/vm/arm64/asmhelpers.S
@@ -1304,7 +1304,7 @@ LEAF_ENTRY JIT_Stelem_Ref, _TEXT
beq C_FUNC(JIT_Stelem_DoWrite)
// Types didnt match but allow writing into an array of objects
- ldr x3, =g_pObjectClass
+ PREPARE_EXTERNAL_VAR g_pObjectClass, x3
ldr x3, [x3] // x3 = *g_pObjectClass
cmp x3, x12 // array type matches with Object*
beq C_FUNC(JIT_Stelem_DoWrite)