-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.arch-ppc64x
Milestone
Description
What version of Go are you using (go version)?
$ go version 1.16.3
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 GOARCH="amd64" GOHOSTARCH="amd64" GOHOSTOS="linux" GOVERSION="go1.16.3"
What did you do?
Cross compile OpenShift's oc command from x86_64 to ppc64le.
git clone https://github.com/openshift/oc.git && pushd oc
make cross-build-linux-ppc64le
What did you expect to see?
Program builds.
What did you see instead?
Linker error at
go/src/cmd/link/internal/ppc64/asm.go
Line 708 in f12cf76
| ctxt.Errorf(s, "unexpected trampoline for shared or dynamic linking") |
# github.com/openshift/oc/cmd/oc
github.com/openshift/oc/pkg/cli/observe.(*ObserveOptions).Run.func3: unexpected trampoline for shared or dynamic linking
type..eq.github.com/openshift/oc/pkg/cli/observe.restListWatcher: unexpected trampoline for shared or dynamic linking
type..eq.github.com/openshift/oc/pkg/cli/observe.restListWatcher: unexpected trampoline for shared or dynamic linking
type..eq.github.com/openshift/oc/pkg/cli/observe.newlineTrailingWriter: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.injectUserVars: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.processTemplateLocally: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).Complete.func2: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess.func1: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/process.(*ProcessOptions).RunProcess.func1: unexpected trampoline for shared or dynamic linking
type..eq.github.com/openshift/oc/pkg/cli/process.processPrinter: unexpected trampoline for shared or dynamic linking
github.com/openshift/oc/pkg/cli/project.ProjectOptions.Run: unexpected trampoline for shared or dynamic linking
/root/go/pkg/tool/linux_amd64/link: too many errors
Additional Notes
- This issue is not seen when compiling natively on ppc64le, only during cross-compilation from x86_64.
- The issue was not seen prior to upgrading openshift/oc to use kubernetes 1.21.
- The issue also occurs in Go versions 1.15.8 through 1.15.10, which are the only versions of 1.15 I've tested. However, it produces the error against different
ocfunctions in Go 1.15 vs. Go 1.16. - Interestingly, 1.16 and 1.16.1 seem unaffected. The issue appears again in 1.16.2, and seems to be triggered by a9547ad#diff-aa02dd8eebb2420ba09bee48832b239fc5f612a07cb7b1709595511fa1d8d0ca. This commit might just uncover the issue rather than be it's direct cause, though, I'm not certain.
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.arch-ppc64x