diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 02a9350ad1..4be801e71d 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2011-02-09 Michael Snyder + + * i386-dis.c (OP_J): Parenthesize expression to prevent + truncated addresses. + (print_insn): Fix indentation off-by-one. + 2011-02-01 Nick Clifton * po/da.po: Updated Danish translation. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index c9dd17a45f..9834098ea5 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1,6 +1,6 @@ /* Print i386 instructions for GDB, the GNU debugger. Copyright 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of the GNU opcodes library. @@ -11702,9 +11702,9 @@ print_insn (bfd_vma pc, disassemble_info *info) modrm.rm = *codep & 7; } - need_vex = 0; - need_vex_reg = 0; - vex_w_done = 0; + need_vex = 0; + need_vex_reg = 0; + vex_w_done = 0; if (dp->name == NULL && dp->op[0].bytemode == FLOATCODE) { @@ -13817,7 +13817,7 @@ OP_J (int bytemode, int sizeflag) oappend (INTERNAL_DISASSEMBLER_ERROR); return; } - disp = ((start_pc + codep - start_codep + disp) & mask) | segment; + disp = ((start_pc + (codep - start_codep) + disp) & mask) | segment; set_op (disp, 0); print_operand_value (scratchbuf, 1, disp); oappend (scratchbuf);