public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
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

  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).