summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2007-05-18 01:32:58 +0000
committerAlan Modra <amodra@bigpond.net.au>2007-05-18 01:32:58 +0000
commit09e535203a956c63fce1043e508129dc2fe5fa01 (patch)
tree7c427e6291edee0680a7b8b7552aaaa008a3def4
parent08308b251525c31d6f65390c87d1edf7e3757cb7 (diff)
downloadgdb-09e535203a956c63fce1043e508129dc2fe5fa01.tar.gz
* ppc-dis.c (print_insn_powerpc): Don't skip all operands
after setting skip_optional.
-rw-r--r--opcodes/ChangeLog11
-rw-r--r--opcodes/ppc-dis.c14
2 files changed, 16 insertions, 9 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 56340964302..01d4cd40d71 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2007-05-18 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-dis.c (print_insn_powerpc): Don't skip all operands
+ after setting skip_optional.
+
2007-05-16 Peter Bergner <bergner@vnet.ibm.com>
* ppc-dis.c (operand_value_powerpc, skip_optional_operands): New.
@@ -67,10 +72,10 @@
support Intel mode.
2007-04-30 Mark Salter <msalter@redhat.com>
-
+
* frv-desc.c: Regenerate.
* frv-desc.h: Regenerate.
-
+
2007-04-30 Alan Modra <amodra@bigpond.net.au>
PR 4436
@@ -127,7 +132,7 @@
* arm-dis.c (arm_opcodes): Disassemble to unified syntax.
(thumb_opcodes): Add missing white space in adr.
- (arm_decode_shift): New parameter, print_shift. Only decode the
+ (arm_decode_shift): New parameter, print_shift. Only decode the
shift parameter if set. Adjust callers.
(print_insn_arm): Support for operand type q with no shift decode.
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 295b04d8e95..2545a36f21a 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -271,12 +271,14 @@ print_insn_powerpc (bfd_vma memaddr,
/* If all of the optional operands have the value zero,
then don't print any of them. */
- if (skip_optional < 0
- && (operand->flags & PPC_OPERAND_OPTIONAL) != 0)
- skip_optional = skip_optional_operands (opindex, insn, dialect);
-
- if (skip_optional > 0)
- continue;
+ if ((operand->flags & PPC_OPERAND_OPTIONAL) != 0)
+ {
+ if (skip_optional < 0)
+ skip_optional = skip_optional_operands (opindex, insn,
+ dialect);
+ if (skip_optional)
+ continue;
+ }
value = operand_value_powerpc (operand, insn, dialect);