From 478f9adff55f3b03d935d1384f6ee3597969c448 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Mon, 17 Feb 2020 16:12:03 +0100 Subject: [PATCH] gdbserver: simply copy the pointer in 'set_target_ops' The 'set_target_ops' function takes a target op vector and creates a clone of it via XNEW and memcpy. This is not necessary. 'the_target' is a singleton, and the argument that is passed to 'set_target_ops' is always the address of a global, static object. Therefore, update the implementation to simply copy the pointer. gdbserver/ChangeLog: 2020-02-20 Pedro Alves * target.cc (set_target_ops): Simply copy the given target pointer instead of creating a copy of the pointed object. --- gdbserver/ChangeLog | 5 +++++ gdbserver/target.cc | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index 1cd9c91a8d3..50528153c54 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2020-02-20 Pedro Alves + + * target.cc (set_target_ops): Simply copy the given target pointer + instead of creating a copy of the pointed object. + 2020-02-20 Tankut Baris Aktemur Turn process_stratum_target's get_ipa_tdesc_idx op into a method diff --git a/gdbserver/target.cc b/gdbserver/target.cc index 4df1f9d4bd8..d0a7d36c868 100644 --- a/gdbserver/target.cc +++ b/gdbserver/target.cc @@ -270,8 +270,7 @@ target_supports_multi_process (void) void set_target_ops (process_stratum_target *target) { - the_target = XNEW (process_stratum_target); - memcpy (the_target, target, sizeof (*the_target)); + the_target = target; } /* Convert pid to printable format. */ -- 2.30.2