Uniquefy gdb.threads/attach-into-signal.exp
[deliverable/binutils-gdb.git] / gdb / arm-tdep.c
index 4011de8c9aca8a2174883ec9c1c7304211edfb7e..a458c9a1d5dfaaabf80cfb68dafc6d38da9f2524 100644 (file)
@@ -4927,6 +4927,13 @@ arm_get_next_pc_raw (struct frame_info *frame, CORE_ADDR pc)
        case 0x5:               /* data transfer */
        case 0x6:
        case 0x7:
+         if (bits (this_instr, 25, 27) == 0x3 && bit (this_instr, 4) == 1)
+           {
+             /* Media instructions and architecturally undefined
+                instructions.  */
+             break;
+           }
+
          if (bit (this_instr, 20))
            {
              /* load */
@@ -9001,7 +9008,7 @@ arm_return_in_memory (struct gdbarch *gdbarch, struct type *type)
   int nRc;
   enum type_code code;
 
-  CHECK_TYPEDEF (type);
+  type = check_typedef (type);
 
   /* In the ARM ABI, "integer" like aggregate types are returned in
      registers.  For an aggregate type to be integer like, its size
@@ -9915,6 +9922,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   struct tdesc_arch_data *tdesc_data = NULL;
   int i, is_m = 0;
   int vfp_register_count = 0, have_vfp_pseudos = 0, have_neon_pseudos = 0;
+  int have_wmmx_registers = 0;
   int have_neon = 0;
   int have_fpa_registers = 1;
   const struct target_desc *tdesc = info.target_desc;
@@ -10178,6 +10186,8 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
              tdesc_data_cleanup (tdesc_data);
              return NULL;
            }
+
+         have_wmmx_registers = 1;
        }
 
       /* If we have a VFP unit, check whether the single precision registers
@@ -10289,6 +10299,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   tdep->fp_model = fp_model;
   tdep->is_m = is_m;
   tdep->have_fpa_registers = have_fpa_registers;
+  tdep->have_wmmx_registers = have_wmmx_registers;
   gdb_assert (vfp_register_count == 0
              || vfp_register_count == 16
              || vfp_register_count == 32);
This page took 0.03302 seconds and 4 git commands to generate.