From 7f6743fd09d0f3188dd9dcdf31acf81131f9bf1f Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 1 Nov 2017 16:37:27 -0600 Subject: 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 * sparc64-tdep.c (do_examine): Use gdb::def_vector. (adi_read_versions): Change "tags" to "gdb_byte *". (adi_print_versions): Likewise. --- gdb/ChangeLog | 6 ++++++ gdb/sparc64-tdep.c | 14 +++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 69d8385..07ea07c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2017-11-04 Tom Tromey + * 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 + * breakpoint.c (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename from start_rbreak_breakpoints. diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c index a756834..eade046 100644 --- a/gdb/sparc64-tdep.c +++ b/gdb/sparc64-tdep.c @@ -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 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 -- cgit v1.1