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

all: openbsd/ppc64 port #56001

Closed
4a6f656c opened this issue Oct 2, 2022 · 47 comments
Closed

all: openbsd/ppc64 port #56001

4a6f656c opened this issue Oct 2, 2022 · 47 comments

Comments

@4a6f656c
Copy link
Contributor

4a6f656c commented Oct 2, 2022

This issue is intended to be both a proposal and tracking issue for an openbsd/ppc64 port of Go.

This Go port already exists and is fully functional.

We have a machine available that can run a builder for this port, along with a volunteer who is willing to run it.

Per #55998 @qbit is willing to be an additional maintainer of all OpenBSD Go ports, including this one.

/cc @qbit @golang/ppc64

@n2vi
Copy link

n2vi commented Oct 2, 2022

I confirm that I have a TalosII server allocated for this and will be following the process for adding it to the Builder Dashboard.

@laboger
Copy link
Contributor

laboger commented Oct 3, 2022

Power8 is the minimum level supported by the Go ppc64 assembler, for your awareness.

@laboger
Copy link
Contributor

laboger commented Oct 4, 2022

If you have the port working, and this is ppc64 (big endian), does it use ELF v1 or v2?

@n2vi
Copy link

n2vi commented Oct 4, 2022

This is all Joel's work, but I'll try to answer to save him time:
Yes, the port is for POWER9 big-endian and (as far as I know) follows the 64-Bit ELF V2 ABI Specification.

@ianlancetaylor ianlancetaylor changed the title all: openbsd/ppc64 port proposal: openbsd/ppc64 port Oct 5, 2022
@gopherbot gopherbot added this to the Proposal milestone Oct 5, 2022
@ianlancetaylor
Copy link
Contributor

CC @golang/runtime @golang/release

@gopherbot
Copy link

Change https://go.dev/cl/439978 mentions this issue: unix: add support for openbsd/ppc64

@gopherbot
Copy link

Change https://go.dev/cl/439977 mentions this issue: cpu: add support for ppc64 on platforms other than aix and linux

gopherbot pushed a commit to golang/sys that referenced this issue Oct 10, 2022
This allows the cpu package to function on openbsd/ppc64.

Updates golang/go#56001

Change-Id: Iff306b6091da8f7dc28dd1bd2c9ba668b5318a67
Reviewed-on: https://go-review.googlesource.com/c/sys/+/439977
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
gopherbot pushed a commit to golang/sys that referenced this issue Oct 10, 2022
Updates golang/go#56001

Change-Id: Ic2c7db7a0c2056d3bbc153066c187f27508cb96c
Reviewed-on: https://go-review.googlesource.com/c/sys/+/439978
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
@rsc
Copy link
Contributor

rsc commented Oct 12, 2022

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

@gopherbot
Copy link

Change https://go.dev/cl/442757 mentions this issue: internal/socket: add support for openbsd/ppc64

@gopherbot
Copy link

Change https://go.dev/cl/442755 mentions this issue: all: update golang.org/x/sys

gopherbot pushed a commit to golang/net that referenced this issue Oct 17, 2022
Update golang.org/x/sys to v0.0.0-20221010170243-090e33056c14. This brings
in support for openbsd/ppc64 and openbsd/riscv64.

Updates golang/go#55999
Updates golang/go#56001

Change-Id: Iee13561cb1a40ef97946047c10c4eee466f34821
Reviewed-on: https://go-review.googlesource.com/c/net/+/442755
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
gopherbot pushed a commit to golang/net that referenced this issue Oct 19, 2022
Updates golang/go#56001

Change-Id: I9c9b826d09f4f15a144141f64b4b6d5d287721fd
Reviewed-on: https://go-review.googlesource.com/c/net/+/442757
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
@rsc
Copy link
Contributor

rsc commented Oct 20, 2022

Sounds like we have two maintainers: @4a6f656c and @qbit.
We also already have openbsd and ppc64 ports separately, so the combination shouldn't add too much.

@golang/runtime, @golang/release, any objections to accepting this proposal (and this port)?

@heschi
Copy link
Contributor

heschi commented Oct 25, 2022

No objections from the release team.

@prattmic
Copy link
Member

No objections from the runtime team.

@rsc
Copy link
Contributor

rsc commented Oct 26, 2022

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group

@rsc
Copy link
Contributor

rsc commented Nov 2, 2022

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group

@rsc rsc changed the title proposal: openbsd/ppc64 port openbsd/ppc64 port Nov 2, 2022
@rsc rsc modified the milestones: Proposal, Backlog Nov 2, 2022
WeiminShang added a commit to WeiminShang/net that referenced this issue Nov 16, 2022
Update golang.org/x/sys to v0.0.0-20221010170243-090e33056c14. This brings
in support for openbsd/ppc64 and openbsd/riscv64.

Updates golang/go#55999
Updates golang/go#56001

Change-Id: Iee13561cb1a40ef97946047c10c4eee466f34821
Reviewed-on: https://go-review.googlesource.com/c/net/+/442755
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
WeiminShang added a commit to WeiminShang/net that referenced this issue Nov 16, 2022
Updates golang/go#56001

Change-Id: I9c9b826d09f4f15a144141f64b4b6d5d287721fd
Reviewed-on: https://go-review.googlesource.com/c/net/+/442757
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
@mcmilk
Copy link

mcmilk commented Jul 20, 2023

When PPC64 OpenBSD works, I would check FreeBSD PPC64.
I am total new to golang, is there some downloadable patchset?

@heschi
Copy link
Contributor

heschi commented Jul 20, 2023

@n2vi that's great to hear. The tree will be open soon, so now would be a great time to get things finished up if possible. It's not a problem if it takes longer, I just want to make sure that the port isn't lying around half-finished because we collectively forgot about it.

@mcmilk you might try looking at the chain of CLs ending with http://go.dev/cl/475639.

@gopherbot
Copy link

Change https://go.dev/cl/516376 mentions this issue: runtime: save and restore TOC pointer for openbsd/ppc64

@gopherbot
Copy link

Change https://go.dev/cl/517935 mentions this issue: cmd/dist,internal/platform: enable openbsd/ppc64 port

@gopherbot
Copy link

Change https://go.dev/cl/518275 mentions this issue: cmd/go/testdata/mod: add golang toolchain test data for openbsd/ppc64

gopherbot pushed a commit that referenced this issue Aug 22, 2023
On some platforms asmcgocall can be called with a nil g. Additionally, it
can be called when already on a the system (g0) stack or on a signal stack.
In these cases we do not need to switch (and/or cannot switch) to the
system stack and as a result, do not need to save the g.

Rework asmcgocall on ppc64x to follow the pattern used on other architectures,
such as amd64 and arm64, where a separate nosave path is called in the above
cases. The nil g case will be needed to support openbsd/ppc64.

Updates #56001

Change-Id: I431d4200bcbc4aaddeb617aefe18590165ff2927
Reviewed-on: https://go-review.googlesource.com/c/go/+/478775
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Paul Murphy <murp@ibm.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
gopherbot pushed a commit that referenced this issue Aug 22, 2023
Add runtime support for the openbsd/ppc64 port.

Updates #56001

Change-Id: I3cf010b34f96ce269858b02f16481fdad2cd5b77
Reviewed-on: https://go-review.googlesource.com/c/go/+/475618
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Paul Murphy <murp@ibm.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Eric Grosse <grosse@gmail.com>
gopherbot pushed a commit that referenced this issue Aug 22, 2023
Add syscall support for the openbsd/ppc64 port.

Updates #56001

Change-Id: I695c5c296e90645515de0c8f89f1bc57e976679d
Reviewed-on: https://go-review.googlesource.com/c/go/+/475636
Reviewed-by: Eric Grosse <grosse@gmail.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
gopherbot pushed a commit that referenced this issue Aug 23, 2023
Add linker support for the openbsd/ppc64 port.

Updates #56001

Change-Id: I18bc19b4086599996aebfbe68f2e85e1200589ca
Reviewed-on: https://go-review.googlesource.com/c/go/+/475619
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Paul Murphy <murp@ibm.com>
Reviewed-by: Eric Grosse <grosse@gmail.com>
gopherbot pushed a commit that referenced this issue Aug 23, 2023
Updates #56001

Change-Id: Ic7b4ecb2e471292894c54610e8acda8822c890fb
Reviewed-on: https://go-review.googlesource.com/c/go/+/518275
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Paul Murphy <murp@ibm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
cellularmitosis pushed a commit to cellularmitosis/go that referenced this issue Aug 24, 2023
On some platforms asmcgocall can be called with a nil g. Additionally, it
can be called when already on a the system (g0) stack or on a signal stack.
In these cases we do not need to switch (and/or cannot switch) to the
system stack and as a result, do not need to save the g.

Rework asmcgocall on ppc64x to follow the pattern used on other architectures,
such as amd64 and arm64, where a separate nosave path is called in the above
cases. The nil g case will be needed to support openbsd/ppc64.

Updates golang#56001

Change-Id: I431d4200bcbc4aaddeb617aefe18590165ff2927
Reviewed-on: https://go-review.googlesource.com/c/go/+/478775
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Paul Murphy <murp@ibm.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
cellularmitosis pushed a commit to cellularmitosis/go that referenced this issue Aug 24, 2023
Add runtime support for the openbsd/ppc64 port.

Updates golang#56001

Change-Id: I3cf010b34f96ce269858b02f16481fdad2cd5b77
Reviewed-on: https://go-review.googlesource.com/c/go/+/475618
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Paul Murphy <murp@ibm.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Eric Grosse <grosse@gmail.com>
cellularmitosis pushed a commit to cellularmitosis/go that referenced this issue Aug 24, 2023
Add syscall support for the openbsd/ppc64 port.

Updates golang#56001

Change-Id: I695c5c296e90645515de0c8f89f1bc57e976679d
Reviewed-on: https://go-review.googlesource.com/c/go/+/475636
Reviewed-by: Eric Grosse <grosse@gmail.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
cellularmitosis pushed a commit to cellularmitosis/go that referenced this issue Aug 24, 2023
Add linker support for the openbsd/ppc64 port.

Updates golang#56001

Change-Id: I18bc19b4086599996aebfbe68f2e85e1200589ca
Reviewed-on: https://go-review.googlesource.com/c/go/+/475619
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Paul Murphy <murp@ibm.com>
Reviewed-by: Eric Grosse <grosse@gmail.com>
cellularmitosis pushed a commit to cellularmitosis/go that referenced this issue Aug 24, 2023
Updates golang#56001

Change-Id: Ic7b4ecb2e471292894c54610e8acda8822c890fb
Reviewed-on: https://go-review.googlesource.com/c/go/+/518275
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Paul Murphy <murp@ibm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
gopherbot pushed a commit that referenced this issue Oct 31, 2023
Updates #56001

Change-Id: I16440114ecf661e9fc17d304ab3b16bc97ef82f8
Reviewed-on: https://go-review.googlesource.com/c/go/+/517935
Run-TryBot: Joel Sing <joel@sing.id.au>
Reviewed-by: Paul Murphy <murp@ibm.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
@gopherbot
Copy link

Change https://go.dev/cl/547935 mentions this issue: internal/releasetargets: regenerate all ports for Go 1.22

@cherrymui
Copy link
Member

@4a6f656c @qbit would you like to write release notes for the new port? Thanks.

@gopherbot
Copy link

Change https://go.dev/cl/547999 mentions this issue: doc/go1.22: document openbsd/ppc64 port

gopherbot pushed a commit that referenced this issue Dec 7, 2023
Updates #56001.
For #61422.

Change-Id: Ie4afbc42191b155d28945bd8f104ad7a63d30db9
Reviewed-on: https://go-review.googlesource.com/c/go/+/547999
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Than McIntosh <thanm@google.com>
gopherbot pushed a commit to golang/build that referenced this issue Dec 7, 2023
It's the same list as 1.21, with the addition of the openbsd/ppc64 port.

Generated with 'go generate'.

For golang/go#40561.
For golang/go#56001.

Change-Id: I93d2cfd191134f524255393e8b60bf6ce7328940
Reviewed-on: https://go-review.googlesource.com/c/build/+/547935
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
@cherrymui
Copy link
Member

Is the port done, or there are still things to do? Can we close this issue? Thanks.

@dmitshur
Copy link
Contributor

dmitshur commented Dec 8, 2023

It shows up in the port list (gotip tool dist list) as of CL 517935,
it's documented in the release notes (CL 547999),
and the builder at build.golang.org is passing (there's more work to add it to LUCI; that's #63480).
It still has its known issue set to this one, and that should be removed. I sent CL 548218 to do that.
If there's more to do, it's okay to track in separate issues.

Thanks and congratulations!

@gopherbot
Copy link

Change https://go.dev/cl/548218 mentions this issue: dashboard: remove known issue for openbsd-ppc64-n2vi

@dmitshur dmitshur modified the milestones: Backlog, Go1.22 Dec 8, 2023
ezz-no pushed a commit to ezz-no/go-ezzno that referenced this issue Feb 18, 2024
Updates golang#56001.
For golang#61422.

Change-Id: Ie4afbc42191b155d28945bd8f104ad7a63d30db9
Reviewed-on: https://go-review.googlesource.com/c/go/+/547999
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Accepted
Development

No branches or pull requests