[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
disassemble br.call.sptk.many
From: |
Hyesoon Kim |
Subject: |
disassemble br.call.sptk.many |
Date: |
Tue, 11 May 2004 00:36:13 -0500 |
User-agent: |
Mutt/1.4.1i |
Hello,
I'm trying to use binutils.2.14 in an IA-32 machine.
I found that indirect call is disassembled incorrectly.
I tested ia64_dis_opcode function for the indirect call.
Here is my test code
ia64_opcode* inst_info = ia64_dis_opcode( 137439006720,
(ia64_insn_type)4);
the result is NULL pointer.
But this instruction is correctly disassembled in binutils.2.12
Here is the output of objdump and the version of objdump is
(GNU objdump 2.12.90.0.1 20020307 Debian/GNU Linux)
4000000000022290: 1d 00 00 00 01 00 [MFB] nop.m 0x0
4000000000022296: 00 00 00 02 00 00 nop.f 0x0
400000000002229c: 68 00 00 10 br.call.sptk.many
b0=b6;;
When I tried the same function with binutils.2.12
it returns the correct inst_info pointer.
2.12 results
inst_info.name : br.call.sptk.many insn_opcode: 137439006720
so it looks like between 2.12 and 2.14 this indirect call is changed.
I'm wondering there is an easy way to fix this problem (since we already
modified version 2.14 for some other purpose).
Thank you for your time
Regards,
Hyesoon