diff options
author | Andrew Burgess <aburgess@redhat.com> | 2023-03-22 17:22:51 +0000 |
---|---|---|
committer | Andrew Burgess <aburgess@redhat.com> | 2023-03-29 08:57:10 +0100 |
commit | a6e5abae4e9e845e6e69e07f755c0805558dcd63 (patch) | |
tree | bbae67ddbbf65a8717b94be9f97f9bdcf4bc5074 /gdbsupport/common-utils.cc | |
parent | 6d84a385ed96ba457bdec3dd983643dd7afa3665 (diff) | |
download | binutils-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.cc | 18 |
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; +} |