diff options
author | Alan Modra <amodra@bigpond.net.au> | 2007-05-18 01:32:58 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2007-05-18 01:32:58 +0000 |
commit | 09e535203a956c63fce1043e508129dc2fe5fa01 (patch) | |
tree | 7c427e6291edee0680a7b8b7552aaaa008a3def4 | |
parent | 08308b251525c31d6f65390c87d1edf7e3757cb7 (diff) | |
download | gdb-09e535203a956c63fce1043e508129dc2fe5fa01.tar.gz |
* ppc-dis.c (print_insn_powerpc): Don't skip all operands
after setting skip_optional.
-rw-r--r-- | opcodes/ChangeLog | 11 | ||||
-rw-r--r-- | opcodes/ppc-dis.c | 14 |
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); |