gdb: introduce displaced_step_closure_up type alias
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 14 Feb 2020 21:45:40 +0000 (16:45 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Fri, 14 Feb 2020 21:46:38 +0000 (16:46 -0500)
To help with readability, add the type displaced_step_closure_up, an
alias for std::unique_ptr<displaced_step_closure>, and use it throughout
the code base.

gdb/ChangeLog:

* aarch64-tdep.c (aarch64_displaced_step_copy_insn): Use
displaced_step_closure_up.
* aarch64-tdep.h (aarch64_displaced_step_copy_insn): Likewise.
(struct displaced_step_closure_up):
* amd64-tdep.c (amd64_displaced_step_copy_insn): Likewise.
* amd64-tdep.h (amd64_displaced_step_copy_insn): Likewise.
* arm-linux-tdep.c (arm_linux_displaced_step_copy_insn):
Likewise.
* gdbarch.sh (displaced_step_copy_insn): Likewise.
* gdbarch.c, gdbarch.h: Re-generate.
* i386-linux-tdep.c (i386_linux_displaced_step_copy_insn): Use
displaced_step_closure_up.
* i386-tdep.c (i386_displaced_step_copy_insn): Likewise.
* i386-tdep.h (i386_displaced_step_copy_insn): Likewise.
* infrun.h (displaced_step_closure_up): New type alias.
(struct displaced_step_inferior_state) <step_closure>: Change
type to displaced_step_closure_up.
* rs6000-tdep.c (ppc_displaced_step_copy_insn): Use
displaced_step_closure_up.
* s390-tdep.c (s390_displaced_step_copy_insn): Likewise.

15 files changed:
gdb/ChangeLog
gdb/aarch64-tdep.c
gdb/aarch64-tdep.h
gdb/amd64-tdep.c
gdb/amd64-tdep.h
gdb/arm-linux-tdep.c
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/i386-linux-tdep.c
gdb/i386-tdep.c
gdb/i386-tdep.h
gdb/infrun.h
gdb/rs6000-tdep.c
gdb/s390-tdep.c

index fd9b6a85ea14856211a33029e51c45b392791fe9..dafd90ec37302bb0c0b72135a58b234de221c902 100644 (file)
@@ -1,3 +1,26 @@
+2020-02-14  Simon Marchi  <simon.marchi@efficios.com>
+
+       * aarch64-tdep.c (aarch64_displaced_step_copy_insn): Use
+       displaced_step_closure_up.
+       * aarch64-tdep.h (aarch64_displaced_step_copy_insn): Likewise.
+       (struct displaced_step_closure_up):
+       * amd64-tdep.c (amd64_displaced_step_copy_insn): Likewise.
+       * amd64-tdep.h (amd64_displaced_step_copy_insn): Likewise.
+       * arm-linux-tdep.c (arm_linux_displaced_step_copy_insn):
+       Likewise.
+       * gdbarch.sh (displaced_step_copy_insn): Likewise.
+       * gdbarch.c, gdbarch.h: Re-generate.
+       * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn): Use
+       displaced_step_closure_up.
+       * i386-tdep.c (i386_displaced_step_copy_insn): Likewise.
+       * i386-tdep.h (i386_displaced_step_copy_insn): Likewise.
+       * infrun.h (displaced_step_closure_up): New type alias.
+       (struct displaced_step_inferior_state) <step_closure>: Change
+       type to displaced_step_closure_up.
+       * rs6000-tdep.c (ppc_displaced_step_copy_insn): Use
+       displaced_step_closure_up.
+       * s390-tdep.c (s390_displaced_step_copy_insn): Likewise.
+
 2020-02-14  Tom Tromey  <tom@tromey.com>
 
        * minidebug.c (gnu_debug_key): New global.
index 1bf6bfdf92ccc56028c9106ab1d8109f16f57512..bfacfb05b213ca6e57a797743234d02406853bd3 100644 (file)
@@ -2999,7 +2999,7 @@ static const struct aarch64_insn_visitor visitor =
 
 /* Implement the "displaced_step_copy_insn" gdbarch method.  */
 
-std::unique_ptr<displaced_step_closure>
+displaced_step_closure_up
 aarch64_displaced_step_copy_insn (struct gdbarch *gdbarch,
                                  CORE_ADDR from, CORE_ADDR to,
                                  struct regcache *regs)
index fc397967cd8eef0701c77d2465b748e98c7d8ca1..f6ebabeaeb95b49010c0e70cfd9ca714e554a52f 100644 (file)
@@ -23,6 +23,7 @@
 #define AARCH64_TDEP_H
 
 #include "arch/aarch64.h"
+#include "infrun.h"
 
 /* Forward declarations.  */
 struct gdbarch;
@@ -106,7 +107,7 @@ const target_desc *aarch64_read_description (uint64_t vq, bool pauth_p);
 extern int aarch64_process_record (struct gdbarch *gdbarch,
                                struct regcache *regcache, CORE_ADDR addr);
 
-struct std::unique_ptr<displaced_step_closure>
+displaced_step_closure_up
   aarch64_displaced_step_copy_insn (struct gdbarch *gdbarch,
                                    CORE_ADDR from, CORE_ADDR to,
                                    struct regcache *regs);
index 35ddfbaa32df7cd25e6b554844815bc8eb9f046a..9264fe4026d44ec2349f8b5e1c16e0473ddac371 100644 (file)
@@ -1465,7 +1465,7 @@ fixup_displaced_copy (struct gdbarch *gdbarch,
     }
 }
 
-std::unique_ptr<displaced_step_closure>
+displaced_step_closure_up
 amd64_displaced_step_copy_insn (struct gdbarch *gdbarch,
                                CORE_ADDR from, CORE_ADDR to,
                                struct regcache *regs)
index 33ef0c3cea7e8e875df8e97033e9a205a61d4bdf..44c1250cb915cfce71ee15ded244069ac9c5adb2 100644 (file)
@@ -26,6 +26,7 @@ struct frame_info;
 struct regcache;
 
 #include "i386-tdep.h"
+#include "infrun.h"
 
 /* Register numbers of various important registers.  */
 
@@ -87,7 +88,7 @@ enum amd64_regnum
 
 #define AMD64_NUM_REGS         (AMD64_GSBASE_REGNUM + 1)
 
-extern std::unique_ptr<displaced_step_closure> amd64_displaced_step_copy_insn
+extern displaced_step_closure_up amd64_displaced_step_copy_insn
   (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to,
    struct regcache *regs);
 extern void amd64_displaced_step_fixup (struct gdbarch *gdbarch,
index b3ae04fb431fb3bd98219101a3d5d011f5b095d6..ccb556babb087c03207488fb1a8c457da5b8d43f 100644 (file)
@@ -1103,7 +1103,7 @@ arm_catch_kernel_helper_return (struct gdbarch *gdbarch, CORE_ADDR from,
    the program has stepped into a Linux kernel helper routine (which must be
    handled as a special case).  */
 
-static std::unique_ptr<displaced_step_closure>
+static displaced_step_closure_up
 arm_linux_displaced_step_copy_insn (struct gdbarch *gdbarch,
                                    CORE_ADDR from, CORE_ADDR to,
                                    struct regcache *regs)
index 4e59b375f7888f0e0c62bec60a4fdab74c644734..e7d4ccca9e7d6ebaa0a4dc37add2929ad2026613 100644 (file)
@@ -3936,7 +3936,7 @@ gdbarch_displaced_step_copy_insn_p (struct gdbarch *gdbarch)
   return gdbarch->displaced_step_copy_insn != NULL;
 }
 
-std::unique_ptr<displaced_step_closure>
+displaced_step_closure_up
 gdbarch_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
 {
   gdb_assert (gdbarch != NULL);
index 8a3a07181c544f0df300ed63ff3596a2d0948ad5..0259fcdbfd26cd5947582b117714adefda0ba58d 100644 (file)
@@ -39,6 +39,7 @@
 #include "frame.h"
 #include "dis-asm.h"
 #include "gdb_obstack.h"
+#include "infrun.h"
 
 struct floatformat;
 struct ui_file;
@@ -55,7 +56,6 @@ struct obstack;
 struct bp_target_info;
 struct target_desc;
 struct symbol;
-struct displaced_step_closure;
 struct syscall;
 struct agent_expr;
 struct axs_value;
@@ -1036,8 +1036,8 @@ extern void set_gdbarch_max_insn_length (struct gdbarch *gdbarch, ULONGEST max_i
 
 extern int gdbarch_displaced_step_copy_insn_p (struct gdbarch *gdbarch);
 
-typedef std::unique_ptr<displaced_step_closure> (gdbarch_displaced_step_copy_insn_ftype) (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs);
-extern std::unique_ptr<displaced_step_closure> gdbarch_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs);
+typedef displaced_step_closure_up (gdbarch_displaced_step_copy_insn_ftype) (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs);
+extern displaced_step_closure_up gdbarch_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs);
 extern void set_gdbarch_displaced_step_copy_insn (struct gdbarch *gdbarch, gdbarch_displaced_step_copy_insn_ftype *displaced_step_copy_insn);
 
 /* Return true if GDB should use hardware single-stepping to execute
index d4170c9822357f78e6e2b4b7d39b1c2db6039667..4a4b1bc66cfac05f82194eee2648f42aef6ef579 100755 (executable)
@@ -816,7 +816,7 @@ V;ULONGEST;max_insn_length;;;0;0
 # If the instruction cannot execute out of line, return NULL.  The
 # core falls back to stepping past the instruction in-line instead in
 # that case.
-M;std::unique_ptr<displaced_step_closure>;displaced_step_copy_insn;CORE_ADDR from, CORE_ADDR to, struct regcache *regs;from, to, regs
+M;displaced_step_closure_up;displaced_step_copy_insn;CORE_ADDR from, CORE_ADDR to, struct regcache *regs;from, to, regs
 
 # Return true if GDB should use hardware single-stepping to execute
 # the displaced instruction identified by CLOSURE.  If false,
@@ -1312,6 +1312,7 @@ cat <<EOF
 #include "frame.h"
 #include "dis-asm.h"
 #include "gdb_obstack.h"
+#include "infrun.h"
 
 struct floatformat;
 struct ui_file;
@@ -1328,7 +1329,6 @@ struct obstack;
 struct bp_target_info;
 struct target_desc;
 struct symbol;
-struct displaced_step_closure;
 struct syscall;
 struct agent_expr;
 struct axs_value;
index 7170687f4deb7a44e2beab0e30c14d5eb59f20bb..c576b31956647839445adcbbfe8bed6dfee7dced 100644 (file)
@@ -36,6 +36,7 @@
 #include "symtab.h"
 #include "arch-utils.h"
 #include "xml-syscall.h"
+#include "infrun.h"
 
 #include "i387-tdep.h"
 #include "gdbsupport/x86-xstate.h"
@@ -797,12 +798,12 @@ i386_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
    which does not seem worth it.  The same effect is achieved by patching that
    'nop' instruction there instead.  */
 
-static std::unique_ptr<displaced_step_closure>
+static displaced_step_closure_up
 i386_linux_displaced_step_copy_insn (struct gdbarch *gdbarch,
                                     CORE_ADDR from, CORE_ADDR to,
                                     struct regcache *regs)
 {
-  std::unique_ptr<displaced_step_closure> closure_
+  displaced_step_closure_up closure_
     =  i386_displaced_step_copy_insn (gdbarch, from, to, regs);
 
   if (i386_linux_get_syscall_number_from_regcache (regs) != -1)
index 4b6f3d0ecdcf41ef7c05cd1b0e8dc9bd91a75cce..9771421c86b1ea115a9033fbaf4f3bc42ef06230 100644 (file)
@@ -798,7 +798,7 @@ i386_insn_is_jump (struct gdbarch *gdbarch, CORE_ADDR addr)
 
 /* Some kernels may run one past a syscall insn, so we have to cope.  */
 
-std::unique_ptr<displaced_step_closure>
+displaced_step_closure_up
 i386_displaced_step_copy_insn (struct gdbarch *gdbarch,
                               CORE_ADDR from, CORE_ADDR to,
                               struct regcache *regs)
index 41faf515868dcac7c298b94394cbe7dde0e4df64..fa29e316a19bd384bebf6cafe15dc33d68116bc6 100644 (file)
@@ -428,7 +428,7 @@ extern void
 
 typedef buf_displaced_step_closure i386_displaced_step_closure;
 
-extern std::unique_ptr<displaced_step_closure> i386_displaced_step_copy_insn
+extern displaced_step_closure_up i386_displaced_step_copy_insn
   (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to,
    struct regcache *regs);
 extern void i386_displaced_step_fixup (struct gdbarch *gdbarch,
index c6329c844d9bc3512824c053a60dfe2fe2560e75..625c53a94a082d31a8d30a73441da1aaafebf51b 100644 (file)
@@ -265,6 +265,8 @@ struct displaced_step_closure
   virtual ~displaced_step_closure () = 0;
 };
 
+using displaced_step_closure_up = std::unique_ptr<displaced_step_closure>;
+
 /* A simple displaced step closure that contains only a byte buffer.  */
 
 struct buf_displaced_step_closure : displaced_step_closure
@@ -310,7 +312,7 @@ struct displaced_step_inferior_state
 
   /* The closure provided gdbarch_displaced_step_copy_insn, to be used
      for post-step cleanup.  */
-  std::unique_ptr<displaced_step_closure> step_closure;
+  displaced_step_closure_up step_closure;
 
   /* The address of the original instruction, and the copy we
      made.  */
index 010bbc9e01a9529508a0c3c0763645a9d00fbb87..513ce6a34fcb404e2186def8562e4e0fa9ef86ca 100644 (file)
@@ -855,7 +855,7 @@ typedef buf_displaced_step_closure ppc_displaced_step_closure;
 
 /* We can't displaced step atomic sequences.  */
 
-static std::unique_ptr<displaced_step_closure>
+static displaced_step_closure_up
 ppc_displaced_step_copy_insn (struct gdbarch *gdbarch,
                              CORE_ADDR from, CORE_ADDR to,
                              struct regcache *regs)
index 313d459cb3a32417904acec8afe09c3f9ec2d8a6..51d0203231f5af3db52c6365653128278f5ca6ec 100644 (file)
@@ -425,7 +425,7 @@ typedef buf_displaced_step_closure s390_displaced_step_closure;
 
 /* Implementation of gdbarch_displaced_step_copy_insn.  */
 
-static std::unique_ptr<displaced_step_closure>
+static displaced_step_closure_up
 s390_displaced_step_copy_insn (struct gdbarch *gdbarch,
                               CORE_ADDR from, CORE_ADDR to,
                               struct regcache *regs)