-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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: need to handle new-style LoongArch relocs #54222
Comments
Change https://go.dev/cl/420982 mentions this issue: |
Change https://go.dev/cl/420983 mentions this issue: |
LoongArch ELF psABI spec update: loongson/LoongArch-Documentation#57 Corresponding binutils implementation: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=6d13722a97cee3fd397e116bde3bcedbb1e220be https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=9801120721c3a702ce3bd50433ef920f92a83502 For #54222 Change-Id: I51e72294205847a69c01d741a3126248f7a7e41c Reviewed-on: https://go-review.googlesource.com/c/go/+/420982 Reviewed-by: Meng Zhuo <[email protected]> Run-TryBot: Meng Zhuo <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Run-TryBot: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> Reviewed-by: Cherry Mui <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: abner chenc <[email protected]>
Change https://go.dev/cl/458836 mentions this issue: |
@gopherbot please open backport issues. |
Backport issue(s) opened: #57443 (for 1.18), #57444 (for 1.19). Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://go.dev/wiki/MinorReleases. |
…type on loong64 This is a minimum backport of CL 420983 without an API change in debug/elf. Original CL description: Due to the latest binutils change [1], at least for certain 32-bit relocs in .eh_frame section, this new type of relocation record is emitted, leading to breakage on systems with bleeding-edge toolchain when trying to link with object(s) with such new-style relocs. Simply treating it the same as the existing reloc types seems enough. Updates #54222. Fixes #57444. [1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=f09482a8747b6fd4c2d59a6a64677d3a3fe1e092 Change-Id: Idd86294a11c1d13b88acbca59e537656a57d8109 Reviewed-on: https://go-review.googlesource.com/c/go/+/458836 Reviewed-by: WANG Xuerui <[email protected]> Auto-Submit: Dmitri Shuralyov <[email protected]> Reviewed-by: David Chase <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Run-TryBot: Cherry Mui <[email protected]>
Change https://go.dev/cl/459876 mentions this issue: |
It made sense for the linux/loong64 builder to only test the main branch during the port's development. Now that it's complete, update the policy to test all supported Go versions (starting with Go 1.19, when the port was added) instead of just tip. This will increase the volume of work for the builder by some amount, hopefully that's fine, it seems to have enough resources to handle it. Updates golang/go#54222. Change-Id: Ic774b9890fc4826e56613f360d6edd03f50e3deb Reviewed-on: https://go-review.googlesource.com/c/build/+/459876 Reviewed-by: Dmitri Shuralyov <[email protected]> Auto-Submit: Dmitri Shuralyov <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: abner chenc <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: David Chase <[email protected]> Run-TryBot: Dmitri Shuralyov <[email protected]>
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes (found during packaging testing)
What operating system and processor architecture are you using (
go env
)?Gentoo Linux, Loongson 3A5000.
go env
OutputWhat did you do?
cd $GOROOT/src/cmd/link && go test ./...
What did you expect to see?
all tests pass
What did you see instead?
This is because I'm using the next iteration of LoongArch GNU toolchain that includes support for the "new-style" relocs, producing relocs unknown to
cmd/link/internal/loadelf
.debug/elf
and several other places need syncing.I don't plan to immediately change codegen and remove support for generating old-style relocs, since doing so will break compatibility with the binutils-{2.38,2.39} and gcc-12.1 combo that doesn't recognize the new reloc types.
This might need backporting but I fear the change is too big for a 1.19.x point release.
EDIT: toolchain versions
The text was updated successfully, but these errors were encountered: