Fix build breakage from commit 6ec2b2
authorEdjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Thu, 22 Sep 2016 14:33:56 +0000 (11:33 -0300)
committerEdjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Thu, 22 Sep 2016 14:36:37 +0000 (11:36 -0300)
I was notified by buildbot that my patch (commit 6ec2b2) has broken the build
on x86_64:

../../binutils-gdb/gdb/rs6000-tdep.c: In function int ppc_process_record_op31(gdbarch*, regcache*, CORE_ADDR, uint32_t):
../../binutils-gdb/gdb/rs6000-tdep.c:4705:50: error: cannot convert CORE_ADDR* {aka long unsigned int*} to ULONGEST* {aka long long unsigned int*} for argument 3 to register_status regcache_raw_read_unsigned(regcache*, int, ULONGEST*)
         tdep->ppc_gp0_regnum + PPC_RA (insn), &ea);
                                                  ^
../../binutils-gdb/gdb/rs6000-tdep.c:4718:50: error: cannot convert CORE_ADDR* {aka long unsigned int*} to ULONGEST* {aka long long unsigned int*} for argument 3 to register_status regcache_raw_read_unsigned(regcache*, int, ULONGEST*)
         tdep->ppc_gp0_regnum + PPC_RA (insn), &ea);
                                                  ^
The patch below should fix it.

gdb/ChangeLog:
2016-09-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>

* rs6000-tdep.c (ppc_process_record_op31): Fix
regcache_raw_read_unsigned call using the correct parameter type.

gdb/ChangeLog
gdb/rs6000-tdep.c

index 8215c41..ea14f04 100644 (file)
@@ -1,3 +1,8 @@
+2016-09-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
+
+       * rs6000-tdep.c (ppc_process_record_op31): Fix
+       regcache_raw_read_unsigned call using the correct parameter type.
+
 2016-09-22  Anton Kolesov  <anton.kolesov@synopsys.com>
 
        * arc-tdep.c: Fix ARI warning for printf(%p).
index 1add498..ca4d668 100644 (file)
@@ -4700,9 +4700,11 @@ ppc_process_record_op31 (struct gdbarch *gdbarch, struct regcache *regcache,
 
     case 397:          /* Store VSX Vector with Length */
     case 429:          /* Store VSX Vector Left-justified with Length */
+      ra = 0;
       if (PPC_RA (insn) != 0)
        regcache_raw_read_unsigned (regcache,
-                                   tdep->ppc_gp0_regnum + PPC_RA (insn), &ea);
+                                   tdep->ppc_gp0_regnum + PPC_RA (insn), &ra);
+      ea = ra;
       regcache_raw_read_unsigned (regcache,
                                  tdep->ppc_gp0_regnum + PPC_RB (insn), &rb);
       /* Store up to 16 bytes.  */
@@ -4713,9 +4715,11 @@ ppc_process_record_op31 (struct gdbarch *gdbarch, struct regcache *regcache,
 
     case 710:          /* Store Word Atomic */
     case 742:          /* Store Doubleword Atomic */
+      ra = 0;
       if (PPC_RA (insn) != 0)
        regcache_raw_read_unsigned (regcache,
-                                   tdep->ppc_gp0_regnum + PPC_RA (insn), &ea);
+                                   tdep->ppc_gp0_regnum + PPC_RA (insn), &ra);
+      ea = ra;
       switch (ext)
        {
        case 710:       /* Store Word Atomic */