----- Original Message -----
From: "'John Paul Adrian Glaubitz' via golang-dev"
<golang-dev(a)googlegroups.com>
To: "Lynn Boger" <laboger(a)gmail.com>, "golang-dev"
<golang-dev(a)googlegroups.com>
Sent: Saturday, June 17, 2017 8:37:34 PM
Subject: Re: [golang-dev] Re: instruction sets used for Power
On 06/16/2017 02:26 PM, Lynn Boger wrote:
> Support for the ppc64 v1 ABI was never added to golang. That means the
> types of linking modes that can be used with golang on ppc64 big endian
> are limited,
> preventing many of the commonly used Go applications to build or run on
> ppc64 big endian. None of the newer buildmodes (pie, shared, etc.) are
> supported on
> ppc64 big endian because of this. While there have been a few complaints
> on this, there haven't been many. To me that is an indicator of how
> golang on
> ppc64 big endian is used. I believe if there were serious users for ppc64
> big endian, there would have been more requests for full linker support.
At least checking for packages with "golang" in their name, there don't
seem
to be many Go
packages on ppc64 which fail to build. In fact, I can only count four:
glaubitz@wuiet:~$ wanna-build --arch ppc64 --list build-attempted | grep -i
golang
misc/golang-github-docker-docker-credential-helpers_0.5.0-2 by
buildd_ppc64-kapitsa [extra:uncompiled:calprio{32}:days{39}]
misc/golang-github-docker-libnetwork_0.8.0-dev.2+git20170202.599.45b4086-1 by
buildd_ppc64-ookuninushi [extra:uncompiled:calprio{32}:days{24}]
misc/dh-make-golang_0.0~git20161120.0.71f5e23-1 by buildd_ppc64-ookuninushi
[extra:uncompiled:bp{-10000}:calprio{-9968}:days{96}]
misc/golang-gogoprotobuf_0.3+git20170120.144.265e960d-1 by
buildd_ppc64-kapitsa [extra:uncompiled:bp{-10000}:calprio{-9968}:days{96}]
glaubitz@wuiet:~$
> golang for ppc64 big endian was always documented as an "experimental
port"
> and has never been available on the
golang.org/dl website.
Being able to download a binary build isn't necessary when Fedora, Debian and
openSUSE are
building Golang packages for ppc64 by default.
> gccgo is a good option, and it can be targeted for power5 or power8.
But is it 100% on par with Golang? gccgo isn't of much use if I can
only build a fraction of the important Go packages like Docker, rkt
or Kubernetes with it.
To be honest I'm currently considering proposal of drop(stop building) of all Go based
packages in Fedora for ppc64 architecture starting from next Fedora release(unless Fedora
moves to be p8+). Gccgo could be a way forward but it will require substantial time
investment that I don't feel good about requiring from fellow packagers(especially as
Go packaging in Fedora is mostly one man(jchaloup's) show, when not counting docker,
kubernetes, openshift and golang package maintainers) and that I can't personally
do(due to time constrains). Gccgo mostly worked(hm.. haven't checked on it in a
while), but I'm afraid that among many things some packages/projects which use their
own build scripts are quiet strict in their expectations/assumptions and will most
probably require some hacking(*looks with dread at kubernetes and its derivates*).
As of ppc64 port. Will gc get ppc64 extld/Cgo support? If I have followed the discussions
properly(might have missed something) it will be at power ABIv2 level, right?, which seems
to me as bit odd as most of the ppc64 distribution(operation systems) that I know are
ABIv1 and AFAIK ABI is incompatible, right?
JC
PS: BCC'ed fedora's ppc ML(ppc(a)lists.fedoraproject.org), to take any
"Fedora" discussion there.
>
> Adrian
>
> --
> .''`. John Paul Adrian Glaubitz
> : :' : Debian Developer - glaubitz(a)debian.org
> `. `' Freie Universitaet Berlin - glaubitz(a)physik.fu-berlin.de
> `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-dev+unsubscribe(a)googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.
>