From: Jarret Shook Date: Thu, 6 Sep 2018 03:50:28 +0000 (-0700) Subject: [Unix|Arm64] Correct transition block for unix arm64 (dotnet/coreclr#19822) X-Git-Tag: submit/tizen/20210909.063632~11030^2~3976 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7ebb6eab8aab1ff71689f7398fd98f58306a8059;p=platform%2Fupstream%2Fdotnet%2Fruntime.git [Unix|Arm64] Correct transition block for unix arm64 (dotnet/coreclr#19822) * Correct unix transition block macro Commit migrated from https://github.com/dotnet/coreclr/commit/045915424f7c4a3e6647cf35d6fca8a7fe48ea16 --- diff --git a/src/coreclr/src/pal/inc/unixasmmacrosarm64.inc b/src/coreclr/src/pal/inc/unixasmmacrosarm64.inc index b435366..f99efbe 100644 --- a/src/coreclr/src/pal/inc/unixasmmacrosarm64.inc +++ b/src/coreclr/src/pal/inc/unixasmmacrosarm64.inc @@ -161,7 +161,7 @@ C_FUNC(\Name\()_End): .endif __PWTB_StackAlloc = __PWTB_TransitionBlock - __PWTB_ArgumentRegisters = __PWTB_StackAlloc + 96 + __PWTB_ArgumentRegisters = __PWTB_StackAlloc + 104 __PWTB_ArgumentRegister_FirstArg = __PWTB_ArgumentRegisters + 8 PROLOG_SAVE_REG_PAIR_INDEXED fp, lr, -176 @@ -192,11 +192,11 @@ C_FUNC(\Name\()_End): // Reserve 64 bytes of memory before calling SAVE_ARGUMENT_REGISTERS .macro SAVE_ARGUMENT_REGISTERS reg, ofs - stp x0, x1, [\reg, #(\ofs)] - stp x2, x3, [\reg, #(\ofs + 16)] - stp x4, x5, [\reg, #(\ofs + 32)] - stp x6, x7, [\reg, #(\ofs + 48)] - str x8, [\reg, #(\ofs + 64)] + str x8, [\reg, #(\ofs)] + stp x0, x1, [\reg, #(\ofs + 8)] + stp x2, x3, [\reg, #(\ofs + 24)] + stp x4, x5, [\reg, #(\ofs + 40)] + stp x6, x7, [\reg, #(\ofs + 56)] .endm @@ -212,11 +212,11 @@ C_FUNC(\Name\()_End): .macro RESTORE_ARGUMENT_REGISTERS reg, ofs - ldp x0, x1, [\reg, #(\ofs)] - ldp x2, x3, [\reg, #(\ofs + 16)] - ldp x4, x5, [\reg, #(\ofs + 32)] - ldp x6, x7, [\reg, #(\ofs + 48)] - ldr x8, [\reg, #(\ofs + 64)] + ldr x8, [\reg, #(\ofs)] + ldp x0, x1, [\reg, #(\ofs + 8)] + ldp x2, x3, [\reg, #(\ofs + 24)] + ldp x4, x5, [\reg, #(\ofs + 40)] + ldp x6, x7, [\reg, #(\ofs + 56)] .endm