aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-05-18 01:32:58 +0000
committerAlan Modra <amodra@gmail.com>2007-05-18 01:32:58 +0000
commit65b650b4c7463f4508bed523c24ab0031a5ae5cd (patch)
tree7e4cbf3984cfec34faf721c00474d071e8add171
parent26079076f561da43bcdddf0eaec32211fec765a7 (diff)
downloadgdb-65b650b4c7463f4508bed523c24ab0031a5ae5cd.zip
gdb-65b650b4c7463f4508bed523c24ab0031a5ae5cd.tar.gz
gdb-65b650b4c7463f4508bed523c24ab0031a5ae5cd.tar.bz2
* 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 5634096..01d4cd4 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 295b04d..2545a36 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);