There were ARMv5TE boards with 512 MiB (as in RPi1), that is enough
for go.
Also remove go-bootstrap from makedepends. In a cross-build it ends
up with depending on itself which is safe (abuild handles this) but
ugly. In normal build it is duplicated which is safe but ugly too.
Do not bump pkgrel since
- no previous armel packages exist;
- makedepends change makes no difference for the created apks.
Passes locally (even in abuild rootbld) but fails on the builders with
the following error message:
testing: can't write /tmp/go-build314848300/b744/testlog.txt:
write /tmp/go-build314848300/b744/testlog.txt: broken pipe
This warning seems to be emitted since we build with `-shared` for PIE
by default through our `default-buildmode-pie.patch`. Building with
shared linkage requires depending on CGO. The patch, however, doesn't
force a dependency on CGO. As with android we need to force external
linkage in order to always depend on CGO thereby resolving this warning.
I am unsure whether this is really the best way to fix the problem since
I don't know enough about the internals of the go compiler. However, I
am under the impression that the person who originally committed the
patch isn't familiar with the compiler internals either. Thus it's
probably ok to push this as is.
When a MOVDstorezero (8 bytes) is used the offset field
in the instruction must be a multiple of 4. This situation
had been corrected in the rules for other types of stores
but not for the zero case.
_main has an early check to verify if a binary is statically or dynamically
linked that depends on R0 being zero. R0 is not guaranteed to be zero at that
point and this can break Go on ppc64le.
- remove unneeded "|| return 1"
- make copying sources as separate step
- fix 'rootpkg' to be invokable as individual step multiple times
(fix environment, and not moving things out of $builddir)
- do not ship cross-built tools in 'go-tools' package
The external linker for ppc64le was pointing to /lib64/ld-musl-ppc64le.so.1
but the valid path for alpine ppc64le is /lib/ld-musl-powerpc64le.so.1.
This issue was found by Lynn Boger from IBM go compiler team.
Go package build was disabled on ppc64le because it was missing go-bootstrap dependency.
As the last version of go-bootstrap (1.4) is not available for ppc64le, I cross-compiled
it and uploaded it to: ftp://ftp.unicamp.br/pub/ppc64el/alpine/go-bootstrap/
The go-bootstrap is now installed in build-edge-ppc64le and can compile the go package.
Now that go-bootstrap can be the bootstrap package (for x86*) or
the real go package, search for the right bootstrap go directory
to use. This also adds s390x arch mapping.
This enables Go to compile itself with previous Go build. Should
improve build times. More importantly, this is prerequisite to get
the cross compilation makedependencies right. Support for cross-compiling
Go to new arches is due out soon.