gdb: Add aliases for read_core_file_mappings callbacks
[binutils-gdb.git] / gdb / microblaze-tdep.c
index edabe9eb5431c6474f340b3c65c8f66b3c7071fa..5309da58cc29168547fe871e16bfadd5bf97fbe6 100644 (file)
@@ -1,6 +1,6 @@
 /* Target-dependent code for Xilinx MicroBlaze.
 
-   Copyright (C) 2009-2020 Free Software Foundation, Inc.
+   Copyright (C) 2009-2021 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -302,7 +302,7 @@ microblaze_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc,
       else if (IS_SETUP_FP(op, ra, rb))
        {
          /* We have a frame pointer.  Note the register which is 
-             acting as the frame pointer.  */
+            acting as the frame pointer.  */
          flags |= MICROBLAZE_MY_FRAME_IN_FP;
          flags &= ~MICROBLAZE_MY_FRAME_IN_SP;
          cache->fp_regnum = rd;
@@ -478,9 +478,9 @@ microblaze_frame_prev_register (struct frame_info *this_frame,
   if (cache->frameless_p)
     {
       if (regnum == MICROBLAZE_PC_REGNUM)
-        regnum = 15;
+       regnum = 15;
       if (regnum == MICROBLAZE_SP_REGNUM)
-        regnum = 1;
+       regnum = 1;
       return trad_frame_get_prev_register (this_frame,
                                           cache->saved_regs, regnum);
     }
@@ -492,6 +492,7 @@ microblaze_frame_prev_register (struct frame_info *this_frame,
 
 static const struct frame_unwind microblaze_frame_unwind =
 {
+  "microblaze prologue",
   NORMAL_FRAME,
   default_frame_unwind_stop_reason,
   microblaze_frame_this_id,
@@ -638,20 +639,19 @@ static void
 microblaze_register_g_packet_guesses (struct gdbarch *gdbarch)
 {
   register_remote_g_packet_guess (gdbarch,
-                                  4 * MICROBLAZE_NUM_CORE_REGS,
-                                  tdesc_microblaze);
+                                 4 * MICROBLAZE_NUM_CORE_REGS,
+                                 tdesc_microblaze);
 
   register_remote_g_packet_guess (gdbarch,
-                                  4 * MICROBLAZE_NUM_REGS,
-                                  tdesc_microblaze_with_stack_protect);
+                                 4 * MICROBLAZE_NUM_REGS,
+                                 tdesc_microblaze_with_stack_protect);
 }
 
 static struct gdbarch *
 microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 {
-  struct gdbarch_tdep *tdep;
   struct gdbarch *gdbarch;
-  struct tdesc_arch_data *tdesc_data = NULL;
+  tdesc_arch_data_up tdesc_data;
   const struct target_desc *tdesc = info.target_desc;
 
   /* If there is already a candidate, use it.  */
@@ -669,37 +669,34 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
       int i;
 
       feature = tdesc_find_feature (tdesc,
-                                    "org.gnu.gdb.microblaze.core");
+                                   "org.gnu.gdb.microblaze.core");
       if (feature == NULL)
-        return NULL;
+       return NULL;
       tdesc_data = tdesc_data_alloc ();
 
       valid_p = 1;
       for (i = 0; i < MICROBLAZE_NUM_CORE_REGS; i++)
-        valid_p &= tdesc_numbered_register (feature, tdesc_data, i,
-                                            microblaze_register_names[i]);
+       valid_p &= tdesc_numbered_register (feature, tdesc_data.get (), i,
+                                           microblaze_register_names[i]);
       feature = tdesc_find_feature (tdesc,
-                                    "org.gnu.gdb.microblaze.stack-protect");
+                                   "org.gnu.gdb.microblaze.stack-protect");
       if (feature != NULL)
-        {
-          valid_p = 1;
-          valid_p &= tdesc_numbered_register (feature, tdesc_data,
-                                              MICROBLAZE_SLR_REGNUM,
-                                              "rslr");
-          valid_p &= tdesc_numbered_register (feature, tdesc_data,
-                                              MICROBLAZE_SHR_REGNUM,
-                                              "rshr");
-        }
+       {
+         valid_p = 1;
+         valid_p &= tdesc_numbered_register (feature, tdesc_data.get (),
+                                             MICROBLAZE_SLR_REGNUM,
+                                             "rslr");
+         valid_p &= tdesc_numbered_register (feature, tdesc_data.get (),
+                                             MICROBLAZE_SHR_REGNUM,
+                                             "rshr");
+       }
 
       if (!valid_p)
-        {
-          tdesc_data_cleanup (tdesc_data);
-          return NULL;
-        }
+       return NULL;
     }
 
   /* Allocate space for the new architecture.  */
-  tdep = XCNEW (struct gdbarch_tdep);
+  microblaze_gdbarch_tdep *tdep = new microblaze_gdbarch_tdep;
   gdbarch = gdbarch_alloc (&info, tdep);
 
   set_gdbarch_long_double_bit (gdbarch, 128);
@@ -748,7 +745,7 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   frame_unwind_append_unwinder (gdbarch, &microblaze_frame_unwind);
   frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
   if (tdesc_data != NULL)
-    tdesc_use_registers (gdbarch, tdesc, tdesc_data);
+    tdesc_use_registers (gdbarch, tdesc, std::move (tdesc_data));
 
   return gdbarch;
 }