[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: disassemble br.call.sptk.many
From: |
Jim Wilson |
Subject: |
Re: disassemble br.call.sptk.many |
Date: |
12 May 2004 20:02:59 -0700 |
On Mon, 2004-05-10 at 19:55, Hyesoon Kim wrote:
> ia64_opcode* inst_info = ia64_dis_opcode( 137439006720,
> (ia64_insn_type)4);
That is 0x200000d000 which is not a valid instruction encoding for an
Itanium instruction. See the ASDM Vol3. The correct encoding for
br.call.sptk.many b6=b0 is 0x210000d000.
> But this instruction is correctly disassembled in binutils.2.12
binutils-2.12 is ancient history for the Itanium support. This was
probably one of the earliest binutils versions to include Itanium
support, and the early versions of this code had a lot of bugs.
This was one of the bugs. Indirect branches encode the wh field
differently than other branches, and we got this wrong in the original
port. This was fixed July 17, 2002 in the mainline binutils sources.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com