DavidSpickett wrote:

> Upon realising that almost all of our custom extensions are only used in 
> assembly

Which is surprising to me, but if I looked at all the assembly only extensions 
for Arm I'd find the the same thing. I just rarely have to deal with those.

> And that's how we get here: filtering the output of objdump is fine, but it 
> would be great to also support users inside their disassembler 😄

Yes I see how you'd get there.

Even if we want to be super reductive, printing the bytes out at least means 
you can decode by hand. Which you can't do today.

So I like the direction.

> MCDisassembler::suggestBytesToSkip, which the Arm/AArch64 backends use for 
> realigning the disassembly flow. We maybe should implement this given we know 
> the instruction alignment in RISC-V is either 2 or 4, but we don't at the 
> moment.

I should check how this ends up displaying in lldb. AArch64 unlikely to be a 
problem but Thumb is variable so I hope we at least show the bytes.

@tedwoodward I think this change might be more clearly pitched as:
* Currently when an instruction is not decoded lldb prints nothing useful
* You have made lldb print something useful in this situation, for humans and 
scripts
* In addition, this format enables the use of external filters

Which I think is a net positive.

Still unsure about `if riscv` in this generic code but if there's no other use 
case for it then it's fine. That's just a code organisation issue.

Arm M profile has 
https://developer.arm.com/Architectures/Arm%20Custom%20Instructions, I'll look 
into that and see if it would benefit from a change of output format too. Just 
in theory though, I don't think we shipped support for open source debuggers 
and I'm not about to implement it myself.

https://github.com/llvm/llvm-project/pull/145793
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to