[Lldb-commits] [PATCH] RFC: Proposed change in the disassembly default format in lldb

Jason Molenda jmolenda at apple.com
Wed Feb 11 22:37:59 PST 2015

I like your suggestion of showing the comment contents as the operand instead of the raw address (or in addition to the raw address) -- but there are lots of things that can end up in the comments (and llvm can add additional things like hints about what an instruction does) so it might not make sense in every case.

I was ignoring the idea primarily because I want to stay focused on fixing the current output style.

gdb solved this too-long-name problem by having a maximum name length.  If the function name was any longer than that, it was truncated.  This was a poor solution IMO.

Why do people care where an instruction is in memory?

  They want to know where the pc is currently
  They have an address and want to know what instruction that is
  They want to know an offset into the function to follow a branch instruction's behavior

And so my new format includes the pc-indicator, the address, and the offset of each instruction.  I believe they don't need to see the function name on every line -- they need some way to know when one function ends and another begins (which we give them by a blank line and then a line with the new function name by itself).  It would be NICE if we could include the function name but in OO programs, these are often too long to include (especially when the instruction branches to another part of that same function) without forcing a line wrap, and they add much less value than the current-pc/addr/offset information.




More information about the lldb-commits mailing list