We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
For
.p2align 2 f: la.got $a0, x ret .data .p2align 2 .globl x .hidden x x: .4byte 114514
The linker is able to relax la.got to la.pcrel or even pcaddi, but the GOT entry for x still exists.
la.got
la.pcrel
pcaddi
Note that x86 BFD linker is able to remove the orphan GOT entry when relaxing movq to leaq in this example:
movq
leaq
.data x: .4byte 114514 .text f: movq x@GOTPCREL(%rip), %rax ret
The text was updated successfully, but these errors were encountered:
Also note that if we remove
.globl x .hidden x
from the test case, the relaxation still should happen but in reality it doesn't. It seems better to resolve both issues at once.
Sorry, something went wrong.
More info: https://sourceware.org/pipermail/binutils/2024-November/137658.html
No branches or pull requests
For
The linker is able to relax
la.got
tola.pcrel
or evenpcaddi
, but the GOT entry for x still exists.Note that x86 BFD linker is able to remove the orphan GOT entry when relaxing
movq
toleaq
in this example:The text was updated successfully, but these errors were encountered: