Ghidra: Switch to turn off register naming in disassembler

Created on 2 Apr 2019  路  3Comments  路  Source: NationalSecurityAgency/ghidra

Is your feature request related to a problem? Please describe.
In ARM, and probably many other architectures as well, register assignment in the assembly code is very fluid. Yet, if I name function parameters in the decompiler, r0 through r3 get renamed in the disassembler to correspond with the arguments passed in in these registers.

Typically, these values may be immediately moved to other registers, used, stored in the stack, or whatever, but the r0-r3 register usually does not hold that value very far into the function.

Yet the disassembler constantly calls r0 "fname" or whatever. This just makes reading the disassembly more difficult because you have to constantly re-think that "fname" currently means "r0", etc., and that conflicts mentally when "fname" is really in r8.

Describe the solution you'd like
An option somewhere to turn off the register renaming. Either on a per-function basis, or per-file, or perhaps just decide not to do it on some architectures.

Enhancement

Most helpful comment

See Edit -> Tool Options... -> Listing Fields -> Operands Field -> Markup *

All 3 comments

See Edit -> Tool Options... -> Listing Fields -> Operands Field -> Markup *

Found it..
Ghidra has options for so many things, I expected that it might already be there. The large number of options sometimes makes it difficult to find which is the right one, but I'm not complaining about that...

image

There is no Markup * option in 9.1.1 and I am struggling to turn off these operand labels:

image

image

I'd much prefer to see the Operand value instead of the Labeled value in the disassembler view. Is this possible?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Barakat picture Barakat  路  3Comments

forkoz picture forkoz  路  3Comments

Kerilk picture Kerilk  路  3Comments

0x6d696368 picture 0x6d696368  路  3Comments

astrelsky picture astrelsky  路  3Comments