From 7107014f959f37bf1a03bca0acd7227229980868 Mon Sep 17 00:00:00 2001 From: Kolby Crouch Date: Sun, 13 Jan 2019 21:14:30 -0600 Subject: [PATCH] Add -buildmode=shared and -linkshared support for FreeBSD/amd64 --- src/cmd/go/internal/work/init.go | 6 ++++-- src/cmd/link/internal/ld/config.go | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go index 693a53e9ab78d0..7325b494334688 100644 --- a/src/cmd/go/internal/work/init.go +++ b/src/cmd/go/internal/work/init.go @@ -170,7 +170,8 @@ func buildModeInit() { codegenArg = "-fPIC" } else { switch platform { - case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x": + case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x", + "freebsd/amd64": default: base.Fatalf("-buildmode=shared not supported on %s\n", platform) } @@ -206,7 +207,8 @@ func buildModeInit() { codegenArg = "-fPIC" } else { switch platform { - case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x": + case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x", + "freebsd/amd64": forcedAsmflags = append(forcedAsmflags, "-D=GOBUILDMODE_shared=1") default: base.Fatalf("-linkshared not supported on %s\n", platform) diff --git a/src/cmd/link/internal/ld/config.go b/src/cmd/link/internal/ld/config.go index 60b6491859574e..4c9b6310280687 100644 --- a/src/cmd/link/internal/ld/config.go +++ b/src/cmd/link/internal/ld/config.go @@ -83,6 +83,12 @@ func (mode *BuildMode) Set(s string) error { default: return badmode() } + case "freebsd": + switch objabi.GOARCH { + case "amd64": + default: + return badmode() + } default: return badmode() }