From: Keith Randall Date: Mon, 18 Mar 2019 19:49:49 +0000 (-0700) Subject: runtime: fix registers for bounds check calling convention on arm X-Git-Tag: go1.13beta1~998 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=689544c0b9287852c3ace3c7bd106a8996bbf28f;p=gostls13.git runtime: fix registers for bounds check calling convention on arm Some of the registers in which indexes + length were supposed to be passed were wrong. Update #30116 Change-Id: I1089366b7429c1e0ecad9219b847db069ce6b5d6 Reviewed-on: https://go-review.googlesource.com/c/go/+/168041 Run-TryBot: Keith Randall Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- diff --git a/src/runtime/asm_arm.s b/src/runtime/asm_arm.s index c1e915b97c..af7da64ce6 100644 --- a/src/runtime/asm_arm.s +++ b/src/runtime/asm_arm.s @@ -1054,22 +1054,22 @@ TEXT runtime·panicExtendIndexU(SB),NOSPLIT,$0-12 TEXT runtime·panicExtendSliceAlen(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) MOVW R1, lo+4(FP) - MOVW R3, y+8(FP) + MOVW R2, y+8(FP) JMP runtime·goPanicExtendSliceAlen(SB) TEXT runtime·panicExtendSliceAlenU(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) MOVW R1, lo+4(FP) - MOVW R3, y+8(FP) + MOVW R2, y+8(FP) JMP runtime·goPanicExtendSliceAlenU(SB) TEXT runtime·panicExtendSliceAcap(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) MOVW R1, lo+4(FP) - MOVW R3, y+8(FP) + MOVW R2, y+8(FP) JMP runtime·goPanicExtendSliceAcap(SB) TEXT runtime·panicExtendSliceAcapU(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) MOVW R1, lo+4(FP) - MOVW R3, y+8(FP) + MOVW R2, y+8(FP) JMP runtime·goPanicExtendSliceAcapU(SB) TEXT runtime·panicExtendSliceB(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) @@ -1083,33 +1083,33 @@ TEXT runtime·panicExtendSliceBU(SB),NOSPLIT,$0-12 JMP runtime·goPanicExtendSliceBU(SB) TEXT runtime·panicExtendSlice3Alen(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) - MOVW R3, lo+4(FP) + MOVW R2, lo+4(FP) MOVW R3, y+8(FP) JMP runtime·goPanicExtendSlice3Alen(SB) TEXT runtime·panicExtendSlice3AlenU(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) - MOVW R3, lo+4(FP) + MOVW R2, lo+4(FP) MOVW R3, y+8(FP) JMP runtime·goPanicExtendSlice3AlenU(SB) TEXT runtime·panicExtendSlice3Acap(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) - MOVW R3, lo+4(FP) + MOVW R2, lo+4(FP) MOVW R3, y+8(FP) JMP runtime·goPanicExtendSlice3Acap(SB) TEXT runtime·panicExtendSlice3AcapU(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) - MOVW R3, lo+4(FP) + MOVW R2, lo+4(FP) MOVW R3, y+8(FP) JMP runtime·goPanicExtendSlice3AcapU(SB) TEXT runtime·panicExtendSlice3B(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) MOVW R1, lo+4(FP) - MOVW R3, y+8(FP) + MOVW R2, y+8(FP) JMP runtime·goPanicExtendSlice3B(SB) TEXT runtime·panicExtendSlice3BU(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP) MOVW R1, lo+4(FP) - MOVW R3, y+8(FP) + MOVW R2, y+8(FP) JMP runtime·goPanicExtendSlice3BU(SB) TEXT runtime·panicExtendSlice3C(SB),NOSPLIT,$0-12 MOVW R4, hi+0(FP)