aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@tuliptree.org>2002-11-25 19:59:29 +0000
committerJim Wilson <wilson@tuliptree.org>2002-11-25 19:59:29 +0000
commit97dd3f185654dbc1a8e95b04e44b6af828d16e1b (patch)
tree17455648a5d1b4ceace67f59bb94e62a2199aa80
parentf1c8a9492e9687ee6b824de5463105b7db8c1d7b (diff)
downloadgdb-97dd3f185654dbc1a8e95b04e44b6af828d16e1b.zip
gdb-97dd3f185654dbc1a8e95b04e44b6af828d16e1b.tar.gz
gdb-97dd3f185654dbc1a8e95b04e44b6af828d16e1b.tar.bz2
Patch from Kenneth Chen to fix brl disassembly.
* ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64.
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/ia64-dis.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 502bb56..9619c6d 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2002-11-25 Jim Wilson <wilson@redhat.com>
+
+ * ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64.
+
2002-11-15 DJ Delorie <dj@redhat.com>
* xstormy16-desc.c: Regenerate.
diff --git a/opcodes/ia64-dis.c b/opcodes/ia64-dis.c
index f9add91..4c63815 100644
--- a/opcodes/ia64-dis.c
+++ b/opcodes/ia64-dis.c
@@ -167,10 +167,10 @@ print_insn_ia64 (bfd_vma memaddr, struct disassemble_info *info)
}
else if (odesc - elf64_ia64_operands == IA64_OPND_TGT64)
{
- /* 60-bit immedate for long branches. */
+ /* 60-bit immediate for long branches. */
value = (((insn >> 13) & 0xfffff)
| (((insn >> 36) & 1) << 59)
- | (slot[1] << 20)) << 4;
+ | (((slot[1] >> 2) & 0x7fffffffffLL) << 20)) << 4;
}
else
{