objdump riscv: Stop disassembling addi rd, rs, 0 with a relocation as mv rd, rs?
Jan Beulich
jbeulich@suse.com
Tue Feb 7 15:14:47 GMT 2023
On 07.02.2023 15:39, Maciej W. Rozycki wrote:
> On Mon, 6 Feb 2023, Fangrui Song wrote:
>> In llvm-project, https://reviews.llvm.org/D143345 brings up the topic
>> whether we should keep addi rd, rs, 0 when it is associated with a
>> relocation. If it does, the relocation may resolve to a non-zero and
>> `mv rd, rs` may look confusing.
>
> I agree, I was quite amused when I came across it a while before, and I
> can imagine people may get confused.
I agree as well.
> However it may be quite hard to implement given how the GNU disassembler
> has been structured; most easily probably by setting the `no_aliases' flag
> temporarily for any instruction seen with a relocation attached. This
> could have undesired consequences elsewhere though and would most likely
> make Jan unhappy who wants to see aliases in disassembly rather than
> machine instruction mnemonics with the immediate forms.
>
> So instead we may need another flag for the opcode table, such as
> INSN_NORELOC, which would exclude the given entry for instructions with
> any relocation attached; I think this would be the cleanest approach,
> though maybe a little bit more involving implementation-wise.
Could we get away with simply skipping aliases in general when there's a
relocation for an insn?
Jan
More information about the Binutils
mailing list