* m32r-linux-nat.c (supply_gregset): Do not modify contents
authorUlrich Weigand <uweigand@de.ibm.com>
Sun, 6 May 2007 14:10:15 +0000 (14:10 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Sun, 6 May 2007 14:10:15 +0000 (14:10 +0000)
pointed to by GREGSETP.

gdb/ChangeLog
gdb/m32r-linux-nat.c

index bd8acfd..4190c4b 100644 (file)
@@ -1,5 +1,10 @@
 2007-05-06  Ulrich Weigand  <uweigand@de.ibm.com>
 
+       * m32r-linux-nat.c (supply_gregset): Do not modify contents
+       pointed to by GREGSETP.
+
+2007-05-06  Ulrich Weigand  <uweigand@de.ibm.com>
+
        * irix5-nat.c (fill_gregset): Use regcache_raw_collect instead
        of regcache_raw_read_signed.
        (fill_fpregset): Use regcache_raw_collect instead of
index 86b20bd..2b17aad 100644 (file)
@@ -80,19 +80,23 @@ supply_gregset (elf_gregset_t * gregsetp)
 
   for (i = 0; i < M32R_LINUX_NUM_REGS; i++)
     {
+      elf_greg_t regval;
+
       switch (i)
        {
        case PSW_REGNUM:
-         *(regp + regmap[i]) =
-           ((0x00c1 & bbpsw) << 8) | ((0xc100 & psw) >> 8);
+         regval = ((0x00c1 & bbpsw) << 8) | ((0xc100 & psw) >> 8);
          break;
        case CBR_REGNUM:
-         *(regp + regmap[i]) = ((psw >> 8) & 1);
+         regval = ((psw >> 8) & 1);
+         break;
+       default:
+         regval = *(regp + regmap[i]);
          break;
        }
 
       if (i != M32R_SP_REGNUM)
-       regcache_raw_supply (current_regcache, i, regp + regmap[i]);
+       regcache_raw_supply (current_regcache, i, &regval);
       else if (psw & 0x8000)
        regcache_raw_supply (current_regcache, i, regp + SPU_REGMAP);
       else