* [RFA] Removes a cleanup from gcore.c
@ 2017-11-25 21:12 Tom Tromey
2017-11-26 14:21 ` Simon Marchi
0 siblings, 1 reply; 2+ messages in thread
From: Tom Tromey @ 2017-11-25 21:12 UTC (permalink / raw)
To: gdb-patches; +Cc: Tom Tromey
This removes a cleanup from gcore.c, replacing it with
unique_xmalloc_ptr.
Regression tested by the buildbot.
ChangeLog
2017-11-25 Tom Tromey <tom@tromey.com>
* gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
---
gdb/ChangeLog | 4 ++++
gdb/gcore.c | 15 ++++++---------
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/gdb/gcore.c b/gdb/gcore.c
index 0d5dccab61..359ec3df84 100644
--- a/gdb/gcore.c
+++ b/gdb/gcore.c
@@ -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, ¬e_size);
+ note_data.reset (target_make_corefile_notes (obfd, ¬e_size));
else
- note_data = gdbarch_make_corefile_notes (target_gdbarch (), obfd, ¬e_size);
-
- cleanup = make_cleanup (xfree, note_data);
+ note_data.reset (gdbarch_make_corefile_notes (target_gdbarch (), obfd,
+ ¬e_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).
--
2.13.6
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [RFA] Removes a cleanup from gcore.c
2017-11-25 21:12 [RFA] Removes a cleanup from gcore.c Tom Tromey
@ 2017-11-26 14:21 ` Simon Marchi
0 siblings, 0 replies; 2+ messages in thread
From: Simon Marchi @ 2017-11-26 14:21 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches
On 2017-11-25 16:12, Tom Tromey wrote:
> This removes a cleanup from gcore.c, replacing it with
> unique_xmalloc_ptr.
>
> Regression tested by the buildbot.
>
> ChangeLog
> 2017-11-25 Tom Tromey <tom@tromey.com>
>
> * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
> ---
> gdb/ChangeLog | 4 ++++
> gdb/gcore.c | 15 ++++++---------
> 2 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/gdb/gcore.c b/gdb/gcore.c
> index 0d5dccab61..359ec3df84 100644
> --- a/gdb/gcore.c
> +++ b/gdb/gcore.c
> @@ -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, ¬e_size);
> + note_data.reset (target_make_corefile_notes (obfd, ¬e_size));
> else
> - note_data = gdbarch_make_corefile_notes (target_gdbarch (), obfd,
> ¬e_size);
> -
> - cleanup = make_cleanup (xfree, note_data);
> + note_data.reset (gdbarch_make_corefile_notes (target_gdbarch (),
> obfd,
> + ¬e_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).
LGTM.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-11-26 14:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-25 21:12 [RFA] Removes a cleanup from gcore.c Tom Tromey
2017-11-26 14:21 ` Simon Marchi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox