From: Palmer Dabbelt <palmer@dabbelt.com>
To: aburgess@redhat.com
Cc: binutils@sourceware.org, research_trasio@irq.a4lg.com,
nelson@rivosinc.com, kito.cheng@sifive.com,
binutils@sourceware.org
Subject: Re: [PATCH v2 0/6] RISC-V: Fix disassembler types and styles
Date: Wed, 05 Oct 2022 15:37:14 -0700 (PDT) [thread overview]
Message-ID: <mhng-fedcbe1e-1046-4d98-9581-3da705c289fa@palmer-ri-x1c9> (raw)
In-Reply-To: <8735c4genq.fsf@redhat.com>
On Tue, 04 Oct 2022 01:46:01 PDT (-0700), aburgess@redhat.com wrote:
> Palmer Dabbelt <palmer@dabbelt.com> writes:
>> On Mon, 03 Oct 2022 02:59:18 PDT (-0700), aburgess@redhat.com wrote:
>>> Tsukasa OI via Binutils <binutils@sourceware.org> writes:
>>>
>>>> Hello,
>>>>
>>>> This patchset fixes various typing and styling errors on the RISC-V
>>>> disassembler.
>>>
>>> I can't approve binutils patches.
>>>
>>> I've taken a look through this series, and other than the minor typo I
>>> spotted, this all looks good to me.
>>
>> My worry with these things is that it's sort of a grey area in terms of
>> what our stable user interface is: there's definitely folks who try and
>> parse the text output of tools like objdump and changing anything risks
>> breaking that. IMO that's too strict of a stable interface to keep
>> around as it pretty much prevents us from fixing any disassembly
>> weirdness, but I'm not sure if that's what other ports do and I don't
>> want to make a mess by breaking users' expectations here.
>
> I guess we'd want to consider these things on a case-by-case basis. I'm
> struggling to think of a situation where we wouldn't want to fix
> something in the disassembler output if it was wrong over leaving it
> incorrect because someone, somewhere, might have a script that depends
> on the broken output.
>
> But unless I've missed something, I don't think this series makes any
> changes to the output other than styling, and I don't think a script
> that's trying to parse the disassembler output should be running with
> styling switched on....
>
> ...or if they are, maybe because they want to figure out which bits of
> the text are which, then surely they'd welcome these fixes?
>
>> That said, as far as I can tell the only user-visible change here is to
>> print some bits with the correct syntax coloring in GDB.
>
> And in objdump, which also styles its output by default now when the
> output is going to a tty. Any scripts that capture objdump output
> should see no changes with this series.
Ah, cool, I hadn't seen that when poking around. I don't think it
changes the reasoning, though.
> The styling is pretty new, and I knew when I added it there were going
> to be mistakes with things styled incorrectly. I was basically relying
> on getting something in that was not terrible, and then relying on folk
> like Tsukasa to come along and fix my mistakes.
>
> IMHO, any script that relies on a fixed styling is a bad script.
Ya, that seems like an easy one -- doubly so if it's relying on styling
that's wrong it a handful of cases. Like you said, if anything this
would fix scripts rather than break them.
> I'd probably go further, and say that any script that can't handle minor
> changes in the disassembly output at all is a bad script, but without
> seeing every case that might be a little harsh.
I've definitely written scripts like that, and it felt pretty bad at the
time. It'd still be a small headache if they broke: less actually
fixing the script, but more that some test would break on a binutils
upgrade and that tends to spook the HW folks into just never upgrading
the toolchain again (even if it's just a test checking script that broken).
That kind of stuff is someone else's problem these days, though, so I'm
fine just pretending none of it ever happened ;)
> Anyway, FWIW, I think we should for sure approve this series.
Works for me. Sounds like Jeff was saying about the same thing in his
reply, so approved from me.
Tsukasa: I haven't built/tested these and my box is kind of tied up with
Linux right now, but feel free to commit them assuming someone's tested
them.
Thanks!
>
> Thanks,
> Andrew
>
>
>> Seems pretty
>> straight-forward to say anything users can't rely on parsing syntax
>> highlighting colors being a stable interface, so maybe we can just punt
>> on the grey area for now ;)
>>
>>> Thanks for doing this.
>>
>> Yep. These LGTM, but I'm still kind of buried thanks to the
>> a few weeks of conference->COVID. They're probably fine, but hopefully
>> Nelson has the time to chime in -- if not I'll leave them in the queue.
>>
>> Thanks!
>>
>>>
>>> Andrew
>>>
>>>
>>>
>>>>
>>>> Previous Patchsets:
>>>> <https://sourceware.org/pipermail/binutils/2022-July/121790.html> (2022-07-13)
>>>> <https://sourceware.org/pipermail/binutils/2022-August/122172.html> (2022-08-03)
>>>> Tracker on GitHub:
>>>> <https://github.com/a4lg/binutils-gdb/wiki/riscv_dis_printf_styles_and_types_1>
>>>>
>>>>
>>>> [Changes: v1 -> v2]
>>>>
>>>> - Added PATCH 5-6/6 after T-Head extensions are merged.
>>>> - Slightly improved the commit messages?
>>>>
>>>>
>>>> [Styling]
>>>> - Print real immediates with the `immediate' style (PATCH 1/6)
>>>> - Print comma and tabs with the `text' style (PATCH 4/6)
>>>> - Print T-Head literal operand with `immediate' style (PATCH 6/6)
>>>> [Typing on printf]
>>>> - Fix wrong type for "%x" format specifier (PATCH 2/6)
>>>> - Fix minor but various typing issues on T-Head immediates (PATCH 5/6)
>>>> [Small Optimization]
>>>> - Use smallest portable types possible to print (PATCH 3/6)
>>>>
>>>> Thanks,
>>>> Tsukasa
>>>>
>>>>
>>>>
>>>>
>>>> Tsukasa OI (6):
>>>> RISC-V: Fix immediates to have "immediate" style
>>>> RISC-V: Fix printf argument types corresponding %x
>>>> RISC-V: Optimize riscv_disassemble_data printf
>>>> RISC-V: Print comma and tabs as the "text" style
>>>> RISC-V: Fix T-Head immediate types on printing
>>>> RISC-V: Print XTheadMemPair literal as "immediate"
>>>>
>>>> opcodes/riscv-dis.c | 71 +++++++++++++++++++++++++--------------------
>>>> 1 file changed, 39 insertions(+), 32 deletions(-)
>>>>
>>>>
>>>> base-commit: c21736aed1d4877e090df60362413669dbdc391d
>>>> --
>>>> 2.34.1
next prev parent reply other threads:[~2022-10-05 22:37 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-13 13:40 [PATCH] RISC-V: fix printf types on riscv-dis.c Tsukasa OI
2022-08-03 4:27 ` [PATCH 0/4] RISC-V: Fix disassembler types and styles Tsukasa OI
2022-08-03 4:27 ` [PATCH 1/4] RISC-V: Fix immediates to have `immediate' style Tsukasa OI
2022-08-10 11:16 ` Andrew Burgess
2022-08-10 13:48 ` Tsukasa OI
2022-08-03 4:27 ` [PATCH 2/4] RISC-V: Fix printf argument types corresponding %x Tsukasa OI
2022-08-03 4:27 ` [PATCH 3/4] RISC-V: Optimize riscv_disassemble_data printf Tsukasa OI
2022-08-03 4:27 ` [PATCH 4/4] RISC-V: Print comma and tabs as the `text' style Tsukasa OI
2022-08-10 11:20 ` Andrew Burgess
2022-08-10 13:54 ` Tsukasa OI
2022-09-26 12:26 ` [PATCH v2 0/6] RISC-V: Fix disassembler types and styles Tsukasa OI
2022-09-26 12:26 ` [PATCH v2 1/6] RISC-V: Fix immediates to have "immediate" style Tsukasa OI
2022-09-26 12:26 ` [PATCH v2 2/6] RISC-V: Fix printf argument types corresponding %x Tsukasa OI
2022-09-26 12:26 ` [PATCH v2 3/6] RISC-V: Optimize riscv_disassemble_data printf Tsukasa OI
2022-09-26 12:26 ` [PATCH v2 4/6] RISC-V: Print comma and tabs as the "text" style Tsukasa OI
2022-09-26 12:26 ` [PATCH v2 5/6] RISC-V: Fix T-Head immediate types on printing Tsukasa OI
2022-10-03 9:57 ` Andrew Burgess
2022-10-03 11:06 ` Christoph Müllner
2022-09-26 12:26 ` [PATCH v2 6/6] RISC-V: Print XTheadMemPair literal as "immediate" Tsukasa OI
2022-10-03 11:06 ` Christoph Müllner
2022-10-03 9:59 ` [PATCH v2 0/6] RISC-V: Fix disassembler types and styles Andrew Burgess
2022-10-03 17:40 ` Palmer Dabbelt
2022-10-04 1:34 ` Tsukasa OI
2022-10-04 1:41 ` Nelson Chu
2022-10-04 8:46 ` Andrew Burgess
2022-10-05 22:37 ` Palmer Dabbelt [this message]
2022-10-05 21:52 ` Jeff Law
2022-10-03 10:43 ` [PATCH v3 " Tsukasa OI
2022-10-03 10:43 ` [PATCH v3 1/6] RISC-V: Fix immediates to have "immediate" style Tsukasa OI
2022-10-03 10:44 ` [PATCH v3 2/6] RISC-V: Fix printf argument types corresponding %x Tsukasa OI
2022-10-03 10:44 ` [PATCH v3 3/6] RISC-V: Optimize riscv_disassemble_data printf Tsukasa OI
2022-10-03 10:44 ` [PATCH v3 4/6] RISC-V: Print comma and tabs as the "text" style Tsukasa OI
2022-10-03 10:44 ` [PATCH v3 5/6] RISC-V: Fix T-Head immediate types on printing Tsukasa OI
2022-10-03 10:44 ` [PATCH v3 6/6] RISC-V: Print XTheadMemPair literal as "immediate" Tsukasa OI
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=mhng-fedcbe1e-1046-4d98-9581-3da705c289fa@palmer-ri-x1c9 \
--to=palmer@dabbelt.com \
--cc=aburgess@redhat.com \
--cc=binutils@sourceware.org \
--cc=kito.cheng@sifive.com \
--cc=nelson@rivosinc.com \
--cc=research_trasio@irq.a4lg.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).