gdb: Add new 'print nibbles' feature
authorEnze Li <enze.li@hotmail.com>
Sun, 12 Jun 2022 05:22:25 +0000 (13:22 +0800)
committerEnze Li <enze.li@hotmail.com>
Sat, 18 Jun 2022 03:23:06 +0000 (11:23 +0800)
commit21a527dfc85d62c9e90c65ac4076f517a6b76a48
treeead0bfa6f75933bf50a82b62d692d08504ab5e2a
parent40d4cb8bccb0f46f34826564ea3502717ca8f0ce
gdb: Add new 'print nibbles' feature

Make an introduction of a new print setting that can be set by 'set
print nibbles [on|off]'.  The default value if OFF, which can be changed
by user manually.  Of course, 'show print nibbles' is also included in
the patch.

The new feature displays binary values by group, with four bits per
group.  The motivation for this work is to enhance the readability of
binary values.

Here's a GDB session before this patch is applied.
  (gdb) print var_a
  $1 = 1230
  (gdb) print/t var_a
  $2 = 10011001110

With this patch applied, we can use the new print setting to display the
new form of the binary values.
  (gdb) print var_a
  $1 = 1230
  (gdb) print/t var_a
  $2 = 10011001110
  (gdb) set print nibbles on
  (gdb) print/t var_a
  $3 = 0100 1100 1110

Tested on x86_64 openSUSE Tumbleweed.
gdb/c-lang.c
gdb/language.h
gdb/printcmd.c
gdb/rust-lang.h
gdb/testsuite/gdb.base/options.exp
gdb/testsuite/gdb.base/printcmds.exp
gdb/valprint.c
gdb/valprint.h