diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2019-04-04 07:53:06 -0700 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2019-04-04 07:53:06 -0700 |
commit | ac49c5c42839132bfe18962f77efd52d507c71c7 (patch) | |
tree | d479691db87f31eea020917030e4ccfd087b7355 /src | |
parent | f61314dab43e29eaa5c4323a890bc408be014f83 (diff) | |
download | coreclr-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.S | 2 |
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) |