Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/go: allow passing -U flag in cgo CFLAGS #34730

Closed
nyoxi opened this issue Oct 7, 2019 · 3 comments

Comments

@nyoxi
Copy link

commented Oct 7, 2019

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

$ go version
go version go1.13 linux/amd64

Does this issue reproduce with the latest release?

Yes, the version seems to be latest

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

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/nyoxi/.cache/go-build"
GOENV="/home/nyoxi/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/nyoxi/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build294100251=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Include line: #cgo CFLAGS: -Ufoo_bar into go source code

What did you expect to see?

Compilation with go build should pass.

What did you see instead?

go build terminates with error: invalid flag in #cgo CFLAGS: -Ufoo_bar

@ianlancetaylor ianlancetaylor changed the title allow passing -U flag in cgo CFLAGS cmd/go: allow passing -U flag in cgo CFLAGS Oct 7, 2019
@ianlancetaylor ianlancetaylor added this to the Go1.14 milestone Oct 7, 2019
@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Oct 7, 2019

Fix is to cmd/go/internal/work/security.go. Most likely -U should work like -D.

@gregory-m

This comment has been minimized.

Copy link
Contributor

commented Oct 8, 2019

Last time I fixed it for -I, will do it for -U.

@rsc rsc modified the milestones: Go1.14, Backlog Oct 9, 2019
darkLord19 added a commit to darkLord19/go that referenced this issue Oct 14, 2019
Current checkFlags() didn't allow -U flag to undefine any previous name definition. This CL allows to use -U flag.

Fixes golang#34730
darkLord19 added a commit to darkLord19/go that referenced this issue Oct 14, 2019
Current checkFlags() didn't allow -U flag to undefine any previous name definition. This CL allows to use -U flag.

Fixes golang#34730
@gopherbot

This comment has been minimized.

Copy link

commented Oct 14, 2019

Change https://golang.org/cl/201039 mentions this issue: cmd/go: allow passing -U flag in cgo CFLAGS

darkLord19 added a commit to darkLord19/go that referenced this issue Oct 14, 2019
Current checkFlags() didn't allow -U flag to undefine any previous name definition. This CL allows to use -U flag.

Fixes golang#34730
darkLord19 added a commit to darkLord19/go that referenced this issue Oct 14, 2019
Current checkFlags() didn't allow -U flag to undefine any previous name definition. This CL allows to use -U flag.

Fixes golang#34730
darkLord19 added a commit to darkLord19/go that referenced this issue Oct 15, 2019
darkLord19 added a commit to darkLord19/go that referenced this issue Oct 20, 2019
@gopherbot gopherbot closed this in 6a24de9 Oct 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.