Removes a cleanup from gcore.c
authorTom Tromey <tom@tromey.com>
Fri, 10 Nov 2017 00:15:37 +0000 (17:15 -0700)
committerTom Tromey <tom@tromey.com>
Sun, 26 Nov 2017 17:41:13 +0000 (10:41 -0700)
This removes a cleanup from gcore.c, replacing it with
unique_xmalloc_ptr.

Regression tested by the buildbot.

ChangeLog
2017-11-26  Tom Tromey  <tom@tromey.com>

* gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.

gdb/ChangeLog
gdb/gcore.c

index 6223f0dc2a046a53dd4a7a4bb63c4e29ded0290d..3c7459615320de6eaaeeb733705cf5ceb18e0502 100644 (file)
@@ -1,3 +1,7 @@
+2017-11-26  Tom Tromey  <tom@tromey.com>
+
+       * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
+
 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
index 0d5dccab619fd6572475b6d02f2de81cf61b98da..359ec3df84a17d856a5dd41075186ffdce122786 100644 (file)
@@ -68,8 +68,7 @@ create_gcore_bfd (const char *filename)
 static void
 write_gcore_file_1 (bfd *obfd)
 {
-  struct cleanup *cleanup;
-  void *note_data = NULL;
+  gdb::unique_xmalloc_ptr<char> note_data;
   int note_size = 0;
   asection *note_sec = NULL;
 
@@ -78,11 +77,10 @@ write_gcore_file_1 (bfd *obfd)
      generation should be converted to gdbarch_make_corefile_notes; at that
      point, the target vector method can be removed.  */
   if (!gdbarch_make_corefile_notes_p (target_gdbarch ()))
-    note_data = target_make_corefile_notes (obfd, &note_size);
+    note_data.reset (target_make_corefile_notes (obfd, &note_size));
   else
-    note_data = gdbarch_make_corefile_notes (target_gdbarch (), obfd, &note_size);
-
-  cleanup = make_cleanup (xfree, note_data);
+    note_data.reset (gdbarch_make_corefile_notes (target_gdbarch (), obfd,
+                                                 &note_size));
 
   if (note_data == NULL || note_size == 0)
     error (_("Target does not support core file generation."));
@@ -105,10 +103,9 @@ write_gcore_file_1 (bfd *obfd)
     error (_("gcore: failed to get corefile memory sections from target."));
 
   /* Write out the contents of the note section.  */
-  if (!bfd_set_section_contents (obfd, note_sec, note_data, 0, note_size))
+  if (!bfd_set_section_contents (obfd, note_sec, note_data.get (), 0,
+                                note_size))
     warning (_("writing note section (%s)"), bfd_errmsg (bfd_get_error ()));
-
-  do_cleanups (cleanup);
 }
 
 /* write_gcore_file -- helper for gcore_command (exported).
This page took 0.037071 seconds and 4 git commands to generate.