Correct disassembly of dot product instructions.
[deliverable/binutils-gdb.git] / gdb / spu-tdep.c
index ecdc7fc43974b8513983beba7d0c4f86b3cb983a..fb9a5d8730b81e7db3a9375f0c6be3563c943176 100644 (file)
@@ -1632,8 +1632,8 @@ spu_software_single_step (struct regcache *regcache)
   insn = extract_unsigned_integer (buf, 4, byte_order);
 
   /* Get local store limit.  */
-  lslr = regcache_raw_get_unsigned (regcache, SPU_LSLR_REGNUM);
-  if (!lslr)
+  if ((regcache_cooked_read_unsigned (regcache, SPU_LSLR_REGNUM, &lslr)
+       != REG_VALID) || !lslr)
     lslr = (ULONGEST) -1;
 
   /* Next sequential instruction is at PC + 4, except if the current
@@ -1653,7 +1653,10 @@ spu_software_single_step (struct regcache *regcache)
       if (reg == SPU_PC_REGNUM)
        target += SPUADDR_ADDR (pc);
       else if (reg != -1)
-       target += regcache_raw_get_unsigned (regcache, reg) & -4;
+      {
+       regcache_raw_read_part (regcache, reg, 0, 4, buf);
+       target += extract_unsigned_integer (buf, 4, byte_order) & -4;
+      }
 
       target = target & lslr;
       if (target != next_pc)
@@ -1912,7 +1915,6 @@ spu_overlay_new_objfile (struct objfile *objfile)
   /* Now go and fiddle with all the LMAs.  */
   ALL_OBJFILE_OSECTIONS (objfile, osect)
     {
-      bfd *obfd = objfile->obfd;
       asection *bsect = osect->the_bfd_section;
       int ndx = osect - objfile->sections;
 
This page took 0.025694 seconds and 4 git commands to generate.