Removes a cleanup from gcore.c

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.
This commit is contained in:
Tom Tromey 2017-11-09 17:15:37 -07:00
parent 8e2495f2f7
commit 44287fd890
2 changed files with 10 additions and 9 deletions

View 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

View 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).