Use gdb::def_vector in sparc64-tdep.c

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

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

	* sparc64-tdep.c (do_examine): Use gdb::def_vector.
	(adi_read_versions): Change "tags" to "gdb_byte *".
	(adi_print_versions): Likewise.
This commit is contained in:
Tom Tromey 2017-11-01 16:37:27 -06:00
parent c80049d3b6
commit 7f6743fd09
2 changed files with 11 additions and 9 deletions

View File

@ -1,3 +1,9 @@
2017-11-04 Tom Tromey <tom@tromey.com>
* sparc64-tdep.c (do_examine): Use gdb::def_vector.
(adi_read_versions): Change "tags" to "gdb_byte *".
(adi_print_versions): Likewise.
2017-11-04 Tom Tromey <tom@tromey.com>
* breakpoint.c

View File

@ -341,7 +341,7 @@ adi_is_addr_mapped (CORE_ADDR vaddr, size_t cnt)
for "SIZE" number of bytes. */
static int
adi_read_versions (CORE_ADDR vaddr, size_t size, unsigned char *tags)
adi_read_versions (CORE_ADDR vaddr, size_t size, gdb_byte *tags)
{
int fd = adi_tag_fd ();
if (fd == -1)
@ -383,7 +383,7 @@ adi_write_versions (CORE_ADDR vaddr, size_t size, unsigned char *tags)
at "VADDR" with number of "CNT". */
static void
adi_print_versions (CORE_ADDR vaddr, size_t cnt, unsigned char *tags)
adi_print_versions (CORE_ADDR vaddr, size_t cnt, gdb_byte *tags)
{
int v_idx = 0;
const int maxelts = 8; /* # of elements per line */
@ -415,21 +415,17 @@ static void
do_examine (CORE_ADDR start, int bcnt)
{
CORE_ADDR vaddr = adi_normalize_address (start);
struct cleanup *cleanup;
CORE_ADDR vstart = adi_align_address (vaddr);
int cnt = adi_convert_byte_count (vaddr, bcnt, vstart);
unsigned char *buf = (unsigned char *) xmalloc (cnt);
cleanup = make_cleanup (xfree, buf);
int read_cnt = adi_read_versions (vstart, cnt, buf);
gdb::def_vector<gdb_byte> buf (cnt);
int read_cnt = adi_read_versions (vstart, cnt, buf.data ());
if (read_cnt == -1)
error (_("No ADI information"));
else if (read_cnt < cnt)
error(_("No ADI information at %s"), paddress (target_gdbarch (), vaddr));
adi_print_versions (vstart, cnt, buf);
do_cleanups (cleanup);
adi_print_versions (vstart, cnt, buf.data ());
}
static void