Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
cmd/link: merge dev.link into master branch for Go 1.16 early #40703
This is a tracking issue for merging the dev.link branch into master for Go 1.16. A great deal of work has happened on dev.link to further improve the linker since Go 1.15, and we plan to merge this as soon as the 1.16 tree opens in order to avoid conflicts. At this point, we're wrapping up a few final changes and don't expect any more major changes to the linker in the near term.
While this is a large change, we propose to do the merge without a feature flag. Instead, we believe the following are sufficient risk mitigation:
In contrast, we believe attempting to feature flag this work would be so involved as to actually increase risk and add significant testing burden, as there's no "obviously correct" fallback (unlike how Go 1.15 could fall back to the 1.14 linker).
In the dev.link branch we have continued developing the new object file format support and the linker improvements described in https://golang.org/s/better-linker . Since the last merge (May 1st 2020), more progress has been made to improve the new linker, with improvements on both linker speed and memory usage. Fixes #40703. Change-Id: I9924ea88d981845c3a40ec8c25820120fc21c003
Add a draft version of a blurb on improvements to the linker. This will need to be finalized later in the release since there are still some additional changes to be made to the linker in 1.16. Updates #40703. Change-Id: Id85c7e129071cc2faacb09c53a2968bd52b0a7b4 Reviewed-on: https://go-review.googlesource.com/c/go/+/248238 Reviewed-by: Cherry Zhang <firstname.lastname@example.org> Reviewed-by: Austin Clements <email@example.com>