MIPS16/opcodes: Keep the LSB of PC-relative offsets in disassembly
authorMaciej W. Rozycki <macro@imgtec.com>
Tue, 2 May 2017 10:53:30 +0000 (11:53 +0100)
committerMaciej W. Rozycki <macro@imgtec.com>
Tue, 2 May 2017 10:58:44 +0000 (11:58 +0100)
commita4ddc54ec1cd187c844ca631fe0315bf1d78e96f
treed13d98c24eb7b60d6203e0adb8bc6edf50b9519c
parent39ff1b79f687b65f4144ddb379f22587003443fb
MIPS16/opcodes: Keep the LSB of PC-relative offsets in disassembly

Correct the disassembly of the PC-relative immediate argument of the
MIPS16 synthetic LA, LW, DLA and LD instructions and do not mask the
LSB, which in this case is a part of the data address rather than the
ISA bit and has to be fully presented.

opcodes/
* mips-dis.c (print_insn_arg): Only clear the ISA bit for jumps
and branches and not synthetic data instructions.

binutils/
* testsuite/binutils-all/mips/mips16-undecoded.d: Adjust the
disassembly of PC-relative LA and LW synthetic instructions.
binutils/ChangeLog
binutils/testsuite/binutils-all/mips/mips16-undecoded.d
opcodes/ChangeLog
opcodes/mips-dis.c