-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed as not planned
Labels
FrozenDueToAgeOS-Darwincompiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.
Milestone
Description
What version of Go are you using (go version)?
% go version go version go1.20rc1 darwin/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
% go1.20rc1 env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/Users/ericchiang/Library/Caches/go-build" GOENV="/Users/ericchiang/Library/Application Support/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOINSECURE="" GOMODCACHE="/Users/ericchiang/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="darwin" GOPATH="/Users/ericchiang/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/Users/ericchiang/sdk/go1.20rc1" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/Users/ericchiang/sdk/go1.20rc1/pkg/tool/darwin_amd64" GOVCS="" GOVERSION="go1.20rc1" GCCGO="gccgo" GOAMD64="v1" AR="ar" CC="clang" CXX="clang++" CGO_ENABLED="1" GOMOD="/dev/null" GOWORK="" CGO_CFLAGS="-O2 -g" CGO_CPPFLAGS="" CGO_CXXFLAGS="-O2 -g" CGO_FFLAGS="-O2 -g" CGO_LDFLAGS="-O2 -g" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/d1/wpvcpdrs2tlgn5xs3_xm88th0000gn/T/go-build913429993=/tmp/go-build -gno-record-gcc-switches -fno-common"
What did you do?
Ran the following program with Go 1.20rc1
package main
// #cgo darwin LDFLAGS: -framework PCSC
// #include <PCSC/winscard.h>
// #include <PCSC/wintypes.h>
import "C"
import "fmt"
func main() {
var ctx C.SCARDCONTEXT
rc := int64(C.SCardEstablishContext(C.SCARD_SCOPE_SYSTEM, nil, nil, &ctx))
if rc < 0 {
// Fix overflow.
rc += (1 << 32)
}
fmt.Printf("0x%08x\n", rc)
if rc == C.SCARD_S_SUCCESS {
C.SCardReleaseContext(ctx)
}
}
What did you expect to see?
% go run repro.go
0x00000000
What did you see instead?
% go1.20rc1 run repro.go
0x8010001d
This was reported at go-piv/piv-go#113 and FiloSottile/yubikey-agent#135.
This program runs successfully on Go 1.19 and older versions. While there were some cgo changes mentioned in https://tip.golang.org/doc/go1.20, it's not clear to me that those would impact this program.
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeOS-Darwincompiler/runtimeIssues related to the Go compiler and/or runtime.Issues related to the Go compiler and/or runtime.