diff options
Diffstat (limited to 'opcodes/arm-dis.c')
-rw-r--r-- | opcodes/arm-dis.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 3dfbf5c..b8d02e5 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -1910,8 +1910,12 @@ print_insn_coprocessor (bfd_vma pc, if (rn == 15 && (PRE_BIT_SET || WRITEBACK_BIT_SET)) { func (stream, "\t; "); - info->print_address_func (offset + pc - + info->bytes_per_chunk * 2, info); + /* For unaligned PCs, apply off-by-alignment + correction. */ + info->print_address_func (offset + pc + + info->bytes_per_chunk * 2 + - (pc & 3), + info); } } break; |