]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj/riscv: fix JMP name<>(SB)
authorRuss Cox <rsc@golang.org>
Mon, 15 Feb 2021 18:58:45 +0000 (13:58 -0500)
committerRuss Cox <rsc@golang.org>
Fri, 19 Feb 2021 00:02:15 +0000 (00:02 +0000)
It was being rejected. Now it isn't and can be used in the runtime.

Change-Id: I4626bf9fc2e0bc26fffb87d11bede459964324b3
Reviewed-on: https://go-review.googlesource.com/c/go/+/292129
Trust: Russ Cox <rsc@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/internal/obj/riscv/obj.go

index 9257a6453aef81eb1bad7c46197d565a3160743e..5ef334dd6a73e2112ab4430ed98bf748f5a52403 100644 (file)
@@ -119,7 +119,7 @@ func progedit(ctxt *obj.Link, p *obj.Prog, newprog obj.ProgAlloc) {
                        switch p.To.Name {
                        case obj.NAME_NONE:
                                p.As = AJALR
-                       case obj.NAME_EXTERN:
+                       case obj.NAME_EXTERN, obj.NAME_STATIC:
                                // Handled in preprocess.
                        default:
                                ctxt.Diag("unsupported name %d for %v", p.To.Name, p)
@@ -267,7 +267,7 @@ func rewriteMOV(ctxt *obj.Link, newprog obj.ProgAlloc, p *obj.Prog) {
                                p.As = movToStore(p.As)
                                p.To.Reg = addrToReg(p.To)
 
-                       case obj.NAME_EXTERN:
+                       case obj.NAME_EXTERN, obj.NAME_STATIC:
                                // AUIPC $off_hi, TMP
                                // S $off_lo, TMP, R
                                as := p.As
@@ -666,7 +666,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
                        switch p.To.Type {
                        case obj.TYPE_MEM:
                                switch p.To.Name {
-                               case obj.NAME_EXTERN:
+                               case obj.NAME_EXTERN, obj.NAME_STATIC:
                                        // JMP to symbol.
                                        jalrToSym(ctxt, p, newprog, REG_ZERO)
                                }