[PATCH 3/4] Remove a use of target_read_string
Sergio Durigan Junior
sergiodj@sergiodj.net
Sat Jun 13 03:04:51 GMT 2020
On Friday, June 12 2020, Tom Tromey wrote:
> linux-tdep.c:dump_mapping_p uses target_read_string, but in a way that
> does not really make sense. It's better to use target_read_memory
> here.
Thanks for catching this problem, Tom.
> gdb/ChangeLog
> 2020-06-02 Tom Tromey <tromey@adacore.com>
>
> * linux-tdep.c (dump_mapping_p): Use target_read_memory.
> ---
> gdb/ChangeLog | 4 ++++
> gdb/linux-tdep.c | 12 +++---------
> gdb/target.c | 1 +
> 3 files changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
> index 0f9559355f1..2dcdc630769 100644
> --- a/gdb/linux-tdep.c
> +++ b/gdb/linux-tdep.c
> @@ -701,22 +701,16 @@ dump_mapping_p (filter_flags filterflags, const struct smaps_vmflags *v,
> if (!dump_p && private_p && offset == 0
> && (filterflags & COREFILTER_ELF_HEADERS) != 0)
> {
> - /* Let's check if we have an ELF header. */
> - gdb::unique_xmalloc_ptr<char> header;
> - int errcode;
> -
> /* Useful define specifying the size of the ELF magical
> header. */
> #ifndef SELFMAG
> #define SELFMAG 4
> #endif
>
> - /* Read the first SELFMAG bytes and check if it is ELFMAG. */
> - if (target_read_string (addr, &header, SELFMAG, &errcode) == SELFMAG
> - && errcode == 0)
> + /* Let's check if we have an ELF header. */
> + gdb_byte h[SELFMAG];
> + if (target_read_memory (addr, h, SELFMAG) == 0)
> {
> - const char *h = header.get ();
> -
> /* The EI_MAG* and ELFMAG* constants come from
> <elf/common.h>. */
> if (h[EI_MAG0] == ELFMAG0 && h[EI_MAG1] == ELFMAG1
This looks OK to me.
> diff --git a/gdb/target.c b/gdb/target.c
> index 14c494688e0..897b8fdd32b 100644
> --- a/gdb/target.c
> +++ b/gdb/target.c
> @@ -50,6 +50,7 @@
> #include "terminal.h"
> #include <unordered_map>
> #include "target-connection.h"
> +#include "valprint.h"
>
> static void generic_tls_error (void) ATTRIBUTE_NORETURN;
This hunk looks unrelated.
Thanks,
--
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
https://sergiodj.net/
More information about the Gdb-patches
mailing list