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

x/arch: TestObjdumpPowerTestdata failed on ppc64le #43222

Closed
zhsj opened this issue Dec 16, 2020 · 8 comments
Closed

x/arch: TestObjdumpPowerTestdata failed on ppc64le #43222

zhsj opened this issue Dec 16, 2020 · 8 comments
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@zhsj
Copy link
Contributor

zhsj commented Dec 16, 2020

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

$ go version
go version go1.15.6 linux/ppc64le

Does this issue reproduce with the latest release?

Yes.

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

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

What did you do?

go test -v -run TestObjdumpPowerTestdata

What did you expect to see?

Succeed.

What did you see instead?

$ go test -v -run TestObjdumpPowerTestdata
=== RUN   TestObjdumpPowerTestdata
    ext_test.go:171: decode(7c230066) = "mfvsrd r3,vs1", 4, want "mffprd r3,f1", 4
    ext_test.go:171: decode(7c230166) = "mtvsrd vs1,r3", 4, want "mtfprd f1,r3", 4
    ext_test.go:171: decode(7c230066) = "mfvsrd r3,vs1", 4, want "mffprd r3,f1", 4
    ext_test.go:171: decode(7c230166) = "mtvsrd vs1,r3", 4, want "mtfprd f1,r3", 4
    ext_test.go:177: 848 test cases, 16 expected mismatches, 4 failures; 38055 cases/second
--- FAIL: TestObjdumpPowerTestdata (0.02s)
@cherrymui
Copy link
Member

What version of the objdump command do you use? Thanks.

cc @laboger

@zhsj
Copy link
Contributor Author

zhsj commented Dec 16, 2020

$ objdump --version
GNU objdump (GNU Binutils for Debian) 2.35.1
Copyright (C) 2020 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

@laboger
Copy link
Contributor

laboger commented Dec 17, 2020

cc @pmur
This is an extended mnemonic so probably just needs an update to the function allowedMismatchObjdump. In the case shown above both decodings are correct.

@gopherbot
Copy link

Change https://golang.org/cl/278784 mentions this issue: ppc64asm: ignore m[tf]vsr* objdump decoding mismatches

@laboger
Copy link
Contributor

laboger commented Dec 17, 2020

@cherrymui in what release do you want this fixed?

@cherrymui
Copy link
Member

The x/arch repo has no versioned release. A fix can be checked in at any time.

In the main repo, the vendored copy of x/arch doesn't include tests, so I think there is nothing to be done there.

@laboger
Copy link
Contributor

laboger commented Dec 17, 2020

The x/arch repo has no versioned release. A fix can be checked in at any time.

I noticed release branches starting with go 1.11 in the arch repo so that's why I was wondering.

@cherrymui
Copy link
Member

I didn't know we have release branches. Thanks.

For this particular issue, I think it still can be checked in to the master branch at any time, if it is test-only.

@cagedmantis cagedmantis added the NeedsFix The path to resolution is known, but the work has not been done. label Dec 21, 2020
@cagedmantis cagedmantis added this to the Backlog milestone Dec 21, 2020
@golang golang locked and limited conversation to collaborators Jan 5, 2022
AppleSeed95 added a commit to AppleSeed95/arch that referenced this issue Feb 2, 2024
A recent binutils change prioritized extended mnemonics of these
instructions.  These mismatches can be safely ignored.

Fixes golang/go#43222

Change-Id: Ie3df612aad7aaba4798e13bab56b04291c703d48
Reviewed-on: https://go-review.googlesource.com/c/arch/+/278784
Trust: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

5 participants