From: Nick Clifton Date: Fri, 4 Jun 1999 07:14:10 +0000 (+0000) Subject: Make LDRH/LDRB consistent with LDR when target is PC-relative X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=886796f9fafcfd676a03b35b3b07ab2c94efb43d;p=binutils-gdb.git Make LDRH/LDRB consistent with LDR when target is PC-relative --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index d4f808033e9..3f7b96692c4 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +1999-06-03 Philip Blundell + + * arm-dis.c (print_insn_arm): Make LDRH/LDRB consistent with LDR + when target is PC-relative. + 1999-05-28 Linus Nordberg * m68k-opc.c: Rename MACL/MSACL to MAC/MSAC. Add MACM/MSACM. Add diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 4aabf7286bc..5bc1350eb41 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -195,8 +195,12 @@ print_insn_arm (pc, info, given) { /* PC relative with immediate offset */ int offset = ((given & 0xf00) >> 4) | (given & 0xf); + if ((given & 0x00800000) == 0) offset = -offset; + + func (stream, "[pc, #%x]\t; ", offset); + (*info->print_address_func) (offset + pc + 8, info); }