This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Use gdb::byte_vector in ppc-linux-tdep.c


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=779bc38eca950c7f3b64173e99e25f0c0edfbe3b

commit 779bc38eca950c7f3b64173e99e25f0c0edfbe3b
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Nov 1 18:52:30 2017 -0600

    Use gdb::byte_vector in ppc-linux-tdep.c
    
    This removes a cleanup from ppc-linux-tdep.c, replacing it with
    gdb::byte_vector.
    
    gdb/ChangeLog
    2017-11-04  Tom Tromey  <tom@tromey.com>
    
    	* ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
    	gdb::byte_vector.

Diff:
---
 gdb/ChangeLog        |  5 +++++
 gdb/ppc-linux-tdep.c | 17 ++++-------------
 2 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6db35dd..d6c4b6f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 2017-11-04  Tom Tromey  <tom@tromey.com>
 
+	* ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
+	gdb::byte_vector.
+
+2017-11-04  Tom Tromey  <tom@tromey.com>
+
 	* objfiles.c (do_free_objfile_cleanup): Remove.
 	* compile/compile-object-load.c (compile_object_load): Update.
 	* objfiles.h (make_cleanup_free_objfile): Remove.
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index 847908a..ee80a71 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -725,28 +725,19 @@ 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::byte_vector 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);
-
-  ret = extract_signed_integer (buf, tdep->wordsize, byte_order);
-  do_cleanups (cleanbuf);
+  regcache_cooked_read (regcache, tdep->ppc_gp0_regnum, buf.data ());
 
-  return ret;
+  return extract_signed_integer (buf.data (), tdep->wordsize, byte_order);
 }
 
 /* PPC process record-replay */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]