Patch from Kenneth Chen to fix brl disassembly.
authorJim Wilson <wilson@tuliptree.org>
Mon, 25 Nov 2002 19:59:29 +0000 (19:59 +0000)
committerJim Wilson <wilson@tuliptree.org>
Mon, 25 Nov 2002 19:59:29 +0000 (19:59 +0000)
* ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64.

opcodes/ChangeLog
opcodes/ia64-dis.c

index 502bb56fcb642e705059a3882f9b2bcb07c0f62c..9619c6d98bb356096eff65eb83329363caa61b7e 100644 (file)
@@ -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.
index f9add9177702361aaf630fa7b6064c45d1e1f0f8..4c63815289c380a79addef683d603ebc1528b8b5 100644 (file)
@@ -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
        {