Remove a use of target_read_string
authorTom Tromey <tromey@adacore.com>
Mon, 15 Jun 2020 12:28:09 +0000 (06:28 -0600)
committerTom Tromey <tromey@adacore.com>
Mon, 15 Jun 2020 12:28:10 +0000 (06:28 -0600)
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.

gdb/ChangeLog
2020-06-15  Tom Tromey  <tromey@adacore.com>

* linux-tdep.c (dump_mapping_p): Use target_read_memory.

gdb/ChangeLog
gdb/linux-tdep.c

index 4f12edc726432120a4ec6af10318110a6917228d..af82b2310a6ec6024a342b56e38ceb99b6673ae9 100644 (file)
@@ -1,3 +1,7 @@
+2020-06-15  Tom Tromey  <tromey@adacore.com>
+
+       * linux-tdep.c (dump_mapping_p): Use target_read_memory.
+
 2020-06-15  Tom Tromey  <tromey@adacore.com>
 
        * valprint.c (read_string): Update comment.
index 0f9559355f15dd4d6874474ab85b6ff36ca6d174..2dcdc63076907881868601271fdbe509db81198e 100644 (file)
@@ -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