Blob Blame History Raw
commit de6784544abc97d5e396cb1e83eda1ae09f63d40
Author: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Date:   Thu Sep 22 11:33:56 2016 -0300

    Fix build breakage from commit 6ec2b2
    
    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.

### a/gdb/ChangeLog
### b/gdb/ChangeLog
## -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).
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -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 */