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: use gold on ARM/ARM64 only if gold is available #49748

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jefferyto
Copy link

COPY relocation handling on ARM/ARM64 has been fixed in recent versions
of the GNU linker. This switches to gold only if gold is available.

Fixes #22040.

COPY relocation handling on ARM/ARM64 has been fixed in recent versions
of the GNU linker. This switches to gold only if gold is available.

Fixes golang#22040.
@google-cla google-cla bot added the cla: yes Used by googlebot to label PRs as having a valid CLA. The text of this label should not change. label Nov 23, 2021
@gopherbot
Copy link
Contributor

This PR (HEAD: 5ccf9f4) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/c/go/+/366279 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link
Contributor

Message from Go Bot:

Patch Set 1:

Congratulations on opening your first change. Thank you for your contribution!

Next steps:
A maintainer will review your change and provide feedback. See
https://golang.org/doc/contribute.html#review for more info and tips to get your
patch through code review.

Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.

During May-July and Nov-Jan the Go project is in a code freeze, during which
little code gets reviewed or merged. If a reviewer responds with a comment like
R=go1.11 or adds a tag like "wait-release", it means that this CL will be
reviewed as part of the next development cycle. See https://golang.org/s/release
for more details.


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Than McIntosh:

Patch Set 1: Run-TryBot+1 Trust+1


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Go Bot:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Go Bot:

Patch Set 1: TryBot-Result+1

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Cherry Mui:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Than McIntosh:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Cherry Mui:

Patch Set 1:

(2 comments)


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request Dec 28, 2021
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request Dec 28, 2021
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 0ac57b1)
jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request Dec 28, 2021
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request Dec 28, 2021
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit eac2e91)
@gopherbot
Copy link
Contributor

Message from Alex Xu:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Alex Xu:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Jeffery To:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

1715173329 pushed a commit to immortalwrt/packages that referenced this pull request Dec 30, 2021
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
@gopherbot
Copy link
Contributor

Message from Alex Xu:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

Lienol pushed a commit to Lienol/openwrt-packages that referenced this pull request Dec 31, 2021
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
utoni pushed a commit to utoni/openwrt-packages that referenced this pull request Jan 21, 2022
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
graysky2 pushed a commit to graysky2/packages that referenced this pull request Feb 6, 2022
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Lienol pushed a commit to Lienol/openwrt-packages that referenced this pull request Feb 11, 2022
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
@gopherbot
Copy link
Contributor

Message from Cherry Mui:

Patch Set 1: Code-Review+2


Please don’t reply on this GitHub thread. Visit golang.org/cl/366279.
After addressing review feedback, remember to publish your drafts!

utoni pushed a commit to utoni/openwrt-packages that referenced this pull request May 30, 2022
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Lienol pushed a commit to Lienol/openwrt-packages that referenced this pull request Jan 4, 2023
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Lienol pushed a commit to Lienol/openwrt-packages that referenced this pull request Jan 7, 2023
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
@williamh
Copy link

Hi, I am the go package maintainer on Gentoo linux.
I have a user who is requesting that I add a distro-specific patch to go to completely disable gold.
I'm not really a fan of distro-specific patching, so I wanted to bring this to your attention.

this is our bug.

Let me know what you think.

William

jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request Aug 15, 2023
Upstream has updated the Go compiler to not use gold when building for
arm, and is waiting for a fix to binutils (released in 2.41) before
doing the same for aarch64.[1]

Based on the above, it does not appear that
golang/go#49748 will be merged. This removes the
patch from that pull request.

[1]: golang/go#22040

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
jefferyto added a commit to jefferyto/openwrt-packages that referenced this pull request Sep 22, 2023
Upstream has updated the Go compiler to not use gold when building for
arm, and is waiting for a fix to binutils (released in 2.41) before
doing the same for aarch64.[1]

Based on the above, it does not appear that
golang/go#49748 will be merged. This removes the
patch from that pull request.

[1]: golang/go#22040

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit a80af7e)
BKPepe pushed a commit to openwrt/packages that referenced this pull request Sep 27, 2023
Upstream has updated the Go compiler to not use gold when building for
arm, and is waiting for a fix to binutils (released in 2.41) before
doing the same for aarch64.[1]

Based on the above, it does not appear that
golang/go#49748 will be merged. This removes the
patch from that pull request.

[1]: golang/go#22040

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit a80af7e)
smallprogram added a commit to smallprogram/packages that referenced this pull request Oct 1, 2023
Upstream has updated the Go compiler to not use gold when building for
arm, and is waiting for a fix to binutils (released in 2.41) before
doing the same for aarch64.[1]

Based on the above, it does not appear that
golang/go#49748 will be merged. This removes the
patch from that pull request.

[1]: golang/go#22040

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Beginner-Go pushed a commit to coolsnowwolf/packages that referenced this pull request Oct 1, 2023
Upstream has updated the Go compiler to not use gold when building for
arm, and is waiting for a fix to binutils (released in 2.41) before
doing the same for aarch64.[1]

Based on the above, it does not appear that
golang/go#49748 will be merged. This removes the
patch from that pull request.

[1]: golang/go#22040

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
lu-zero pushed a commit to domo-iot/packages that referenced this pull request Oct 23, 2023
Upstream has updated the Go compiler to not use gold when building for
arm, and is waiting for a fix to binutils (released in 2.41) before
doing the same for aarch64.[1]

Based on the above, it does not appear that
golang/go#49748 will be merged. This removes the
patch from that pull request.

[1]: golang/go#22040

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Lienol pushed a commit to Lienol/openwrt-packages that referenced this pull request Mar 2, 2024
Includes fixes for:
* CVE-2021-44716: unbounded growth of HTTP/2 header canonicalization
  cache
* CVE-2021-44717: syscall.ForkExec error can close file descriptor 0

Added patches:
* 001-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-available.patch:
  golang/go#49748 backported for Go 1.17,
  this removes the requirement for the gold linker when building Go
  programs that use Go plugins on arm/arm64

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
ineedfat pushed a commit to ineedfat/rockchip_rk3568_openwrt_packages that referenced this pull request Jun 7, 2024
Upstream has updated the Go compiler to not use gold when building for
arm, and is waiting for a fix to binutils (released in 2.41) before
doing the same for aarch64.[1]

Based on the above, it does not appear that
golang/go#49748 will be merged. This removes the
patch from that pull request.

[1]: golang/go#22040

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Used by googlebot to label PRs as having a valid CLA. The text of this label should not change.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

cmd/link: stop requiring gold on arm64 when GNU ld is fixed
3 participants