summaryrefslogtreecommitdiff
path: root/gdbsupport/common-utils.cc
diff options
context:
space:
mode:
authorAndrew Burgess <aburgess@redhat.com>2023-03-22 17:22:51 +0000
committerAndrew Burgess <aburgess@redhat.com>2023-03-29 08:57:10 +0100
commita6e5abae4e9e845e6e69e07f755c0805558dcd63 (patch)
treebbae67ddbbf65a8717b94be9f97f9bdcf4bc5074 /gdbsupport/common-utils.cc
parent6d84a385ed96ba457bdec3dd983643dd7afa3665 (diff)
downloadbinutils-gdb-a6e5abae4e9e845e6e69e07f755c0805558dcd63.tar.gz
gdb: move displaced_step_dump_bytes into gdbsupport (and rename)
It was pointed out during review of another patch that the function displaced_step_dump_bytes really isn't specific to displaced stepping, and should really get a more generic name and move into gdbsupport/. This commit does just that. The function is renamed to bytes_to_string and is moved into gdbsupport/common-utils.{cc,h}. The function implementation doesn't really change. Much... ... I have updated the function to take an array view, which makes it slightly easier to call in a couple of places where we already have a gdb::bytes_vector. I've then added an inline wrapper to convert a raw pointer and length into an array view, which is used in places where we don't easily have a gdb::bytes_vector (or similar). Updated all users of displaced_step_dump_bytes. There should be no user visible changes after this commit. Finally, I ended up having to add an include of gdb_assert.h into array-view.h. When I include array-view.h into common-utils.h I ran into build problems because array-view.h calls gdb_assert. Approved-By: Simon Marchi <simon.marchi@efficios.com>
Diffstat (limited to 'gdbsupport/common-utils.cc')
-rw-r--r--gdbsupport/common-utils.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/gdbsupport/common-utils.cc b/gdbsupport/common-utils.cc
index e382fb28d8f..4a96f2c0e11 100644
--- a/gdbsupport/common-utils.cc
+++ b/gdbsupport/common-utils.cc
@@ -445,3 +445,21 @@ hex2bin (const char *hex)
return bin;
}
+
+/* See gdbsupport/common-utils.h. */
+
+std::string
+bytes_to_string (gdb::array_view<const gdb_byte> bytes)
+{
+ std::string ret;
+
+ for (size_t i = 0; i < bytes.size (); i++)
+ {
+ if (i == 0)
+ ret += string_printf ("%02x", bytes[i]);
+ else
+ ret += string_printf (" %02x", bytes[i]);
+ }
+
+ return ret;
+}