From 7c17982f72704464f74766b9ef957e3d69db92d7 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sun, 8 Dec 2013 22:52:08 -0500 Subject: [PATCH] runtime: remove cross-function jump in vlop_arm.s The new linker will disallow this on arm (it is already disallowed on amd64 and 386) in order to be able to lay out each function separately. The restriction is only for jumps into the middle of a function; jumps to the beginning of a function remain fine. Prereq for linker cleanup (golang.org/s/go13linker). R=iant, r, minux.ma CC=golang-dev https://golang.org/cl/35800043 --- src/pkg/runtime/vlop_arm.s | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pkg/runtime/vlop_arm.s b/src/pkg/runtime/vlop_arm.s index d7c566afb8..941de3e8db 100644 --- a/src/pkg/runtime/vlop_arm.s +++ b/src/pkg/runtime/vlop_arm.s @@ -255,7 +255,7 @@ TEXT _div(SB),NOSPLIT,$16 d0: BL udiv<>(SB) /* none/both neg */ MOVW R(q), R(TMP) - B out + B out1 d1: CMP $0, R(q) BGE d0 @@ -263,7 +263,12 @@ d1: d2: BL udiv<>(SB) /* one neg */ RSB $0, R(q), R(TMP) - B out +out1: + MOVW 4(R13), R(q) + MOVW 8(R13), R(r) + MOVW 12(R13), R(s) + MOVW 16(R13), R(M) + RET TEXT _mod(SB),NOSPLIT,$16 MOVW R(q), 4(R13) -- 2.50.0