-
-
Notifications
You must be signed in to change notification settings - Fork 695
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
community/go: upgrade to 1.8 #983
Conversation
yuck this is failing and I am looking into why I think it is somehow related to golang/go#18243 |
The golang/go@53aec79 commit will make default non-pie. I think we want default pie, just like we have gcc defaulting to pie. |
golang/go@53aec79 doesn't change the default, it just passes -no-pie to the linker when buildmode is I can try and get this to build with the patch to change the default buildmode to pie if you think that is better... however I am not sure it is best to deviate from upstream like this unless we have to? If we want pie in stuff we are building its simple enough to set --buildmode=pie. As I understood this patch was here since go didn't have a way to set -no-pie on the linker, not because we were changing the default behaviour of an upstream tool... |
Humm so when trying to build with the the build fails with
so I tried setting and then I run into
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is also comment in abuild:
# The source needs to be installed due to an upstream
# bug (https://github.com/golang/go/issues/2775).
# When this is resolved we can split out the source to a
# go-src sub package.
I believe the above bug is fixed, so the abuild could be simplified based on the comment too. Could this be done at same time as the major version upgrade?
ld.Thearch.TLSIEtoLE = tlsIEtoLE | ||
|
||
- ld.Thearch.Linuxdynld = "/lib64/ld-linux-x86-64.so.2" | ||
+ ld.Thearch.Linuxdynld = "/lib/ld-musl-x86_64.so.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you need to patch the ld name here, you likely need to patch it for all supported architectures.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the path to the dynamic linker right? so I would imagine that we don't need to patch it for other GOOSes ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, just for the other architectures (x86, arm, etc).
Go 1.8.1 has been released. Edge should probably target it, as it contains a number of bug fixes: |
Updated to target go 1.8.1 |
I posted to golang-nuts asking how to make the default buildmode PIE. Seems the build still fails with the pie patch applied. |
golang-nuts thread started: https://groups.google.com/forum/#!topic/golang-nuts/gQ6ArCTlPGU |
It looks like the golang team is working on an alpine builder. I don't know if any of their work could be leveraged here: |
The build can be fixed with:
I also asked about this in golang-nuts, see if they can give suggestions how to fix this without removing --no-clean as it slows downs things considerably. Another things I'd like to fix while at this is splitting the -source package. |
@fabled I have applied your suggested changes... |
set-external-linker.patch adresses golang/go#18243
Merged in 34c3049 by @ncopa. Thanks for your contribution! (This pull request has been closed automatically by GitHub PR Closer. If you think that it’s not resolved yet, please add a comment.) |
default-buildmode-pie.patch has been removed since is addressed upstream
by golang/go@53aec79
set-external-linker.patch adresses golang/go#18243