[RFA 09/13] Use gdb::def_vector in ppc-linux-tdep.c

Tom Tromey
2017-11-02T22:36:24Z

This removes a cleanup from ppc-linux-tdep.c, replacing it with
gdb::def_vector.

gdb/ChangeLog
2017-11-02 Tom Tromey <tom@tromey.com>

* ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
gdb::def_vector.
---
gdb/ChangeLog | 5 +++++
gdb/ppc-linux-tdep.c | 13 ++++---------
2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index 847908a6da..4d10a24ca9 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -725,26 +725,21 @@ ppc_linux_get_syscall_number (struct gdbarch *gdbarch,
struct regcache *regcache = get_thread_regcache (ptid);
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
- struct cleanup *cleanbuf;
- /* The content of a register */
- gdb_byte *buf;
/* The result */
LONGEST ret;

/* Make sure we're in a 32- or 64-bit machine */
gdb_assert (tdep->wordsize == 4 || tdep->wordsize == 8);

- buf = (gdb_byte *) xmalloc (tdep->wordsize * sizeof (gdb_byte));
-
- cleanbuf = make_cleanup (xfree, buf);
+ /* The content of a register */
+ gdb::def_vector<gdb_byte> buf (tdep->wordsize);

/* Getting the system call number from the register.
When dealing with PowerPC architecture, this information
is stored at 0th register. */
- regcache_cooked_read (regcache, tdep->ppc_gp0_regnum, buf);
+ regcache_cooked_read (regcache, tdep->ppc_gp0_regnum, buf.data ());

- ret = extract_signed_integer (buf, tdep->wordsize, byte_order);
- do_cleanups (cleanbuf);
+ ret = extract_signed_integer (buf.data (), tdep->wordsize, byte_order);

return ret;
}
--
2.13.6