https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c8b76e1ec346de509dbcc2c6dfc4519c572f7322
commit c8b76e1ec346de509dbcc2c6dfc4519c572f7322
Author: Tom Tromey <tromey@adacore.com>
Date: Thu Feb 3 13:18:25 2022 -0700
Let phex and phex_nz handle sizeof_l==1
Currently, neither phex nor phex_nz handle sizeof_l==1 -- they let
this case fall through to the default case. However, a subsequent
patch in this series needs this case to work correctly.
I looked at all calls to these functions that pass a 1 for the
sizeof_l parameter. The only such case seems to be correct with this
change.
Diff:
---
gdbsupport/print-utils.cc | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/gdbsupport/print-utils.cc b/gdbsupport/print-utils.cc
index 0ef8cb829a1..73ff1afda30 100644
--- a/gdbsupport/print-utils.cc
+++ b/gdbsupport/print-utils.cc
@@ -168,6 +168,10 @@ phex (ULONGEST l, int sizeof_l)
str = get_print_cell ();
xsnprintf (str, PRINT_CELL_SIZE, "%04x", (unsigned short) (l & 0xffff));
break;
+ case 1:
+ str = get_print_cell ();
+ xsnprintf (str, PRINT_CELL_SIZE, "%02x", (unsigned short) (l & 0xff));
+ break;
default:
str = phex (l, sizeof (l));
break;
@@ -206,6 +210,10 @@ phex_nz (ULONGEST l, int sizeof_l)
str = get_print_cell ();
xsnprintf (str, PRINT_CELL_SIZE, "%x", (unsigned short) (l & 0xffff));
break;
+ case 1:
+ str = get_print_cell ();
+ xsnprintf (str, PRINT_CELL_SIZE, "%x", (unsigned short) (l & 0xff));
+ break;
default:
str = phex_nz (l, sizeof (l));
break;