Skip to content
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

cmd/link: fail to build when using time/tzdata on ARM [1.16 backport] #44640

Closed
gopherbot opened this issue Feb 26, 2021 · 6 comments
Closed

cmd/link: fail to build when using time/tzdata on ARM [1.16 backport] #44640

gopherbot opened this issue Feb 26, 2021 · 6 comments

Comments

@gopherbot
Copy link

@gopherbot gopherbot commented Feb 26, 2021

@cherrymui requested issue #44639 (fixed in 098504c for Go 1.17) to be considered for backport to the next 1.16 minor release.

@gopherbot please backport this to Go 1.16. This causes programs fail to build without easy workaround.

@gopherbot
Copy link
Author

@gopherbot gopherbot commented Feb 26, 2021

Change https://golang.org/cl/296909 mentions this issue: [release-branch.go1.16] cmd/link: generate trampoline for inter-dependent packages

@gopherbot

This comment was marked as off-topic.

@toothrot toothrot modified the milestones: Go1.16.1, Go1.16.2 Mar 10, 2021
@cagedmantis cagedmantis modified the milestones: Go1.16.2, Go1.16.3 Mar 11, 2021
@toothrot
Copy link
Contributor

@toothrot toothrot commented Mar 18, 2021

Approved. This is a serious issue with no workaround.

@gopherbot
Copy link
Author

@gopherbot gopherbot commented Mar 25, 2021

Closed by merging 9c7463c to release-branch.go1.16.

@gopherbot gopherbot closed this Mar 25, 2021
gopherbot pushed a commit that referenced this issue Mar 25, 2021
…dent packages

Currently, in the trampoline generation pass we expect packages
are laid out in dependency order, so a cross-package jump always
has a known target address so we can check if a trampoline is
needed. With linknames, there can be cycles in the package
dependency graph, making this algorithm no longer work. For them,
as the target address is unkown we conservatively generate a
trampoline. This may generate unnecessary trampolines (if the
packages turn out laid together), but package cycles are extremely
rare so this is fine.

Updates #44639.
Fixes #44640.

Change-Id: I2dc2998edacbda27d726fc79452313a21d07787a
Reviewed-on: https://go-review.googlesource.com/c/go/+/292490
Trust: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
(cherry picked from commit 098504c)
Reviewed-on: https://go-review.googlesource.com/c/go/+/296909
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
@s8mathur
Copy link

@s8mathur s8mathur commented Apr 3, 2021

Boggles my mind that the mighty Google can't write tests for, and use standard CI/test dashboards to prevent such bloopers from shipping to production releases. Happens routinely with Go - easily unit-testable features breaking in the wild, then a flurry of backports and minor point releases to patch.

@ianlancetaylor
Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Apr 3, 2021

@s8mathur We have fairly extensive testing and dashboards. See https://build.golang.org/. But we are not perfect. Go was started at "the mighty Google," but it is an open source project, and we always welcome help making it better. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants