]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: disable Duff's device on darwin/arm64
authorCherry Zhang <cherryyz@google.com>
Tue, 16 Aug 2016 09:57:38 +0000 (05:57 -0400)
committerCherry Zhang <cherryyz@google.com>
Tue, 16 Aug 2016 10:41:53 +0000 (10:41 +0000)
Darwin linker does not support BR26 reloc with non-zero addend.

Fixes #16724.

Change-Id: I1b5b4dc7159141bde3e273490f435c08c583afaf
Reviewed-on: https://go-review.googlesource.com/27081
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
src/cmd/compile/internal/ssa/config.go

index 149ceae3798180f22d34ff40755b44002a0551ab..72122a7b44f341cfa24172fcb87cef1d82fa991d 100644 (file)
@@ -181,6 +181,7 @@ func NewConfig(arch string, fe Frontend, ctxt *obj.Link, optimize bool) *Config
                c.fpRegMask = fpRegMaskARM64
                c.FPReg = framepointerRegARM64
                c.hasGReg = true
+               c.noDuffDevice = obj.Getgoos() == "darwin" // darwin linker cannot handle BR26 reloc with non-zero addend
        case "ppc64le":
                c.IntSize = 8
                c.PtrSize = 8