From: Carl Love Date: Fri, 8 Oct 2021 22:54:05 +0000 (+0000) Subject: PPC fix for stfiwx instruction (and additional stores with primary opcode of 31) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1284c2264cca5c848e2f9622ea53e42c97e4e838;p=binutils-gdb.git PPC fix for stfiwx instruction (and additional stores with primary opcode of 31) [gdb] Fix address being recorded in rs6000-tdep.c, ppc_process_record_op31. The GDB record function was recording the variable addr that was passed in rather than the calculated effective address (ea) by the ppc_process_record_op31 function. --- diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 826f0266ed8..9c2bfca3e9c 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -4993,20 +4993,20 @@ ppc_process_record_op31 (struct gdbarch *gdbarch, struct regcache *regcache, switch (ext) { case 167: /* Store Vector Element Halfword Indexed */ - addr = addr & ~0x1ULL; + ea = ea & ~0x1ULL; break; case 199: /* Store Vector Element Word Indexed */ - addr = addr & ~0x3ULL; + ea = ea & ~0x3ULL; break; case 231: /* Store Vector Indexed */ case 487: /* Store Vector Indexed LRU */ - addr = addr & ~0xfULL; + ea = ea & ~0xfULL; break; } - record_full_arch_list_add_mem (addr, size); + record_full_arch_list_add_mem (ea, size); return 0; case 397: /* Store VSX Vector with Length */