aboutsummaryrefslogtreecommitdiff
path: root/src/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd')
-rw-r--r--src/cmd/internal/obj/loong64/asm.go19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/cmd/internal/obj/loong64/asm.go b/src/cmd/internal/obj/loong64/asm.go
index 2f2caa8b6d..1e4dd111f1 100644
--- a/src/cmd/internal/obj/loong64/asm.go
+++ b/src/cmd/internal/obj/loong64/asm.go
@@ -1401,19 +1401,14 @@ func (c *ctxt0) asmout(p *obj.Prog, o *Optab, out []uint32) {
v = int32(p.To.Target().Pc-p.Pc) >> 2
}
o1 = OP_B_BL(c.opirr(p.As), uint32(v))
- if p.To.Sym == nil {
- if p.As == AJMP {
- break
- }
- p.To.Sym = c.cursym.Func().Text.From.Sym
- p.To.Offset = p.To.Target().Pc
+ if p.To.Sym != nil {
+ rel := obj.Addrel(c.cursym)
+ rel.Off = int32(c.pc)
+ rel.Siz = 4
+ rel.Sym = p.To.Sym
+ rel.Add = p.To.Offset
+ rel.Type = objabi.R_CALLLOONG64
}
- rel := obj.Addrel(c.cursym)
- rel.Off = int32(c.pc)
- rel.Siz = 4
- rel.Sym = p.To.Sym
- rel.Add = p.To.Offset
- rel.Type = objabi.R_CALLLOONG64
case 12: // movbs r,r
// NOTE: this case does not use REGTMP. If it ever does,