From: "Maciej W. Rozycki" <macro@embecosm.com>
To: Fangrui Song <i@maskray.me>
Cc: Jan Beulich <jbeulich@suse.com>, binutils@sourceware.org
Subject: Re: objdump riscv: Stop disassembling addi rd, rs, 0 with a relocation as mv rd, rs?
Date: Tue, 7 Feb 2023 14:39:25 +0000 (GMT) [thread overview]
Message-ID: <alpine.DEB.2.20.2302071415340.7841@tpp.orcam.me.uk> (raw)
In-Reply-To: <DS7PR12MB57659139C1D9EA568403722DCBDB9@DS7PR12MB5765.namprd12.prod.outlook.com>
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.
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.
Overall I can see it as an unfortunate side effect of choosing `ADDI rd,
rs, 0' rather than `ADD rd, rs, x0' (why?) for the canonical MV macro
encoding. Though of course it's the tools that have to adapt, not the
other way round.
FWIW,
Maciej
next prev parent reply other threads:[~2023-02-07 14:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-07 2:40 Fangrui Song
2023-02-07 14:39 ` Maciej W. Rozycki [this message]
2023-02-07 15:14 ` Jan Beulich
2023-02-07 15:44 ` Andreas Schwab
2023-02-07 16:04 ` Maciej W. Rozycki
2023-02-09 2:21 ` Nelson Chu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.20.2302071415340.7841@tpp.orcam.me.uk \
--to=macro@embecosm.com \
--cc=binutils@sourceware.org \
--cc=i@maskray.me \
--cc=jbeulich@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).