-
Notifications
You must be signed in to change notification settings - Fork 18k
all: port to AIX/ppc64 #25893
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
Comments
Wonderful! Will you guys consider AIX 6.1 ? |
Change https://golang.org/cl/138115 mentions this issue: |
No. Sorry. AIX 6.1 does not provide all the features required by Go (either GCC Go or golang). |
This is the first commit of a series that will add AIX as an operating system target for ppc64 architecture. Updates #25893 Change-Id: I865b67a9c98277c11c1a56107be404ac5253277d Reviewed-on: https://go-review.googlesource.com/138115 Run-TryBot: Brad Fitzpatrick <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]>
Change https://golang.org/cl/138725 mentions this issue: |
Change https://golang.org/cl/138719 mentions this issue: |
Change https://golang.org/cl/138731 mentions this issue: |
Change https://golang.org/cl/138720 mentions this issue: |
Change https://golang.org/cl/138718 mentions this issue: |
Change https://golang.org/cl/138723 mentions this issue: |
Change https://golang.org/cl/138733 mentions this issue: |
Change https://golang.org/cl/138728 mentions this issue: |
Change https://golang.org/cl/138721 mentions this issue: |
Change https://golang.org/cl/138716 mentions this issue: |
Change https://golang.org/cl/138717 mentions this issue: |
Change https://golang.org/cl/138724 mentions this issue: |
Change https://golang.org/cl/138722 mentions this issue: |
Change https://golang.org/cl/138727 mentions this issue: |
Change https://golang.org/cl/138730 mentions this issue: |
Change https://golang.org/cl/138729 mentions this issue: |
Change https://golang.org/cl/138726 mentions this issue: |
Change https://golang.org/cl/138732 mentions this issue: |
Change https://golang.org/cl/138734 mentions this issue: |
Change https://golang.org/cl/138736 mentions this issue: |
Update golang.org/x/net/internal/nettest to x/net git rev 9b4f9f5ad519 for: internal/nettest: add AIX operating system https://golang.org/cl/144077 This fixes the build failure of the vendored x/net/internal/nettest on aix/ppc64. Additionally this also pulls in: all: re-adjust build constraints for JS and NaCl https://golang.org/cl/122539 Updates #25893 Change-Id: I9abefc7d4ad158e9e68913362f7f1320321d6f5f Reviewed-on: https://go-review.googlesource.com/c/151301 Run-TryBot: Tobias Klauser <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]>
What should we say about the AIX port in the Go 1.12 release notes? |
Hi Bryan, Here is a first list of subjects we'll have to cover I think:
|
That's probably more information than we need for the release notes proper: most of the detail can probably go on an accompanying wiki page (e.g., https://golang.org/wiki/AIX). The release note itself should mostly just make people aware that it's an option. For some idea of scale, see https://golang.org/doc/go1.11#ports and https://golang.org/doc/go1.8#ports. |
Why are you listing crypto/aes as an unsupported feature? I think it should
work just like it does for linux/ppc64, it just doesn't have an optimized
asm implementation.
…On Thu, Dec 6, 2018 at 4:26 AM Tony Reix ***@***.***> wrote:
Hi Bryan,
Clément, who ports golang, is out today and tomorrow. I need to work with
him about what we should say about the AIX port of the Go 1.12 release. So,
what is the dead-line?
Here is a first list of subjects we'll have to cover I think:
- arch: 64bit only (ppc64)
- processors: Power8 and higher only
- OS version: AIX 7.2 minimum. Better results with TL2 (need to test
with TL3 & ASLR)
- Go features not yet supported: cgo, race detector (requires LLVM),
pprof, net IPv6, crypto/aes for ppc64, memory sanitizer, more ?
- build-modes not supported: ToBeCompleted
- tests results: ~100% OK in our dev environment. However still some
issues on our Go buildfarm VM
- gdb on AIX does not handle perfectly Go yet
- golang.org/x/sys/unix : handles AIX golang (and AIX GCC Go)
- golang.org/x/... : ToBeCompleted
- Performance: ?
- debug/xcoff: ?
- AIX RPMs required for running golang: git, subversion, mercurial, gcc
- AIX RPMs required for building golang: gcc-go ?, patch, coreutils,
findutils, file, file-libs, perl, pcre-devel.
- will also be available as AIX RPMs on BullFreeware web-site and then
on IBM AIX ToolBox
- other limitations: ?
- other: ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#25893 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AI_wjF_SVlc0w0YVOWm6z5IxxGev5I8Bks5u2PDLgaJpZM4UoLak>
.
|
Hi, I would said something like that: I don't know if you wish to be more precise about buildmode but we can add that only It can also be said that I think this should be enough. Maybe, I'll add a word about gdb (even if there is an issue about that ?) but it should be available before the true release anyway. About the Wiki page, that's a good idea ! But does it need to be ready before 1.12 first beta ? Or can I made it after ? |
@trex58 do we have documented anywhere the limitations preventing getting this off the ground for AIX 6.X? |
Hi, What's missing in 6.1 ? |
@theonewolf @pinacoelho We have to build the complete list of requirements golang has on the AIX operating system. |
@trex58 I am trying to produce a binary for some old servers that can not be upgraded to AIX 7.X, they are stuck on 6.X. |
golang on AIX, as on Linux/Power, requires Power8 or 9. Are they using such processors with their 6.1 ? |
I'm currently in a dead-end situation: AIX 6.1 & 7.1 on POWER5+POWER6, I'm trying to bootstrap gcc/gccgo from the GCC V6, and "it ain't easy" isn't even in the picture yet. Alternate option: build a cross-chain gccgo on linux/x86_64 to aix6.1/ppc64 (power5) to produce an initial golang for aix6.1/power5, but it's looking like a double effort for a half return. |
AFAIK, porting golang on AIX 6.1 seems impossible, due to the lack of some DWARF features even in last TLs. |
I understand it won't work on power7? What is the reason it's power8 or higher only? |
@owlmind |
@trex58 We have a lot of power7 systems and most likely will have to use them for at least 2-3 years. And end of life for AIX 7.1 is 30 April 2022. |
#19074 details the (imo, extremely flimsy) reason that golang does not support POWER7 or lower. There's been some community movement on getting a patchset to support down to POWER5, but it hasn't fully materialised yet. Letting people know just how many of us have non-P8 hardware and want to run Go will help. |
@trex58 My use-case is to run certain existing utilities written in Go on our customers' environments, which are AIX 7.1 and AIX 7.2. These utilities depend on existing C libraries, so lack of cgo is a blocker. |
@zuraff cgo is now available on master or in RPMs delivered by either us http://www.bullfreeware.com/affichage.php?id=4967 or by IBM on AIXToolBox. |
My customers use POWER8, POWER7 for production's environments. |
I think at this point the only way to get support for stable, older POWER ISAs is GCC Go. The Golang people are not receptive to us, the users of pre-P8 hardware, at all. |
I have warned the guys who take decisions about the many people asking for golang on older Power machines with AIX 7.2. Raw porting on Power7 (and lower maybe) with AIX 7.2 does not seem so complicated. But officially managing older Power versions may be a burden since it requires at first a lot of complementary tasks and it generates then more build/test/maintenance work. It has a cost. Porting golang on AIX 7.1 seems much more difficult. No plan. Moreover, now there are also work to be done on GCC Go for GCC v9 (v1.10 to v1.12 : lot of changes) and on golang.org/x (in order to make all golang packages aware of AIX). The priority for now seems to finalize GCC Go v9 and a complete golang on AIX 7.2 / Power8. Looks like there is an interesting discussion at: #19074 . I need to read it completely. |
@trex58 aix/ppc64 support was merged a while ago; is there anything else that needs to be done here? Or can this issue be closed? |
Yes, it can be closed. It's OK for AIX 7.2 and Power >= 8. About AIX 7.1, we'll see if someone requires it for an important project. |
Nice, thank you. Closing. |
We have started the port of golang v1.10/v1.11 to AIX / ppc64.
It will be available on AIX 7.2 first, maybe on AIX 7.1 too (probably with recent TLs).
Required hardware is Power8 or 9.
64bit only.
Bootstrap with GCC Go 8.1 has been done.
golang tests failures are now being fixed.
Port of golang.org/x has also being started.
First: sys/unix, It will work for both GCC Go and golang on AIX.
We plan to finalize the port in August/September. Available first as RPMs on BullFreeware.
The text was updated successfully, but these errors were encountered: