-
Notifications
You must be signed in to change notification settings - Fork 951
core: support for Go 1.15 #1293
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
Conversation
Signed-off-by: deadprogram <[email protected]>
…tion Signed-off-by: deadprogram <[email protected]>
Signed-off-by: deadprogram <[email protected]>
778bf40
to
e5ac2fc
Compare
Looks like we hit the limit on number of exported symbols in Windows? http://lists.llvm.org/pipermail/llvm-dev/2019-June/133204.html |
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.
I googled a bit but am not sure what is causing the link error here. Note that 90506 is significantly larger than the maximum of 65535 so something changed probably, probably in Go 1.15.
Actually I'm surprised how few changes are needed to get this working. Often the diff is much larger. |
Somehow people online talk about this issue as if it's an issue with DLLs, but we're not building a DLL right? |
I think the DLL comments are still referring to the number of exported functions. In our case, might they be debug functions being exported? |
That's possible, at least some people on the Internet say they fixed the issue by disabling debug symbols. However, I think that would be debug symbols in Go as LLVM didn't change. Maybe there's something in the release notes (I didn't check). |
Signed-off-by: deadprogram <[email protected]>
Signed-off-by: deadprogram <[email protected]>
according to https://ginkgo-project.github.io/ginkgo/doc/develop/install_ginkgo.html |
I'm not exactly sure where to try putting that flag so it gets included in the Windows build, however. |
That doesn't make much sense to me. |
Looks like it is not just us: golang/go#40795 |
Great, maybe we should wait until that issue is resolved. From the release notes:
This might be it. I don't know how ASLR works on Windows but on Linux it works by building the exectuable as a shared object. If the same is true for Windows, disabling PIE might work around the issue. |
I was just reading that. Looks like we need |
according to https://groups.google.com/g/golang-nuts/c/kLgEb2kxI6A/m/jVArMVO5BQAJ |
Probably in these places: For example, replacing |
That's for a different issue ( |
Signed-off-by: deadprogram <[email protected]>
OK that did it. All tests passing now on all architectures! I think ready to merge. |
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.
Looks good to me.
Signed-off-by: deadprogram <[email protected]>
Thanks everyone for the feedback, and special thanks to @QuLogic who got this process started. Now merging. |
This PR makes the needed changes so that TinyGo will work with the new Go 1.15 release. It also adds Go 1.15 to the tests that are run by CircleCI and MS Azure.