mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-28 20:43:45 +08:00
Remove cleanup from ppc-linux-nat.c
This removes a cleanup from ppc-linux-nat.c, by using unique_xmalloc_ptr. It also slightly simplifies the code by using XDUP rather than XNEW and memcpy. ChangeLog 2017-10-16 Tom Tromey <tom@tromey.com> * ppc-linux-nat.c (hwdebug_insert_point): Use gdb::unique_xmalloc_ptr, XDUP.
This commit is contained in:
parent
2dc0e21971
commit
a90ecff85a
@ -1,3 +1,8 @@
|
||||
2017-10-16 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* ppc-linux-nat.c (hwdebug_insert_point): Use
|
||||
gdb::unique_xmalloc_ptr, XDUP.
|
||||
|
||||
2017-10-16 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* probe.c (parse_probes): Use std::string.
|
||||
|
@ -1541,16 +1541,13 @@ hwdebug_insert_point (struct ppc_hw_breakpoint *b, int tid)
|
||||
{
|
||||
int i;
|
||||
long slot;
|
||||
struct ppc_hw_breakpoint *p = XNEW (struct ppc_hw_breakpoint);
|
||||
gdb::unique_xmalloc_ptr<ppc_hw_breakpoint> p (XDUP (ppc_hw_breakpoint, b));
|
||||
struct hw_break_tuple *hw_breaks;
|
||||
struct cleanup *c = make_cleanup (xfree, p);
|
||||
struct thread_points *t;
|
||||
struct hw_break_tuple *tuple;
|
||||
|
||||
memcpy (p, b, sizeof (struct ppc_hw_breakpoint));
|
||||
|
||||
errno = 0;
|
||||
slot = ptrace (PPC_PTRACE_SETHWDEBUG, tid, 0, p);
|
||||
slot = ptrace (PPC_PTRACE_SETHWDEBUG, tid, 0, p.get ());
|
||||
if (slot < 0)
|
||||
perror_with_name (_("Unexpected error setting breakpoint or watchpoint"));
|
||||
|
||||
@ -1564,13 +1561,11 @@ hwdebug_insert_point (struct ppc_hw_breakpoint *b, int tid)
|
||||
if (hw_breaks[i].hw_break == NULL)
|
||||
{
|
||||
hw_breaks[i].slot = slot;
|
||||
hw_breaks[i].hw_break = p;
|
||||
hw_breaks[i].hw_break = p.release ();
|
||||
break;
|
||||
}
|
||||
|
||||
gdb_assert (i != max_slots_number);
|
||||
|
||||
discard_cleanups (c);
|
||||
}
|
||||
|
||||
/* This function is a generic wrapper that is responsible for removing a
|
||||
|
Loading…
Reference in New Issue
Block a user