Skip to content

cmd/go: build for armv7s with -buildmode=c-archive #35050

Open
@nathan-fiscaletti

Description

@nathan-fiscaletti

What version of Go are you using (go version)?

$ go version
go version go1.13.3 darwin/amd64

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="arm"
GOBIN=""
GOCACHE="/Users/vagrant/Library/Caches/go-build"
GOENV="/Users/vagrant/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/usr/local/go/go_packages"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
GOARM="7"
AR="/Library/Developer/CommandLineTools/usr/bin/ar"
CC="/Library/Developer/CommandLineTools/usr/bin/clang"
CXX="/Library/Developer/CommandLineTools/usr/bin/clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.4.sdk -miphoneos-version-min=10.0"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.4.sdk -miphoneos-version-min=10.0"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -marm -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/k6/wch_wxzx43z04wmzdf61znqr0000gn/T/go-build140873070=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Tried to build using the above environment configuration and the result was an archive that was both armv7 and armv7s.

nm libvcb.a | grep armv7
libvcb.a(go.o) (for architecture armv7):
libvcb.a(000000.o) (for architecture armv7s):
libvcb.a(000001.o) (for architecture armv7s):
libvcb.a(000002.o) (for architecture armv7s):
libvcb.a(000003.o) (for architecture armv7s):
libvcb.a(000004.o) (for architecture armv7s):
libvcb.a(000005.o) (for architecture armv7s):
libvcb.a(000006.o) (for architecture armv7s):
libvcb.a(000007.o) (for architecture armv7s):
libvcb.a(000008.o) (for architecture armv7s):
libvcb.a(000009.o) (for architecture armv7s):
libvcb.a(000010.o) (for architecture armv7s):
libvcb.a(000011.o) (for architecture armv7s):
libvcb.a(000012.o) (for architecture armv7s):
libvcb.a(000013.o) (for architecture armv7s):
libvcb.a(000014.o) (for architecture armv7s):
libvcb.a(000015.o) (for architecture armv7s):
libvcb.a(000016.o) (for architecture armv7s):
libvcb.a(000017.o) (for architecture armv7s):
libvcb.a(000018.o) (for architecture armv7s):
libvcb.a(000019.o) (for architecture armv7s):
libvcb.a(000020.o) (for architecture armv7s):
libvcb.a(000021.o) (for architecture armv7s):
libvcb.a(000022.o) (for architecture armv7s):
libvcb.a(000023.o) (for architecture armv7s):
libvcb.a(000024.o) (for architecture armv7s):

What did you expect to see?

A fully armv7s archive file.

What did you see instead?

An armv7s archive file that was both armv7 and armv7s.

I don't see an option for GOARM that is 7s, but that's essentially what i'm looking for.

Related issue that was closed without a response: #14691

Metadata

Metadata

Assignees

No one assigned

    Labels

    ExpertNeededNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.arch-armIssues solely affecting the 32-bit arm architecture.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions