From 726b2169b4cda6a0267cb2986ada758270cff093 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 27 Sep 2017 21:06:21 -0600 Subject: [PATCH] Remove cleanup from xstormy16-tdep.c This removes a cleanup from xstormy16-tdep.c, using gdb::byte_vector. gdb/ChangeLog 2017-09-29 Tom Tromey * xstormy16-tdep.c (xstormy16_push_dummy_call): Use gdb::byte_vector. --- gdb/ChangeLog | 5 +++++ gdb/xstormy16-tdep.c | 13 +++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d2678d4bb6..989c12718f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-09-29 Tom Tromey + + * xstormy16-tdep.c (xstormy16_push_dummy_call): Use + gdb::byte_vector. + 2017-09-29 Tom Tromey * complaints.c (vcomplaint): Use std::string. diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c index 40a6d9818f..bed4305d23 100644 --- a/gdb/xstormy16-tdep.c +++ b/gdb/xstormy16-tdep.c @@ -35,6 +35,7 @@ #include "doublest.h" #include "osabi.h" #include "objfiles.h" +#include "common/byte-vector.h" enum gdb_regnum { @@ -276,21 +277,17 @@ xstormy16_push_dummy_call (struct gdbarch *gdbarch, wordaligned. */ for (j = nargs - 1; j >= i; j--) { - gdb_byte *val; - struct cleanup *back_to; const gdb_byte *bytes = value_contents (args[j]); typelen = TYPE_LENGTH (value_enclosing_type (args[j])); slacklen = typelen & 1; - val = (gdb_byte *) xmalloc (typelen + slacklen); - back_to = make_cleanup (xfree, val); - memcpy (val, bytes, typelen); - memset (val + typelen, 0, slacklen); + gdb::byte_vector val (typelen + slacklen); + memcpy (val.data (), bytes, typelen); + memset (val.data () + typelen, 0, slacklen); /* Now write this data to the stack. The stack grows upwards. */ - write_memory (stack_dest, val, typelen + slacklen); + write_memory (stack_dest, val.data (), typelen + slacklen); stack_dest += typelen + slacklen; - do_cleanups (back_to); } store_unsigned_integer (buf, xstormy16_pc_size, byte_order, bp_addr); -- 2.34.1